基于ZLG/BOOT的Linux2.6内核移植(s3c2410)(2)

下面我说一下详细步骤: 一些通用步骤援引了网友原文, 关键步骤我会具体说明.
我在移植时用的是linux-2.6.24 内核


平台信息: 目标板           s3c2410
主机操作系统     RedHat9.0
交叉编译器      arm-linux-gcc3.4.1
1.  
Linux2.6.24 内核源码放到工作目录下,并解压。
#tar xzvf linux2.6.24.tar.gz
# cd linux2.6.24

2.   修改内核源码根目录下的Makefile 文件
#vi Makefile
......
#SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
#                  -e s/arm.*/arm/ -e s/sa110/arm/ \
#                  -e s/s390x/s390/ -e s/parisc64/parisc/ \
#                  -e s/ppc.*/powerpc/ -e s/mips.*/mips/ )
......
#ARCH        ?= $(SUBARCH)
#CROSS_COMPILE    ?=
ARCH        = arm
CROSS_COMPILE    = /usr/local/arm/3.4.1/bin/arm-linux-

注:CROSS_COMPILE 根据自己所使用的交叉编译器路径设置。
**3
.修改arch/arm/plat-s3c24xx/common-smdk.c 文件,(linux2.6.20 或以前的版本中的目录为arch/arm/mach-s3c2410/common-smdk.c)
找到如下数据结构
static struct platform_device __initdata *smdk_devs[] = {
// &s3c_device_nand,  
注释掉或者删除该语句, 防止linux nandflash 进行二次擦除和分区.
&smdk_led4,
&smdk_led5,
&smdk_led6,
&smdk_led7,
};

4
.如果想使你的内核支持devfs 以及在启动时并在/sbin/init 运行之前能自动挂载/devdevfs 文件系统。可以编辑fs/Kconfig
menu "Pseudo filesystems" 下面添加如下代码:
config DEVFS_FS
bool "/dev file system support (OBSOLETE)"
default y     //
注意t y 之间有个空格, 否则执行make menuconfig 后会报错:unexpected T_WORD
config DEVFS_MOUNT
bool "Automatically mount at boot"
default y
depends on DEVFS_FS


注意: 如果继续使用原来2.4 版本用的ramdisk 文件系统, 这第4 步是必需得做的, 同时还需要在文件系统dev/ 目录

下创建如下节点:
mknod -m 660 null c 1 3
mknod -m 660 console c 5 1

如果重新制作新ramdisk 根文件系统, 根文件系统可以和linux2.6 内核同时都配置devfs 或者都不配置, 都不配置时第4 步就不用添加了.( 建议重新制作, 具体方法见下节内容)


5.
解决串口0 控制台信息输出问题,( 否则会在此卡

:UncompressingLinux.................................................................. done, booting

以下两种方法可以任选其一:
(1)
修改内核代码屏蔽掉ZLG/BOOT 中设定启动参数, 并在配置时修改启动参数. 具体如下:
将内核中的arch/arm/kernel/setup.c 文件中的parse_tag_cmdline() 函数中的内容注释掉,禁止使用默认的参数。这样你只要在配置内核Boot options 选项的时候正确配置 也就OK 了。而且还很方便,哪天你要引导2.4 内核

了就可以直接把console=ttySAC0,115200 改为console=ttyS0,115200 就可以了,很是简单!
(2)
修该ZLG/BOOT 中的param.bin 文件将其中的ttyS0 改为ttySAC0, 要通过专门修改param.bin 的软件来完成.( 建议用方法(1))

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwxxxx.html