Finish !kernel in /root/arm/linux-2.6.14.1/arch/arm/boot
配置部分可以参考:Linux2.6.14.1内核移植手记
arm@localhost linux2.6.14]$ cp arch/arm/configs/smdk2410_defconfig .config [arm@localhost linux2.6.14]$ make menuconfig 在smdk2410_defconfig基础上,我所增删的内核配置项如下: Loadable module support > [*] Enable loadable module support [*] Automatic kernel module loading System Type > [*] S3C2410 DMA support Boot options > Default kernel command string: noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0,115200 #说明:mtdblock2代表我的第3个flash分区,它是我的rootfs # console=ttySAC0,115200使kernel启动期间的信息全部输出到串口0上. # 2.6内核对于串口的命名改为ttySAC0,但这不影响用户空间的串口编程。 # 用户空间的串口编程针对的仍是/dev/ttyS0等 Floating point emulation > [*] NWFPE math emulation This is necessary to run most binaries!!! #接下来要做的是对内核MTD子系统的设置 Device Drivers > Memory Technology Devices (MTD) > [*] MTD partitioning support #支持MTD分区,这样我们在前面设置的分区才有意义 [*] Command line partition table parsing #支持从命令行设置flash分区信息,灵活 RAM/ROM/Flash chip drivers > <*> Detect flash chips by Common Flash Interface (CFI) probe <*> Detect nonCFI AMD/JEDECcompatible flash chips <*> Support for Intel/Sharp flash chips <*> Support for AMD/Fujitsu flash chips <*> Support for ROM chips in bus mapping NAND Flash Device Drivers > <*> NAND Device Support <*> NAND Flash support for S3C2410/S3C2440 SoC Character devices > [*] Nonstandard serial port support [*] S3C2410 RTC Driver #接下来做的是针对文件系统的设置,本人实验时目标板上要上的文件系统是cramfs,故做如下配置 File systems > <> Second extended fs support #去除对ext2的支持 Pseudo filesystems > [*] /proc file system support [*] Virtual memory file system support (former shm fs) [*] /dev file system support (OBSOLETE) [*] Automatically mount at boot (NEW) #这里会看到我们前先修改fs/Kconfig的成果,devfs已经被支持上了 Miscellaneous filesystems > <*> Compressed ROM file system support (cramfs) #支持cramfs Network File Systems > <*> NFS file system support 保存退出,产生.config文件. .config文件能从提供的2.4.14.1的内核包中找到,文件名为config.back.
1.4.3编译内核 [arm@localhost linux2.6.14]$ make zImage