linux内核在哪一个目录中_嵌入式linux内核和根目录制作

7508f2fa6e811da1bd0fd43507104db2.png

系统组成:
Bootloader, Boot parameters, Kernel, Root filesystem
嵌入式linux系统有linux内核与根文件系统两部分构成,两者缺一不可。

内核制作:
1:清除原有配置与中间文件
X86:make distclean
arm:make distclean

2 配置内核(copy其他类似的配置文件为.config)
x86:make menuconfig
arm:make menuconfig ARCH=arm /* nfs与ramdisk启动的区别 */

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

/***********************************************************************/
/***********************************************************************/

根文件系统制作:
根文件系统是linux启动时使用的第一个文件系统。没有根文件系统,linux将无法
正常启动。
根文件系统由一系列目录组成,目录中包含了应用程序,C库,以及相关的配置文件

1 创建根文件系统目录
mkdir rootfs
cd rootfs
mkdir bin bin dev etc lib proc sbin sys usr mnt tmp var
mkdir usr/bin usr/lib usr/sbin lib/modules

2 创建设备文件
cd dev/
mknod -m 666 console c 5 1
mknod -m 666 null c 1 3

3 安装/etc
tar etc.tar.gz -C /xxx/rootfs /* /etc下的文件一般不会发生改变 */

4 编译内核模块
进入linux内核目录(linux-2.6.29)
make modules ARCH=arm CROSS_COMPILE=arm-linux-

5 安装内核模块
make modules_install ARCH=arm INSTALL_MOD_PATH=/xxx/rootfs

6 配置busybox
进入busybox目录执行
make menuconfig
a 进入Busybox Setting --
build Options --
* 选中"Build busybox as a static binary",静态链接
* Cross Compiler prefix(arm-linux-)

Installation Options --
* 选中"Don't usr/usr", 选中该项可以避免busybox被安装到宿主系统的/usr目录
下,破坏宿主系统

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

7 编译,安装busybox
*make ARCH=arm CROSS_COMPILE=arm-linux-
*make install

nfs启动:CONFIG_CMDLINE="root=/dev/nfs rw
nfsroot=192.168.1.103:/nfsroot/rootfs ip=192.168.1.230 console=ttySAC0
mem=64M"

ramdisk启动:CONFIG_CMDLINE="root=/dev/ram rw console=ttySAC0 mem=64M"

我创建了一个关于嵌入式的学习群,大家可以进群一起交流,学习

Linux-C语言学习交流群【721709245】

相关资料:

linux基础

快速上手linux

Linux网络经典案例

Linux网络高并发技术之epoll

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值