kernel2.6.33移植
2010-03-07 21:42
190 查看
一、修改编译内核
1、解压linux-2.6.33.tar.gz2源码包
2、修改内核mtd分区和bootloader(vivi)使其一致
编辑文件arch/arm/plat-s3c24xx/common-smdk.c
static struct mtd_partition smdk_default_nand_part[] = {
[0] = {
.name = "vivi",
.size = 0x00020000,
.offset = 0,
},
[1] = {
.name = "param",
.offset = 0x00020000,
.size = 0x00010000,
},
[2] = {
.name = "kernel",
.offset = 0x00030000,
.size = 0x00200000,
},
[3] = {
.name = "root",
.offset = 0x00230000,
.size = 0x00300000,
},
[4] = {
.name = "yaffs",
.offset = 0x00530000,
.size = 0x03A00000,
}
};
3、修改文件drivers/mtd/nand/s3c2410.c
将s3c2410_nand_init_chip函数里的NAND_ECC_SOFT改为:(因为在内核中默认配置不支持ECC校验,当然也可以在内核配置时选中ECC选项)
4、解压yaffs.tar.gz2源码包,进入yaffs2文件夹,给内核打上补丁使内核支持yaffs2
#./patch-ker.sh c /root/linux-2.6.33
5、到llinux-2.6.30.5目录下执行命令
#cp arch/arm/configs/s3c2410_defconfig .config
6、执行make menuconfig,并对选项进行配置
7.修改makefile文件
将arch改为arm
配置交叉编译链
8.进入make menuconfig
选项
A. userspace binary formats/[ ]Kernel support for a.out and ECOFF binaries (BINFMT_AOUT) (去除该选项)
选项Boot options(根据自己的root目录在那个mtd分区来改)
改成: noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200
B.device drivers/network device support/ethernet (10 or 100) /cs89x0 support
C.选中File system/Miscellaneous filesystem/YAFFS2 file ststem support以支持yaffs
D.不修改system type,bus,kernel,power选项
E.去除device->中csci,并口,usb,无线网络,hid,声卡,led,ata
F.去除networking 中蓝牙和无线的驱动
9、执行make zImage,在arch/arm/boot目录下将生成一个zImage的文件
1、解压linux-2.6.33.tar.gz2源码包
2、修改内核mtd分区和bootloader(vivi)使其一致
编辑文件arch/arm/plat-s3c24xx/common-smdk.c
static struct mtd_partition smdk_default_nand_part[] = {
[0] = {
.name = "vivi",
.size = 0x00020000,
.offset = 0,
},
[1] = {
.name = "param",
.offset = 0x00020000,
.size = 0x00010000,
},
[2] = {
.name = "kernel",
.offset = 0x00030000,
.size = 0x00200000,
},
[3] = {
.name = "root",
.offset = 0x00230000,
.size = 0x00300000,
},
[4] = {
.name = "yaffs",
.offset = 0x00530000,
.size = 0x03A00000,
}
};
3、修改文件drivers/mtd/nand/s3c2410.c
将s3c2410_nand_init_chip函数里的NAND_ECC_SOFT改为:(因为在内核中默认配置不支持ECC校验,当然也可以在内核配置时选中ECC选项)
4、解压yaffs.tar.gz2源码包,进入yaffs2文件夹,给内核打上补丁使内核支持yaffs2
#./patch-ker.sh c /root/linux-2.6.33
5、到llinux-2.6.30.5目录下执行命令
#cp arch/arm/configs/s3c2410_defconfig .config
6、执行make menuconfig,并对选项进行配置
7.修改makefile文件
将arch改为arm
配置交叉编译链
8.进入make menuconfig
选项
A. userspace binary formats/[ ]Kernel support for a.out and ECOFF binaries (BINFMT_AOUT) (去除该选项)
选项Boot options(根据自己的root目录在那个mtd分区来改)
改成: noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200
B.device drivers/network device support/ethernet (10 or 100) /cs89x0 support
C.选中File system/Miscellaneous filesystem/YAFFS2 file ststem support以支持yaffs
D.不修改system type,bus,kernel,power选项
E.去除device->中csci,并口,usb,无线网络,hid,声卡,led,ata
F.去除networking 中蓝牙和无线的驱动
9、执行make zImage,在arch/arm/boot目录下将生成一个zImage的文件
相关文章推荐
- 2440+2.6.33 触摸屏驱动 移植(十一)
- linux2.6内核移植zc301摄像头时 kernel BUG at arch/arm/mm/dma-mapping.c:409!..的解决方法
- mini2440系统移植篇之kernel编译
- 嵌入式Linux之Kernel(裁减移植)启动调试、打印技术 printascii(补充)、内核调试
- at91sam9263上面移植u-boot以及kernel的详细步骤
- uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(6):CONFIG_BFIN_KERNEL_CLOCK
- 【Tiny4412--3】Kernel的配置、编译和移植
- uclinux-2008R1-RC8(bf561)到VDSP5的移植(16):start_kernel
- FL2440 Linux kernel + yaffs2根文件移植过程(二)
- kernel移植之linux stage2:启动内核
- 嵌入式 Linux开发Kernel移植(三)——Kernel工程Makefile分析
- I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之kernel移植
- 《转》u-boot移植烧写步骤、u-boot命令和kernel烧写步骤
- FL2440移植linux2.6.33内核(备忘)
- mini2440系统移植篇之kernel链接
- Kernel paic -not syncing: Attempted to kill init!---- linux2.6.32.移植到TQ2440
- uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(32):start_kernel
- 2440移植Linux Kernel笔记(六)------剪裁Kernel
- linux fl2440 kernel 移植
- 嵌入式Linux之Kernel(裁减移植)启动调试、打印技术_printascii(补充)、内核调试.doc