问题:开始学习韦东山老师的[JZ2440]视频时,视频上配套的是win7 64位系统+ubuntu-16.04.2-x64-100ask,而自己在实验室配置硬件环境的时候机房的电脑是32位的win7系统(64位兼容32位,但32位无法兼容64位),估计很多人已经不用32位系统了,现有网上关于介绍JZ2440在32位系统配置开发环境的人已经不多了,自己在韦东山老师给的配套的百度云文件中找到了32位系统的虚拟机服务器的配置方式,在此记录,以备后用。
首先,对于32位系统,文档上说用 VMware v10.x版的虚拟机,但本人试用了VMware 12暂时没有发现什么问题。需要ubuntu 9.10的系统。(ubuntu系统由韦老师的百度云文件提供)
内核编译:
内核编译过程与64位ubuntu的编译过程类似,具体视频见韦老师百度云文件,文件路径为:006_韦东山Linux_第1期视频_裸板u-boot内核文件系统驱动入门(全部免费)\旧版1期_裸机_uboot内核分析_初级驱动(2440版,免费)\视频\5_内核启动流程分析_看完uboot看
所编译的内核版本为linux-2.6.22.6,对应的补丁包为:linux-2.6.22.6_jz2440.patch
上面内核文件和布丁都放在ubuntu的/work/system路径下。
第一步:在ubuntu路径:/work/system下解压缩
book@book-desktop:/work/system$ tar xjf linux-2.6.22.6.tar.bz2
第二步:在解压缩后的inux-2.6.22.6/路径下打补丁:
book@book-desktop:/work/system/linux-2.6.22.6$ patch -p1 < ../inux-2.6.22.6_jz2440.patch
第三步:配置内核
内核配置有三种方法:1、自己在make menuconfig内一个一个配置
2、使用默认配置(利用系统提供的相似配置文件)
3、使用厂家提供的配置文件(config_ok拷贝到.config中)
在此选择第2种方法
在/arch/arm/configs架构下发现只有s3c2410_defconfig配置文件与[JZ2440]开发板相似,于是就用该命令对内核进行配置。
book@book-desktop:/work/system/linux-2.6.22.6$ make s3c2410_defconfig
book@book-desktop:/work/system/linux-2.6.22.6$ make menuconfig
在跳出来的配置菜单中可以选择自己需要的模块。
第四步:编译
book@book-desktop:/work/system/linux-2.6.22.6$ make uImage
内核移植:
编译后uImage文件保存在arch/arm/boot/路径下,可以拷贝到与开发板共享的虚拟文件系统下,供开发板下载使用(在开发板上可以通过nfs下载刚编译好的内核文件)。