步驟一:配置新內核
1.make s3c2410_defconfig ARCH=arm CROSS_COMPILE=arm-linux-
或修改Makefile 在頂級makefile 查找ARCH,CROSS_CIMPILE 並修改
ARCH=arm
CROSS_COMPILE=arm-linux-
步驟2:編譯新內核
make uImage ARCH=arm CROSS_COMPILE=arm-linux- 或者 make uImage
問題1:
/opt/arm9/FriendlyARM/toolschain/4.4.3/bin/../libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
解決辦法:
sudo apt-get install libstdc++6 lib32stdc++6
問題2:
opt/arm9/FriendlyARM/toolschain/4.4.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.3/../../../../arm-none-linux-gnueabi/bin/as: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
解決辦法:
sudo apt-get install lib32z1
問題3:
"mkimage" command not found - U-Boot images will not be built
make[1]: *** [arch/arm/boot/uImage] 錯誤 1
make: *** [uImage] 錯誤 2
解決辦法:缺少命令mkimage
編譯uboot 後產生mkimage並將其複製到
sudo cp uboot/tools/mkimage /usr/local/bin/ -rf即可
最後產生內核文件uImage
Kernel: arch/arm/boot/Image is ready
Kernel: arch/arm/boot/zImage is ready
UIMAGE arch/arm/boot/uImage
Image Name: Linux-3.4.2
Created: Fri Jan 18 23:33:30 2019
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2389056 Bytes = 2333.06 kB = 2.28 MB
Load Address: 0x30108000
Entry Point: 0x30108000
Image arch/arm/boot/uImage is ready
問題3:將新編譯的內核少些到開發板之後啓動開發板顯示亂碼
原因1:波特率設置有問題;原因2: 晶振頻率設置有問題
原因3:
解決辦法:波特率設置嗎晶振頻率設置
bootargs=root=/dev/nfs rw console=ttySAC,115200 init=/linuxrc nfsroot=192.168.100.2:/home/wzb/nfsdir/rootfs ip=192.168.100.12:192.168.100.2:192.168.100.1:255.255.255.0::eth0:off
問題4:
解決辦法:需要修改分區