根文件系统制作以及启动kernel panic问题的解决总结


今天为客户做了一个yaffs2的根文件系统,其中遇到了一些问题,总结一下

根文件系统有很多种,嵌入式系统中常用的有yaffs,jffs,ramdisk,cramfs。

为嵌入式内核制作根文件系统的基本步骤:

1 利用busybox交叉编译生成开发板上的基本命令,完善其他基本的目录,如etc

2 使用文件系统镜像制作工具制作文件系统镜像,如mkyaffs2img

3 修改内核选项,支持相应的文件系统

4 在bootloader中烧写内核和文件系统镜像到相应的分区

5 指定内核启动参数,启动内核

第一步

安装busybox

编译busybox步骤跟内核相似

make menuconfig

出现一个图形界面,选择Busybox Settings,这里可以对编译、安装以及调试等模式进行配置。

然后选择Build Options,对交叉编译器以及编译方式进行配置。

其中的第一项是Build Busybox as a static binary(no shared libs),如果选择上,
则busybox将以静态形式进行编译,否则将以动态方式编译。此外,还需要对交叉编译环境进行
配置,选择其中的Cross Compiler Perfix,输入交叉编译器的前缀,我们的嵌入式平台上使用
的是mipsel-linux-的交叉编译工具。

这里选择静态编译,这样省事,不然还需要将需要的库文件加进来,
注意Build with Large File Support (for accessing files > 2 GB)不要选(默认是选上的)
,否则编译后会出现错误

make;make install

可以采用perfix参数安装到指定目录下,格式为:make install prefix=xxx目录,如果不特别指定
,将默认在busybox源码目录下生成一个_install目录。到此,busybox基本上可以功成身退 了。
我们需要的就是busybox编译出来的这个_install目录。

对install目录下的几个文件进行一些说明。

bin包含用户工具,其中,busybox可执行文件就在这个目录 下,该目录下其他所有文件都是指向busybox的符号链接

sbin目录包含操作系统工具,同样也指向busybox。

linuxrc是一个链接文件,指向busy

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值