文档介绍:4 LINUX内核移植实验
资源
linux- (Linux内核源码的压缩包,下载地址)
(yaffs文件系统源码的压缩包)
(dm9000网卡驱动程序)
解压源码包
在XP中,把“04/下午/src”文件夹拷贝到“//”的共享文件夹uptech内,并把uptech中的“src”更名为“04 linux”
在Linux虚拟机中进入该文件夹“cd /home/uptech/04 linux”
ls可见4个文件:“linux-”、“”、“”、“”
bz2压缩包用“tar jxvf”解压
gz压缩包用“tar zxvf”解压
解压Linux源码压缩包,即输入命令“tar jxvf linux-”
解压YAFFS源码压缩包,即输入命令“tar zxvf ”
修改Makefile文件,支持交叉编译
cd /home/uptech/04 linux/linux-,该目录下就是linux的内核源码
修改Makefile文件,使之支持交叉编译,也就是在Linux上编译出ARM开发板上运行的内核程序。
ARCH ?= arm (目标平台是arm)
PILE ?= arm-linux- (交叉编译器的前缀是arm-linux-)
将“/home/uptech/04 linux/linux-”文件拷贝成“/home/uptech/04 linux/linux-/.config”
cp arch/arm/configs/s3c2410_defconfig .config
对内核进行裁剪(此时暂时不做裁剪,仅是看看)
make menuconfig
修改Nand Flash分区
修改“/home/uptech/04 linux/linux--mon-”文件中的“struct mtd-partition smdk_default_nand_part[]”这个结构体:
第一个分区从0x0000 0000 到 0x0008 0000,
第二个分区从0x0008 0000 到 0x0028 0000,大小为2M
第三个分区从0x0028 0000 到 0x0068 0000,大小为4M
第四个分区从0x0068 0000 到 0x0400 0000,
具体做法:
(1) vi arch/arm/plat-mon-
(2)修改分区信息结构体
static struct mtd_partition smdk_default_nand_part[] = {
[0] = {
.name = "Bootloader",
.size = 0x80000,
.of