移植内核到s3c2440
2017-11-15 17:45
239 查看
尝试移植内核到s3c2440
一、环境搭建:
1.下载资源包:
linux-3.0.12.tar.gz (https://www.kernel.org/pub/linux/kernel/v3.0/)
ARM-Linux GCC 4.4.3(http://arm9download.cncncn.com/mini2440/linux/arm-linux-gcc-4.4.3-20100728.tar.gz)
2.解压内核:
1.tar -xzvf linux-3.0.12.tar.gz
2.cd linux-3.0.12
3.make s3c2410_defconfig
4.修改Makefile
5.make menuconfig添加你需要的驱动支持
如果此处报错Unable to find the ncurses libraries or the,则是需要安装ncurses-devel
ubuntu下:sudo apt-get install ncurses安装
6.修改晶振频率:
内核默认晶振是16M的,但大多数开发板是12M,需要修改,不然会出现乱扣乱码的现象
arch/arm/mach-s3c2440/mach-smdk2440.c中的
160static void __init smdk2440_map_io(void)
161 {
162 s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));
163 s3c24xx_init_clocks(12000000);
164 s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs)) ;
165 }
7.修改分区
arch/arm/plat-s3c24xx/common-smdk.c中的smdk_default_nand_part[]结构体数组
我的分区如下:
111 static struct mtd_partition smdk_default_nand_part[] = {
112 [0] = {
113 .name = "bootloader",
114 .size = SZ_256K,
115 .offset = 0,
116 },
117 [1] = {
118 .name = "params",
119 .offset = MTDPART_OFS_APPEND,
120 .size = SZ_128K,
121 },
122 [2] = {
123 .name = "kernel",
124 .offset = MTDPART_OFS_APPEND,
125 .size = SZ_4M,
126 },
127 [3] = {
128 .name = "roots",
129 .offset = MTDPART_OFS_APPEND,
130 .size = MTDPART_SIZ_FULL,
131 },
132 };
7.make uImage
8.将arch/arm/boot/uImage烧到开发板中
此时的内核还不支持yaff文件系统可以烧jffs2文件系统
[b][/b]
[b]
[/b]
一、环境搭建:
1.下载资源包:
linux-3.0.12.tar.gz (https://www.kernel.org/pub/linux/kernel/v3.0/)
ARM-Linux GCC 4.4.3(http://arm9download.cncncn.com/mini2440/linux/arm-linux-gcc-4.4.3-20100728.tar.gz)
2.解压内核:
1.tar -xzvf linux-3.0.12.tar.gz
2.cd linux-3.0.12
3.make s3c2410_defconfig
4.修改Makefile
195行 ARCH ?= arm 196 行CROSS_COMPILE ?= arm-linux-
5.make menuconfig添加你需要的驱动支持
如果此处报错Unable to find the ncurses libraries or the,则是需要安装ncurses-devel
ubuntu下:sudo apt-get install ncurses安装
6.修改晶振频率:
内核默认晶振是16M的,但大多数开发板是12M,需要修改,不然会出现乱扣乱码的现象
arch/arm/mach-s3c2440/mach-smdk2440.c中的
160static void __init smdk2440_map_io(void)
161 {
162 s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));
163 s3c24xx_init_clocks(12000000);
164 s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs)) ;
165 }
7.修改分区
arch/arm/plat-s3c24xx/common-smdk.c中的smdk_default_nand_part[]结构体数组
我的分区如下:
111 static struct mtd_partition smdk_default_nand_part[] = {
112 [0] = {
113 .name = "bootloader",
114 .size = SZ_256K,
115 .offset = 0,
116 },
117 [1] = {
118 .name = "params",
119 .offset = MTDPART_OFS_APPEND,
120 .size = SZ_128K,
121 },
122 [2] = {
123 .name = "kernel",
124 .offset = MTDPART_OFS_APPEND,
125 .size = SZ_4M,
126 },
127 [3] = {
128 .name = "roots",
129 .offset = MTDPART_OFS_APPEND,
130 .size = MTDPART_SIZ_FULL,
131 },
132 };
7.make uImage
8.将arch/arm/boot/uImage烧到开发板中
此时的内核还不支持yaff文件系统可以烧jffs2文件系统
[b][/b]
[b]
[/b]
相关文章推荐
- s3c2440移植linux-2.6.22 内核启动卡在Uncompressing Linux..... done, booting the kernel.
- linux3.0内核移植(S3C2440)
- s3c2440的linux内核移植简程
- linux2.6.32 内核移植s3c2440 - DM9000网卡驱动移植
- S3C2440上移植内核之编译Linux2.6.31出现问题
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作--修改Linux源码参数
- S3C2440重新编译内核及移植QT4.7.3
- 05-S3C2440学习之内核(移植)linux3.4.2移植(2)之yffs2文件系统移植+内核裁剪+内核制作补丁
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作-- 配置Linux内核
- 移植内核2.6.24.4到S3C2440
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作
- linux 内核移植 2.6.35.4 到s3c2440
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作--编译内核
- linux-2.6.35.3内核移植(s3c2440)
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作
- 移植、裁减及配置Linux内核到s3c2440开发板
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作--制作根文件系统
- linux内核移植-移植2.6.35.4内核到s3c2440
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作--启动系统
- 第二部分 s3c2440 移植linux内核 添加网卡支持 yaffs2文件系统支持