Board logo

标题: Busybox制作嵌入式Linux的文件系统 03 [打印本页]

作者: samwalton    时间: 2013-10-18 15:49     标题: Busybox制作嵌入式Linux的文件系统 03

将其拷贝到$arm2410HOME/lib中。
  (可以编写一个脚本:vi envCp,将下面的命令拷贝至脚本然后执行即可:执行chmod u+rx envCp,然后./envCp)
  cp -l /usr/local/arm/3.4.1/arm-linux/lib/ld-2.3.2.so $arm2410HOME/lib
  cp -l /usr/local/arm/3.4.1/arm-linux/lib/ld-linux.so.2 $arm2410HOME/lib
  cp -l /usr/local/arm/3.4.1/arm-linux/lib/libc-2.3.2.so $arm2410HOME/lib
  cp -l /usr/local/arm/3.4.1/arm-linux/lib/libc.so.6 $arm2410HOME/lib
  cp -l /usr/local/arm/3.4.1/arm-linux/lib/libcrypt-2.3.2.so $arm2410HOME/lib
  cp -l /usr/local/arm/3.4.1/arm-linux/lib/libcrypt.so.1 $arm2410HOME/lib
  拷贝后检查一下:
  ls -all $arm2410HOME/lib,应该和上面相同,包括文件及其链接。
  4、设定etc,准备启动:
  将busybox源代码 example/bootfloopy/etc目录中的文件拷贝过来到$arm2410HOME/etc。
  cp -fr $BUSYBOXHOME/examples/bootfloppy/etc/* $arm2410HOME/etc
  etc文件夹是许多系统配置文件保存的地方。这些文件非常重要,如果配置错误,就可能影响系统的启动。busybox源代码 example/bootfloopy/etc目录中的文件算是一个简单的例子,可以把其中的文件拷贝过来作为基础。(在 example/bootfloopy目录中的一些脚本和文档也很值得阅读)
  首先inittab文件是系统启动后所访问的第一个脚本文件,后续启动的文件都由它指定。这个文件的格式和普通微机Linux上的inittab是有区别的,其具体含义可以参考busybox的文档。下面是一个比较简单的例子:
  ::sysinit:/etc/init.d/rcS
  tty0::respawn:/sbin/getty 38400 tty0
  tty2::askfirst:/bin/sh
  ::ctrlaltdel:/sbin/reboot
  ::shutdown:/bin/umount ar
  ::shutdown:/bin/mount / o remount,ro
  其中第一行指定了系统的启动脚本为/etc/init.d/rcS;第二行指定在第一个虚拟终端打开一个登录会话;第三行指定在第三个虚拟终端打开一个无须登录验证的shell;第四行指定了当按下ctrl+alt+del组合键时的执行命令;最后两行指定了关机时执行的操作。
  fstab文件定义了文件系统的各个“挂接点”,需要与实际的系统相配合。一个简单的fstab文件如下:proc/procprocdefaults00
  /dev/hda1/ext2rw,noauto01
  devpts/dev/ptsdevptsdefaults00
  其中第三行是为UNIX PTYs准备的,telnetd要用到。
  profile 文件是终端登录之后首先运行的脚本,这里可以不去管它。我们比较关心的是系统在无人登录的情况下有哪些程序要执行。从inittab文件可以看出系统启动之后要运行/etc/init.d/rcS脚本,需要启动的程序和需要进行的设置都可以写在这里面。一个可能的rcS文件如下:
  #! /bin/sh
  echo e 'Starting System'
  ifconfig lo 127.0.0.1
  ifconfig eth0 192.168.0.100
  hostname F /etc/hostname
  /bin/mount / o remount,rw
  /bin/mount /proc
  /bin/mount /dev/pts
  /usr/sbin/telnetd
  dmesg > /var/log/dmesg




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0