원문 : https://docs.google.com/a/crz-tech.com/document/d/1k2dd8Nj-oDrdmq7A1apNQJ71cL-U3rfLpA_iPxWOCVc/edit
1. Initializing a Build Environment
https://docs.google.com/document/d/1PyAQZwv_Gu3_1fPWhqHRWuoMye3HHes6AgLTlGfHL7s/edit
2. Build U-boot
NAND Booting 용 u-boot
$ tar jxvf u-boot-1.3.4-mango2450-20120615.tar.bz2 $ cd u-boot-1.3.4-mango2450 $ vi include/configs/mango2450.h ... 331 /* Boot configuration (define only one of next) */ 332 //#define CONFIG_BOOT_MOVINAND 333 #define CONFIG_BOOT_NAND ... $ export PATH=/opt/arm-2010q1/bin:$PATH $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- distclean $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- mango2450_config $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- $ cp u-boot.bin u-boot.bin-nand |
SD Booting 용 u-boot
$ vi include/configs/mango2450.h ... 331 /* Boot configuration (define only one of next) */ 332 #define CONFIG_BOOT_MOVINAND 333 //#define CONFIG_BOOT_NAND ... $ export PATH=/opt/arm-2010q1/bin:$PATH $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- distclean $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- mango2450_config $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- $ cp u-boot.bin u-boot.bin-sdmmc |
3. Kernel build
$ cp mango2450_config .config $ make menuconfig ARCH=arm #종료시 저장합니다 $ ./build_kernel.sh $ cp arch/arm/boot/zImage zImage-mango2450 |
“make menuconfig” 에러 발생 시
menubox.c:(.text+0x4d4): undefined reference to `wrefresh' collect2: ld returned 1 exit status make[1]: *** [scripts/kconfig/mconf] Error 1 make: *** [menuconfig] Error 2 |
$ sudo apt-get install libncurses5-dev |
4. Filesystem build (Buildroot)
$ tar jxvf buildroot-mango2450.tar.bz2 $ cd buildroot-2012.05 $ make distclean $ cp mango2450.config .config $ make $ ls output/images rootfs.tar |
내용