既然是移植,就要先找个模板,就用smdk6410吧。它们是相同的CPU,还是相同的SOC,只是不同的machine而已,也就是外设硬件的接法不同而已。
1. 先弄个壳子:
我直接用的smdk6410,只要machine ID和我的bootloader一样就可以启动了(在arch/arm/tools/mach-types),最多也只是
外设工作异常,因为它们soc完全一样的。
设置成ARM架构的:在顶层Makefile里修改,ARCH ?= arm,CROSS_COMPILE ?= arm-linux-
默认配置:复制arch/arm/configs/下的s3c6400-defconfig文件,然后将其保存为.config,
make menuconfig:配置内核支持EABI(说的是一种新的系统调用方式,一般默认),只选择支持smdk6410
2. make 编译;make zImage 在arch/arm/boot/zImage;
下载zImage到nand flash后可以启动,但是还没有根文件系统。
3. 后面要做的工作:
内核已经在SDRAM中运行(SDRAM仅在bootloader中配置即可),但是要在nand flash上建文件系统,还要移植nand flash驱动。
用busybox制作根文件系统很简单,下次再弄通过NFS挂载根文件系统。
NFS要用DM9000网卡,所以还要移植网卡驱动。并选择一些网络协议。
阅读(1261) | 评论(0) | 转发(0) |