最近开始学习嵌入式linux,开发板买的时JZ2440,按教程,使用给的3.4.5版本的arm-linux-gcc编译linux 2.6.22.6是没有问题的。在尝试用最新的cross_compile出现了许多问题,最新的交叉编译是直接在ubuntu 上安装的,使用
sudo apt install gcc-arm-linux-gnueabi
安装完了之后先给CROSS_COMPILE赋值
sudo nano ~/.bashrc
在打开的文件里,在最后一行加上
export CROSS_COMPILE=arm-linux-gnueabi-
然后再
. ~/.bashrc
把CROSS_COMPILE永久赋值。
按教程,解压linux-2.6.22.6后,进入文件目录,然后打补丁,然后复制config_ok为.config后,要改四个文件:
第一个是根目录的Makefile:
有两个地方要修改
首先是416行的代码:
config %config: scripts_basic outputmakefile FORCE
$(Q)mkdir -p include/linux include/config
$(Q)$(MAKE)