嵌入式Linux系统的构建
作者:网络转载 发布时间:[ 2015/8/17 11:08:24 ] 推荐标签:操作系统
前期工作:a.配置好tftp服务器:在嵌入式的童年中有介绍
b.开发板可以pc,linux 三者可以互相ping通
c.配置好nfs服务器:同样在嵌入式的童年中有介绍
一.嵌入式linux内核的制作(这里使用的国嵌提供的linux-ok6410内核,附带内核配置文件config-file)
a.进入内核目录清除原有配置和中间文件:
make clean
b.配置内核:
arm平台:make menuconfig ARCH=arm
将内核配置文件拷贝到内核目录中config-file
查看cpu是否对应:system type->arm system type(samsung s3c64xx):对的,保存,退出
c.编译内核:make uImage ARCH=arm CROSS_COMPILE=arm-linux-(这里需要mkimage工具,将该工具(mkimage在uboot的tools目录中,将它放到交叉编译工具链中/bin 中)) cp uImage ./tftpboot
tftp uImage 0xc0008000 (将uImage下载到开发板)
bootm 0xc0008000(启动内核)这里启动会失败,因为还没有挂载根文件系统。
二.根文件系统制作
1. mkdir rootfs (创建根文件系统主目录)
cd rootfs
2.创建常见子目录
mkdir bin dev etc lib proc sbin sys usr mnt tmp var
mkdir usr/bin usr/lib usr/sbin lib/modules
3.向目录中添加一些必备的设备文件
cd rootfs/dev
mknod -m 666 console c 5 1
mknod -m 666 null c 1 3
4.加入配置文件
tar zxvf etc.gar.gz
cp etc/* rootfs/etc/ -rf
三.编译安装内核模块并添加到rootfs中
make modules ARCH=arm CROSS_COMPILE=arm-linux-
make modules_install ARCH=arm INSTALL_MOD_PATH=/XXX/rootfs
cd rootfs/lib/modules/2.6.35-embedsky/kelnel/drivers/scsi 我们能看到一些.ko文件.
四.配置busybox(精通嵌入式中有提供可以使用的,一些常用的shell指令)
1. tar zxvf busybox....tar.gz
cd busybox ...
2. make menuconfig ARCHarm CROSS_COMPILE=arm-linux-
Busybox setting--->
build Options--->
选中“build busybox as a static binary”,静态链接。
3. 在同一页面--->Cross compiler prefix(arm-linux-).
4. installation Options-->
选中“Don not use/usr”,选中该项可以避免busybox被安装到宿主系统的/usr目录下,破坏宿主系统。......
Busybox Installation Prefix(/xxx/rootfs)
该选项表明编译后的busybox的安装位置。
路径要指对,否则会安装失败(在Don not use/usr同一页面)。
安装busybox :make install
cd rootfs/bin
发现有很多的命令
根文件系统的制作完成
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11