所以我建议各位如果你使用的是64位的Ubuntu系统,那就安装64位的arm-linux-gcc交叉编译器,直接安装就能成功:
例如:arm-linux-gcc-4.6.4-arm-x86_64.tar.bz2
下载地址:https://pan.baidu.com/s/1xuh8M8bQHfZt_w6h4vRKeg
提取码:uk85
sudo apt-get install gcc-arm-linux-gnueabihf
打开环境配置脚本:/etc/profile
使用命令:source /etc/profile 使环境变量生效
在终端上输入命令 arm-linux 再按Tab键,可以看到下图,说明环境变量设置成功了
arm-none-linux-gnueabi-gcc: not found
安装32位库的正确命令是:sudo apt-get install libc6-i386
sudo apt-get install ia32-libs
运行./arm-none-eabi-gcc时会报错
sudo apt-get install lib32stdc++6*
sudo apt-get install lib32z1*
sudo apt-get install lib32ncurses5 lib32z1
#apt-get update更新数据源
$sudo apt-get install build-essential kernel-package libncurses5-dev
libncurses5-dev是为之后配置内核能运行 make menuconfig程序做准备
Build-essential为编译工具,kernel-package是编译内核工具
配置内核 make menuconfig
编译内核 make uImage(复制内核文件到tftp目录)
编译设备树 make dtbs(复制对应设备树文件到tftp目录)
make uImage -j4 LOADADDR=0x30008000
2.make menuconfig出现 'make menuconfig' requires the ncurses libraries.
sudo apt-get install ncurses-dev
解决方法:
sudo apt-get install u-boot-tools
2,
garbage following instruction - 'dmb ish'
发现是交叉编译器的问题,可能是版本太低。然后就按照网上的说法安装新版本工具链:
sudo apt-get install gcc-arm-linux-gnueabi
arch/arm/boot/uImage: u-boot legacy uImage, Linux-3.16.57, Linux/ARM, OS Kernel Image (Not compressed), 2704456 bytes, Thu Dec 16 04:28:35 2021, Load Address: 0x30008000, Entry Point: 0x30008000, Header CRC: 0xD8E1C65A, Data CRC: 0xE4DA3E64