====== カーネルのビルド ====== MA-E4xx シリーズ用のカーネルは、[[https://github.com/centurysys/linux-kernel-MAE/tree/MA-E4xx/linux-4.4.y|GitHub のリポジトリ]] で公開しています。 {{:mae4xx_devel:build_kernel:github_repos_01.png?800|GitHub}} \\ MA-E3xx と同じく git で管理されていますので、git パッケージの導入が必要です。\\ 参考: [[mae3xx_devel:build_kernel:start|[MA-E3xx] カーネルのビルド]] \\ ===== カーネルのビルド ===== ==== clone と checkout ==== [[mae3xx_devel:build_kernel:start|[MA-E3xx] カーネルのビルド]] を参考に、リポジトリの clone, checkout まで済ませておきます。 kikuchi@develop:~/work$ git clone https://github.com/centurysys/linux-kernel-MAE.git Cloning into 'linux-kernel-MAE'... remote: Counting objects: 5857742, done. remote: Compressing objects: 100% (3297/3297), done. remote: Total 5857742 (delta 6079), reused 7155 (delta 5711), pack-reused 5848715 Receiving objects: 100% (5857742/5857742), 1.25 GiB | 8.48 MiB/s, done. Resolving deltas: 100% (4945210/4945210), done. Checking connectivity... done. Checking out files: 100% (46095/46095), done. kikuchi@develop:~/work$ cd linux-kernel-MAE/ kikuchi@develop:~/work/linux-kernel-MAE$ git checkout MA-E4xx/linux-4.4.y Checking out files: 100% (39647/39647), done. Branch MA-E4xx/linux-4.4.y set up to track remote branch MA-E4xx/linux-4.4.y from origin. Switched to a new branch 'MA-E4xx/linux-4.4.y' kikuchi@develop:~/work/linux-kernel-MAE$ \\ ==== configure ==== デフォルトの config をロードします。 kikuchi@develop:~/work/linux-kernel-MAE$ make kumquat_MA_defconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf net/sched/Kconfig:44: warning: menuconfig statement without prompt # # configuration written to .config # kikuchi@develop:~/work/linux-kernel-MAE$ \\ ==== build ==== config がこのままでよければ、build を行います。 kikuchi@develop:~/work/linux-kernel-MAE$ make CROSS_COMPILE=arm-linux-gnueabihf- -j16 CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h make[1]: 'include/generated/mach-types.h' is up to date. CHK include/generated/timeconst.h CHK include/generated/bounds.h CHK include/generated/asm-offsets.h CALL scripts/checksyscalls.sh CHK include/generated/compile.h ... 中略 ... LD [M] net/netfilter/xt_time.ko LD [M] net/netfilter/xt_u32.ko LD [M] net/xfrm/xfrm_ipcomp.ko LD [M] sound/core/seq/snd-seq-midi.ko LD [M] sound/core/snd-rawmidi.ko LD [M] sound/usb/snd-usb-audio.ko LD [M] sound/usb/snd-usbmidi-lib.ko AS arch/arm/boot/compressed/piggy.xzkern.o LD arch/arm/boot/compressed/vmlinux OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is ready kikuchi@develop:~/work/linux-kernel-MAE$ \\ uImage 形式のカーネルイメージを作成します。 kikuchi@develop:~/work/linux-kernel-MAE$ make CROSS_COMPILE=arm-linux-gnueabihf- -j16 uImage CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h make[1]: 'include/generated/mach-types.h' is up to date. CHK include/generated/timeconst.h CHK include/generated/bounds.h CHK include/generated/asm-offsets.h CALL scripts/checksyscalls.sh CHK include/generated/compile.h CHK kernel/config_data.h Kernel: arch/arm/boot/Image is ready Kernel: arch/arm/boot/Image is ready Kernel: arch/arm/boot/zImage is ready Kernel: arch/arm/boot/Image is ready Kernel: arch/arm/boot/zImage is ready UIMAGE arch/arm/boot/uImage Image Name: Linux-4.4.30 Created: Thu Mar 15 15:27:16 2018 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3648072 Bytes = 3562.57 kB = 3.48 MB Load Address: 42208000 Entry Point: 42208000 Image arch/arm/boot/uImage is ready kikuchi@develop:~/work/linux-kernel-MAE$ \\