解压uboot源码:
[src]$ tar -xvf uboot6818.tar.bz2
[src]$ cd uboot
[uboot]$ make x6818_config
[uboot]$ vim include/configs/x6818.h
141 #define CONFIG_SYS_PROMPT "[uplooking@Uboot]# "
交叉编译工具链:
arm-eabi-gcc
arm-eabi-ld
arm-eabi-as
arm-eabi-objdump
arm-eabi-objcopy
arm-eabi-nm
配置交叉编译工具链:
[uboot]$ vim Makefile
203 CROSS_COMPILE=/home/zyli/6818/s5p6818sdk_lzy1/Linux/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-
[uboot]$ vim board/s5p6818/x6818/config.mk
27 CROSS_COMPILE=/home/zyli/6818/s5p6818sdk_lzy1/Linux/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-
编译:
[uboot]$ make -j4
[uboot]$ sudo cp tools/mkimage /usr/bin
####
u-boot-->u-boot.bin-->ubootpak.bin
####
kernel
[src]$ tar -xvf linux-3.4.tar.bz2
[src]$ cd kernel/
[kernel]$ make x6818_defconfig
[kernel]$ vim Makefile
195 ARCH ?= arm
196 CROSS_COMPILE ?= /home/zyli/6818/s5p6818sdk_lzy1/Linux/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-
[kernel]$ make -j4
#####
vmlinux--->arch/arm/boot/zImage----uImage
uboot要求在zImage前面加一个头[arm Linux]zImage
#####
##制作uImage:
[kernel]$ make uImage
##制作boot.img:
[tools]$ tar -xvf boot.tar.bz2
[tools]$ cd boot
##删掉和Linux系统无关的文件
[boot]$ rm debug-ramdisk.img ramdisk-recovery.img root.img.gz
##用我们自己的内核替换原来的内核
[boot]$ cp ../../src/kernel/arch/arm/boot/uImage ./
[boot]$ cd ..
##制作镜像文件
[tools]$ ./make_ext4fs -s -l 64M -L linux boot.img boot
rootfs
#####
根文件系统:硬盘一个分区 /
abc dev initrd.img.old libx32 nfsroot run
bin etc lib lost+found opt sbin
boot home lib32 media proc snap
cdrom initrd.img lib64 mnt root srv
Busybox:工具集---->命令
buildroot:busybox qt5 python go mplayer mpg123
#####
[src]$ tar -xvf buildroot.tar.bz2
[src]$ cd buildroot/
[buildroot]$ make x6818_defconfig
[buildroot]$ make -j4
如果出错:去掉注释。[buildroot]$ vim output/build/host-ncurses-5.9/include/curses.tail
104 extern NCURSES_EXPORT(bool) mouse_trafo (int*, int*, bool);
[buildroot]$ make -j4
编译完成后:buildroot/output/images/rootfs.ext2
经过编译:ubootpak.bin boot.img rootfs.ext2