解压进入内核顶层目录:tar xjf linux-3.4.2.tar.bz2
修改顶层Makeflie:
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
执行make s3c2410_defconfig会出现:
# configuration written to .config
此时将默认配置写进.config文件
执行make menuconfig配置内核:
Device Drivers--->
<*> Memory Technology Device (MTD) support --->
<*> Enable UBI - Unsorted block images --->
查看File System--->
<*> Miscellaneous filesustems --->
发现没有对yaffs2文件系统支持的,内核中默认是不支持 yaffs文件系统的, 因此我们需要为内核打上 yaffs 的补丁(笔者当初就在这卡了很久,发现原来是内核默认不支持yaffs2文件系统的,所以需要为内核打上 yaffs 的补丁)
内核打yaffs补丁:
解压YAFFS2 最新源码并进入顶层目录:
执行:./patch-ker.sh c m /work/trans_system/linux-3.4.2
成功会出现:
Updating /work/trans_system/linux-3.4.2/fs/Kconfig
Updating /work/trans_system/linux-3.4.2/fs/Makefile
这条命令干了三件事:
1.修改内核 fs/Kconfig, 增加了 yaffs2 下的 Kconfig:
# Patched by YAFFS
source "fs/yaffs2/Kconfig"
2.修改内核 fs/Makefile, 增加了 yaffs 目录的信息:
# Patched by YAFFS
obj-$(CONFIG_YAFFS_FS) += yaffs2/
3.在内核fs/目录下创建yaffs2子目录:
a.将yaffs2源码目录下的Makefile.kernel复制为内核fs/yaffs2/Makefile文件
b.将yaffs2源码目录下的Kconfig文件复制到内核fs/yaffs2/目录下
c.将yaffs2源码目录下的.c,.h文件(不包括子目录下的文件)复制到内核fs/yaffs2/目录下
执行make menuconfig配置内核支持yaffs2文件系统:
File systems --->
Miscellaneous filesystems --->
<*> YAFFS2 file system support
[*] Autoselect yaffs2 format
修改MTD分区:
执行:vim arch/arm/mach-s3c24xx/common-smdk.c
static struct mtd_partition smdk_default_nand_part[] = {
[0] = {
.name = "bootloader",
.size = SZ_256K,
.offset = 0,
},
[1] = {
.name = "params",
.offset = MTDPART_OFS_APPEND,
.size = SZ_128K,
},
[2] = {
.name = "kernel",
.offset = MTDPART_OFS_APPEND,
.size = SZ_8M,
},
[3] = {
.name = "root",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
}
};
上述分区信息要保证和u-boot中的分区信息一致
修改时钟频率为12M:
执行vim arch/arm/mach-s3c24xx/mach-smdk2440.c
static void __init smdk2440_map_io(void)
{
s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));
s3c24xx_init_clocks(12000000);//板子的晶振为12M
s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs));
}
执行make uImage编译,在/arch/arm/boot下生成uImage。
使用DNW或者tftp烧写
ok,毕
参考:
https://www.cnblogs.com/cindyleo/p/6390047.html
https://blog.youkuaiyun.com/gatieme/article/details/53157829