Linux根文件系统的制作

发表于:2010-6-12 10:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  创建 dev 中的节点

  如果使用“linux 2.6.xx”的内核,应该事先创建节点“console”、“null”。否则在系统启动时内容会提示以下错误:

  Warning: unable to open an initial console.Kernel panic - not syncing: Attempted to kill init!

  创建节点的命令如下:

  # mknod dev/console c 5 1# mknod dev/null c 1 3

  移植Busybox:

  进入到压缩文件存放的目录下,并解压。然后进入解压后的busybox目录文件夹,随后配置busybox 。

  [root@190 busybox-1.2.0]# make menuconfig

  执行之后,将出现如下图所示的配置界面:

  由于每个版本的配置选项组织有所不同。不管怎样,我们注意以下选项就行了:

  1) Support for devfs
  2) Build BusyBox as a static binary ( no shared libs )  //将busybox编译成静态链接
  3) Do you want to build busybox with a Cross Compile?
  (/usr/local/arm/3.3.2/bin/arm-linux-) Cross Compile prefix  //指定交叉编译器
  4) init
  5) Support reading an inittab file  //支持init读取/etc/inittab 配置文件
  6) (X) ash选中ash   //建立的rcS脚本才能执行
  7)ash
  8)cp  cat  ls  mkdir  mv   //可执行命令工具的选择,自己看着办吧,需要用到的就选上
  9) mount
  10) umount
  11) Support loopback mounts
  12) Support for the old /etc/mtab file
  13) insmod
  14) Support version 2.2.x to 2.4.x Linux kernels
  15) Support version 2.6.x Linux kernels
  16) vi
  17)don’t use user

  以上内容必须选上,其他可按默认值;如果要支持其他功能,如网络支持等,可按需选择,英语不是很烂的话,这些都没有问题。

  配置好之后,保存退出。然后对其编译和安装到刚才建立的根文件系统目录下:

  [root@190 busybox-1.2.0] make TARGET_ARCH=arm CROSS=arm-linux- \ PREFIX=/friendly-arm/myroots/ all install

  安装好之后,将相应的二进制文件拷贝到根文件系统相应的目录下:

  * 拷贝一些管理员控制程序到/sbin目录下,最重要的就是要包含一个init命令;

  * 拷贝应用程序运行时所需要的库到/lib,库文件可以从PC机上的交叉编译工具安装目录下拷贝,如libc-2.2.2.so、libcryt-2.2.2.so、libm-2.2.2.so、libutil-2.2.2.so等,为部分相应库建立快捷方式,提供一些应用程序按快捷方式名称调用。值得注意的是C库要采用C库的版本glibc, glibc位于/lib/libc.so.6。

33/3<123
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号