一、首先需要下载两套交叉工具链,由于我们在制作根文件系统、以及APP的时候可能还需要使用比较老的交叉工具链,因此需要下载这两套交叉工具链:
1 arm-linux-gcc-4.3.2.tar.bz2 gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi-zhuangzebin.tar.xz
1.1 设置交叉工具链的环境:
1 sudo tar -xvf arm-linux-gcc-4.3.2.tar.bz2 -C /
2 tar -xvf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi-zhuangzebin.tar.xz -C /work/system/ 自己创建对应的目录
3 切换这两套交叉工具链的方法,在使用的时候设置环境变量
4 export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin/:/usr/local/arm/4.3.2/bin/
5 export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin/:/work/system/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi/bin/
2、编译uboot
1 export PATH=$PATH:/usr/local/arm/4.3.2/bin/ 切换交叉工具链
2 tar -xvf u-boot-1.1.6.tar.bz2
3 patch -p1 < u-boot-1.1.6_device_tree_for_jz2440.patch 合入100sk的patch
4 make 100ask24x0_config
5 make
3、编译kernel
1 export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin/:/work/system/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi/bin/ 切换交叉工具链
2 tar -xvf linux-4.19-rc3.tar.gz
3 cp config_ok .config
4 make uImage -j4 && make dtbs
编译过程中报了如下的错误:
![](https://i-blog.csdnimg.cn/blog_migrate/f6fb53971f5c74aceedd2446b269428f.png)
解决办法安装如下工具:
1 sudo apt-get install libssl-dev u-boot-tools
编译okay的结果:
![](https://i-blog.csdnimg.cn/blog_migrate/d282a880ebf11e527ad67c4b774d833a.png)
4、烧录
4.1 将开发板设置成NOR FLASH启动,上电,串口端会有如下的输出信息:
![](https://i-blog.csdnimg.cn/blog_migrate/fdb9f6840a82ba8208f9f34a91303016.png)
4.2 接上Open JTAG,运行lsusb会有如下输出,证明可以识别到开发板
![](https://i-blog.csdnimg.cn/blog_migrate/698965613e0ac1ca649845054160b3f5.png)
4.3 在系统启动的时候,进行倒计时的时候,在串口快速按下空格,会出现如下的界面,k,下载内核,t下载对应的设备树,n更新uboot,y下载yaffs根文件系统.
觉得不错,就给我点小支持吧