嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。
一、移植环境
- 主 机:VMWare--Fedora 9
- 开发板:Mini2440--64MB Nand
- 编译器:arm-linux-gcc-4.3.2
二、移植步骤
1. 准备工作目录和解压内核源码
#mkdir my2440
#cd my2440/
#tar -jxvf linux-2.6.30.4.tar.bz2
2. 进入内核根目录修改Makefile使之编译成ARM平台
#cd linux-2.6.30.4
#gedit Makefile

3. 修改机器码,根据友善提供的VIVI里面的机器码是782,所以内核也要改成782才能启动
#gedit arch/arm/tools/mach-types

4. 修改系统平台时钟为12MHz(即:12000000)
#gedit arch/arm/mach-s3c2440/mach-smdk2440.c

5. 修改Nand Flash分区。这里只创建三个分区,其他多余的分区屏蔽掉
#gedit arch/arm/plat-s3c24xx/common-smdk.c

6. 配置内核选项
#make menuconfig

首先加载s3c24xx系列的通用配置,然后在此基础上修改

各配置选项如下。这里只列出了要修改的项,其他的默认

配置完后将配置文件保存为.config,这样方便下次make menuconfig时默认加载上次配置过的文件

7. 交叉编译内核
#make zImage
如果没有任何错误,编译出来的内核在arch/arm/boot/目录下,文件zImage即是。
8. 将内核镜像文件zImage下载到Mini2440上测试
新内核2.6.30.4的使用:

64MB Nand Flash分区情况:
三、结束语
Ok,新的内核移植成功,但是现在开发板还不能正常运行,因为还有各种设备的驱动和文件系统没有移植,这些将在后续的篇章中一一讲述。