系统由uboot、内核、文件系统三个部分组成,完整体验过程就是对三个部分分别进行打补丁、编译和烧写。另外体验简单驱动和网络文件系统使用。
使用的虚拟机是Ubuntu18.04,arm-linux-gcc等工具用的现成的,把目录加入环境变量就可用,需要装一些32位库
sudo apt install lib32ncurses5
1.U-Boot编译
tar xjf u-boot-1.1.6.tar.bz2
cd u-boot-1.1.6
patch -p1 < ../u-boot-1.1.6_jz2440.patch //-p1 表示忽略第一级目录
make 100ask24x0_config
make
2.uImage编译
tar xjf linux-2.6.22.6.tar.bz2
cd linux-2.6.22.6
patch -p1 < ../linux-2.6.22.6_jz2440.patch
mv ../4.3寸LCD_mach-smdk2440.c arch/arm/mach-s3c2440/mach-smdk2440.c //替换4.3寸源码
cp config_ok .config
make uImage //在arch/arm/boot目录下生成uImage
编译linux2.6.22.6出错:mixed implicit and normal rules: deprecated syntax
- 系统的make工具太新,需要修改如下两行:
#416行前面加个%: %config %config: scripts_basic outputmakefile FORCE #1449 行去掉前面的/ : %/: prepare scripts FORCE - 编译后没有uImage文件: 需要在u-boot-1.1.6目录下执行
make

本文详细介绍了嵌入式系统的基础学习,涵盖了从U-Boot到uImage的编译过程,以及文件系统的制作。在Ubuntu18.04虚拟机环境下,针对编译过程中遇到的问题进行了说明,如解决make工具语法警告,以及如何处理编译后未生成uImage的情况。此外,文章还涉及了驱动的简单介绍和nfs网络文件系统的挂载。
最低0.47元/天 解锁文章
316

被折叠的 条评论
为什么被折叠?



