内核的移植

1.      Uboot的移植

清除之前的配置文件:make distclean

配置U-Boot:makeTQ2440_config(TQ2440_config来自根目录的Makefile 不同的开发板命令也不同)

编译U-Boot:make  ARCH=arm(只对ARM体系结构)CROSS_COMPILE=arm-linux-(指定交叉编译器,其中linux后面不加表示执行有这些前缀的所有命令)

2.     内核的移植(版本2.6.30.4)

清除之前的配置文件:make distclean

配置内核:make menuconfig ARCH=arm

编译内核:make uImage  ARCH=arm CROSS_COMPILE=arm-linux-

 3.根文件制作

3.1建目录:

mkdir rootfs(可更改)

 cd rootfs

mkdir bin dev etc lib proc sbin sysusr mnt tmp var

mkdir usr/bin usr/lib usr/sbin lib/modules

3.2创建设备文件:

cd rootfs/dev

mknod -m 666console c(代表类型) 5(主设备号) 1(次设备号)

mknod [options]name{bc}majorminor

mknod -m 666 null  c  1  3

 3.3加入配置文件:

tarxvzf etc.tar.gz

cp etc/*(所有文件)  /rootfs/etc/ -rf

3.4添加内核模块:

#cd…/linux(进入内核)

#make modules ARCH=arm CROSS_COMPILE=arm-linux- (编译内核模块)

#make modules_install(打包)ARCH=armINSTALL_MOD_PATH=…/rootfs(路径)

3.5编译/安装busybox(先解压)

配置busybox

#make menuconfig

进入BusyboxSettings →build Options→

选中“Build busybox as a static binary”, 静态链接

在Cross Compiler prefix (添加arm-linux-)

Installation Options->

选中“Don‘t use /usr”, 选中该项可以避免busybox 被安装到宿主系统的/usr目录下,破坏宿主系统

  在Busybox Installation Prefix (/xxx/rootfs)该选项表明编译后的busybox的安装位置

编译busybox

 make(编译)

 make install(安装)

3.6挂载根文件系统

使用Initramfs

 创建软链接

#cd …/rootfs/

#ln –s ./bin/busybox init(创建软链接)

2.在内核文件下配置
#cd  XX/linux

#make menuconfig ARCH=arm

General setup→选中Initial RAM filesystem and RAM disk→Initramfs 中输入根文件系统目录

3.编译内核
make uImage ARCH=armCROSS_COMPILE=arm-linux-

4.环境变量设置

setenv bootargs noinitrd console=ttySAC0,115200 (使用串口0,波特率115200)


PS:下载到板子里面后会重启,是因为配置中watchdog没关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值