<>

3.2. 复制需要的命令及其库文件

我们都需要那些可执行文件呢?这完全取决于个人的需求,但一般而言,需要以下几类:

  • bash

  • 加载分区需要的命令如: mount, umount, mountpoint, udevadm

  • 分区需要的命令如: fdisk, mkfs, mkswap

  • 一些常用命令如: ls, cat, tar, rm, bzip2

以下这个列表是个例子,我们需要复制它们(以及它们所依赖的库文件)到相应的 tmpfs 目录结构:

/bin/bash
/bin/bzip2
/bin/cat
/bin/cp
/bin/echo
/bin/grep
/bin/ls
/bin/mkdir
/bin/mount
/bin/mountpoint
/bin/ps
/bin/rm
/bin/stty
/bin/tar
/bin/umount
/sbin/agetty
/sbin/fdisk
/sbin/init
/sbin/mkfs
/sbin/mkfs.ext2
/sbin/mkfs.ext3
/sbin/mkfs.ext4
/sbin/mkswap
/sbin/swapon
/sbin/udevadm
/sbin/udevd
/usr/bin/less
/usr/bin/vi
/usr/sbin/chroot

请执行以下命令建立命令文件列表并运行 $WORK/gld.pl 复制相关文件:

cat > $WORK/lddfiles.dat << EOF
/bin/bash
/bin/bzip2
/bin/cat
/bin/cp
/bin/echo
/bin/grep
/bin/ls
/bin/mkdir
/bin/mount
/bin/mountpoint
/bin/ps
/bin/rm
/bin/stty
/bin/tar
/bin/umount
/sbin/agetty
/sbin/fdisk
/sbin/init
/sbin/mkfs
/sbin/mkfs.ext2
/sbin/mkfs.ext3
/sbin/mkfs.ext4
/sbin/mkswap
/sbin/swapon
/sbin/udevadm
/sbin/udevd
/usr/bin/less
/usr/bin/vi
/usr/sbin/chroot
EOF
cd $WORK
./gld.pl -i lddfiles.dat
ln -s bash tmpfs/bin/sh