在mini2440上移植运行2.6.36.4
1 下载linux-2.6.36.4
2 从友嵌之臂拷贝config_mini2440_x35,重命名.config
3 从http://aleph1.co.uk/gitweb?p=yaffs2.git;a=snapshot;h=HEAD;下载yaffs2-HEAD-bc62199 .tar.gz,放在linux-2.6.36.4 平行目录中,解压缩给2.6.36.4打patch
cd yaff2
./patch-ker.sh c m ../linux-2.6.36.4
4 修改linux-2.6.36.4/arch/arm/mach-s3c2440/mach-mini2440.c
Line 247
static struct mtd_partition mini2440_default_nand_part[] __initdata = {
[0] = {
.name = "u-boot",
.size = SZ_256K + SZ_128K,
.offset = 0,
},
[1] = {
.name = "u-boot-env",
.size = SZ_128K,
.offset = SZ_256K + SZ_128K,
},
[2] = {
.name = "kernel",
/* 5 megabytes, for a kernel with no modules
* or a uImage with a ramdisk attached */
.size = SZ_512K + 0x00500000,
.offset = SZ_256K + SZ_128K,
},
[3] = {
.name = "root",
.offset = SZ_256K + SZ_128K + 0x00500000,
.size = MTDPART_SIZ_FULL,
},
};
5 修改s3c_gpio_setpull
linux-2.6.36.4/arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h static inline int s3c_gpio_do_setpull(struct s3c_gpio_chip *chip,
unsigned int off, s3c_gpio_pull_t pull)
{
// return (chip->config->set_pull)(chip, off, pull);
if(NULL !=chip->config->set_pull)
return (chip->config->set_pull)(chip, off, pull);
else
return EINVAL;
}
8 make CROSS_COMPILE=arm-linux- menuconfig
File systems --->
9 make CROSS_COMPILE=arm-linux-
打开串口和usb下载工具,在串口中输入k,然后通过usb辅助工具(win7)SuperVivi-USB-Transfer-Tool.exe下载内核zImage
即可成功boot Linux-2.6.36.4,因为目前关注其他模块的驱动,所以这里还没有涉及到LCD部分。
1 下载linux-2.6.36.4
2 从友嵌之臂拷贝config_mini2440_x35,重命名.config
3 从http://aleph1.co.uk/gitweb?p=yaffs2.git;a=snapshot;h=HEAD;下载yaffs2-HEAD-bc62199 .tar.gz,放在linux-2.6.36.4 平行目录中,解压缩给2.6.36.4打patch
cd yaff2
./patch-ker.sh c m ../linux-2.6.36.4
4 修改linux-2.6.36.4/arch/arm/mach-s3c2440/mach-mini2440.c
Line 247
static struct mtd_partition mini2440_default_nand_part[] __initdata = {
[0] = {
.name = "u-boot",
.size = SZ_256K + SZ_128K,
.offset = 0,
},
[1] = {
.name = "u-boot-env",
.size = SZ_128K,
.offset = SZ_256K + SZ_128K,
},
[2] = {
.name = "kernel",
/* 5 megabytes, for a kernel with no modules
* or a uImage with a ramdisk attached */
.size = SZ_512K + 0x00500000,
.offset = SZ_256K + SZ_128K,
},
[3] = {
.name = "root",
.offset = SZ_256K + SZ_128K + 0x00500000,
.size = MTDPART_SIZ_FULL,
},
};
5 修改s3c_gpio_setpull
linux-2.6.36.4/arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h static inline int s3c_gpio_do_setpull(struct s3c_gpio_chip *chip,
unsigned int off, s3c_gpio_pull_t pull)
{
// return (chip->config->set_pull)(chip, off, pull);
if(NULL !=chip->config->set_pull)
return (chip->config->set_pull)(chip, off, pull);
else
return EINVAL;
}
8 make CROSS_COMPILE=arm-linux- menuconfig
File systems --->
Miscellaneous filesystems
<*> yaffs2 file system support
[*] Autoselect yaffs2 format9 make CROSS_COMPILE=arm-linux-
打开串口和usb下载工具,在串口中输入k,然后通过usb辅助工具(win7)SuperVivi-USB-Transfer-Tool.exe下载内核zImage
即可成功boot Linux-2.6.36.4,因为目前关注其他模块的驱动,所以这里还没有涉及到LCD部分。