为了使某些命令能够工作,我们需要一个可读写的文件系统。内核的通常行为是将根目录挂载为只读,但我们可以使用内核选项来更改此行为。通过将以下内核选项传递给内核rw选项在init=/bin/sh之前,我们将获得一个可读写的根文件系统。
按照以下步骤启动系统。
使用 GRUB 启动盘从 PC 启动。
在grub>提示符下,输入kernel (fd0)/boot/vmlinuz rw init=/bin/sh root=/dev/fd0 load_ramdisk=1 prompt_ramdisk=1.
确认您记得添加了rw参数并按下 Enter 键。
输入 boot 并按下 Enter 键。
当提示时,插入最近创建的根磁盘。
终端显示应类似于以下示例。
GNU GRUB version 0.95 grub> kernel (fd0)/boot/vmlinuz rw init=/bin/sh root=/dev/fd0 load_ramdisk=1 prompt_ramdisk=1 [Linux-bzImage, setup=0xc00, size=0xce29b] grub> boot Linux version 2.4.26 .. .. [various kernel messages] .. VFS: Insert root floppy disk to be loaded into RAM disk and press ENTER RAMDISK: Compressed image found at block 0 VFS: Mounted root (ext2 filesystem) read-write. Freeing unused kernel memory: 178k freed # _ |
现在系统已经启动并运行,尝试使用一些新命令。
bash# uname -a bash# ls /etc bash# echo "PocketLinux" > /etc/hostname bash# hostname $(cat /etc/hostname) bash# uname -n bash# mkdir /home/stuff bash# cd /home/stuff |
如果一切顺利,像 cat、 ls 和 hostname 这样的命令现在应该可以工作了。甚至 mkdir 也应该可以工作,因为根文件系统是以读写方式挂载的。当然,由于我们使用的是 ramdisk,一旦 PC 重启,任何更改都将丢失。