Linux 3.3.0移植到S3C6410开发板上之一

     这里仅仅是移植成功内核,可以挂载文件系统运行,至于驱动会陆续添加。

     第一步:到内核官网上下载最新的内核,我下载的是linux-3.3-rc3.tar.bz2。

     第二步:解压内核,进入arch/arm/mach-s3c64xx目录下,看到不少6410的板级文件,我们这里选择mini6410开开展工作,在目录下将mach-mini6410.c文件复制一份,命名为:mach-jfj6410.c。这里我们将文件里面关于mini6410的字样都修改为jfj6410.但是这里要注意,MACHINE_START(JFJ6410, "JFJ6410")这里的JFJ6410要使用大写,稍候说明为什么。大家都知道在一个目录下添加了文件后,都应该修改当前目录下的Kconfig和Makefile两个文件,这是Linux系统编译的要求。至于怎么修改,仔细看一下文件内容我相信大家都知道。

            Kconfig文件是进行make menuconfig时出现的配置选项,这里我们添加了自己的板级文件肯定要添加配置选项。内容可以复制MINI6410的。如下:           

config MACH_JFJ6410
	bool "JFJ6410"
	select CPU_S3C6410
	select S3C_DEV_HSMMC
	select S3C_DEV_HSMMC1
	select S3C64XX_SETUP_SDHCI
	select S3C_DEV_USB_HOST
	select S3C_DEV_NAND
	select S3C_DEV_FB
	select S3C64XX_SETUP_FB_24BPP
	select SAMSUNG_DEV_ADC
	select SAMSUNG_DEV_TS
	help
	  Machine support for the JFJKJ JFJ6410
           这里你应该能够看出之前为什么要在那个地方单独使用大写了吧,就是为了保持一致。

          Makefile文件就是说明要编译的文件,以及编译的规则,这里显然就是要编译我们自己的板级文件mach-jfj6410.c,具体如下:

obj-$(CONFIG_MACH_JFJ6410)		+= mach-jfj6410.o
        第三步:配置内核,make menuconfig。这里我是使用内核自带的s3c6400_defconfig文件进行修改的,这样比较简单,呵呵。基本去掉了大部分的驱动,留下了串口驱动和NAND驱动。

       第四步:编译make zImage。呵呵,这样就生成了我们需要的内核。

       第五步:烧写,测试内核。因为我们是测试内核,所以U-Boot以及根文件系统都是使用之前的,这里没有移植yaffs,所以我目前使用cramfs格式的文件系统。

       启动开发板后出现了如下的错误:

end_request: I/O error, dev mtdblock2, sector 0
FAT: unable to read boot sector
VFS: Cannot open root device "mtdblock2" or unknown-block(31,2)
Please 
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值