标签:区别 驱动模块 kernel com 第二部分 box 运行 ems 解压
版本次 | 修改内容 | 修改人员 |
---|---|---|
V1 | 新建 | 刘倪 |
见嵌入式开发环境的构建
参看u-boot-2014.04移植手册(TQ2440)
参看第二部分内容以及
? 为了节省时间,直接使用了国嵌提供的uboot_tq2440,并且尝试了网上提供的文件。分别为:
make distclean
配置方式:
make config配置——文本交互;
make menuconfig配置——界面交互。
make zImage V=1
make bzImage V=1
编译好的内核位于arch/
? 将编译好的内核模块,从内核源代码目录复制至/lib/modules下**,为打包做好准备
mkinitrd initrd-$version $version
cp arch/x86/boot/bzImage /boot/vmlinuz-$version
cp initrd-$version /boot/
修改/etc/grub.conf
make distclean
make config配置——文本交互;
make menuconfig配置——界面交互。
这里两种方式都是为了生成.config配置文件。这里为了方便,直接将配置好的文件config-file拷贝到linux内核代码目录中,并改为.config;在执行
make menuconfig ARCH=arm
注意:如果不是通过命令行复制.config,最好重新打开终端。同时注意要将.config中的CONFIG_INITRAMFS_SOURCE改为空或者为自己开发板建立根目录地方(/home/guqinglei/Writing_code/TQ2440/rootfs)。还要注意把 Device Drivers 选项下的看门狗(Watchdog Timer Support)关掉,否则开发板进入文件系统之后,过一段时间又自动重新启动。
make uImage ARCH=arm CROSS_COMPILE=arm-linux-
生成的文件在arch/arm/boot/uImage
见下一节内容
见下一节内容
tftp 0x31000000 uImage
bootm ox31000000
#setenv bootcmd tftp 0x31000000 uImage \; bootm 0x31000000
#saveenv
#nand write 0x31000000 400000 500000(内核下载在0x31000000后)
#setenv bootcmd nand read 0x31000000 400000 500000 \; bootm 0x31000000
#saveenv
#mkdir rootfs
#cd rootfs
#mkdir bin dev etc lib proc sbin sys usr mnt tmp var
#mkdir usr/bin usr/lib usr/sbin lib/modules
#cd rootfs/dev
#mknod -m 666 console c 5 1
#mknod -m 666 null c 1 3
#tar etc.tar.gz
#mv etc/* rootfs文件夹 -rf
#cd linux源文件目录
#make modules ARCH=arm CROSS_COMPILE=arm-linux-
#make modules_install ARCH=arm INSTALL_MOD_PATH=根目录所在文件夹(/home/guqinglei/Writing_code/TQ2440/rootfs)
通过/home/guqinglei/Writing_code/TQ2440/rootfs/lib/modules/2.6.30.4-EmbedSky/kernel/drivers
可以查看有没有安装驱动可以确定是否安装成功。
配置busybox
cd busybox-1.13.3/
make clean
make distclean
make menuconfig
/home/guqinglei/Writing_code/TQ2440/ rootfs
(表明编译后的busybox的安装位置)编译、安装busybox
make
make install
通过查看/home/guqinglei/Writing_code/TQ2440/rootfs/bin是否存在内核常用命令,可以判断该步是否成功
#cd /home/guqinglei/Writing_code/TQ2440/rootfs
#ln –s ./bin/busybox init
或者:
#cd /home/guqinglei/Writing_code/TQ2440/rootfs/bin
#ln –s busybox ../init
使用Initramfs文件系统
#cd 进入linux源代码目录
#make clean
#make menuconfig
进入general setup->Initial RAM filessystem and RAM disk...填入rtoof路径(/home/guqinglei/Writing_code/TQ2440/rootfs)
#make uImage ARCH=arm CROSS_COMPILE=arm-linux-
#setenv bootargs noinitrd console=ttySAC0,115200
#saveenv
备注:不知道为什么还是进不去文件系统
使用NFS文件系统
#cd 进入linux源代码目录
#make clean
#编译内核
#make menuconfig
进入general setup->取消Initial RAM filessystem and RAM disk...
返回主界面,进入file systems->选择network file systems->选择root file systems on NFS
#make uImage ARCH=arm CROSS_COMPILE=arm-linux-
#setenv bootargs noinitrd console=ttySAC0,115200 init=/init root=/dev/nfs rw nfsroot=192.168.0.119:/home/guqinglei/Writing_code/TQ2440/rootfs,proto=tcp,nfsvers=3 ip=192.168.0.110:192.168.0.119:192.168.0.1:255.255.255.0::eth0:off
#saveenv
?
标签:区别 驱动模块 kernel com 第二部分 box 运行 ems 解压
原文地址:https://www.cnblogs.com/guqinglei/p/11488618.html