我一直在研究一个 ramdisk 模板,用于在裸机服务器(通过 IPMI,因此没有物理访问)的 RAM 上运行完整的根文件系统,该服务器通过 PXE 启动。我曾经debootstrap
创建过一个 ubuntu 可信文件系统并进行了一些修改。服务器成功启动并在 /dev/ram0 上安装根文件系统,但是,网络从未启动,登录提示不响应键盘输入。
以下是我遵循的步骤:
1)创建rootfs文件
dd if=/dev/zero of=rootfs bs=1k count=$((768 * 1024))
2)创建ext3文件系统
mkfs.ext3 -m0 -F -L root rootfs
3)创建挂载点
mkdir /root/rootfs/
4)安装
mount -t ext3 -o loop rootfs /root/rootfs
5)解除 Ubuntu Trusty 的启动
debootstrap --arch=amd64 trusty /root/rootfs
6)chroot /root/rootfs
chroot /root/rootfs
7)修改 /etc/fstab
/dev/ram0 / ext2 defaults 0 0
proc /proc proc defaults 0 0
none /tmp tmpfs defaults 0 0
none /var/run tmpfs defaults 0 0
none /var/lock tmpfs defaults 0 0
none /var/tmp tmpfs defaults 0 0
8)/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
9)其他一些修改
......
10)卸载并压缩镜像
gzip -c rootfs | dd of=/path/to/webserver/rootfs.gz
11)将内核复制到网络服务器
cp /boot/vmlinuz-$(uname -r) /path/to/webserver/
提前致谢
答案1
尝试添加
5.1)
# cp /etc/hostname /root/rootfs/etc/
# cp /etc/hosts /root/rootfs/etc/
6)
# mount --bind /dev /root/rootfs/dev
# mount --bind /proc /root/rootfs/proc
# mount --bind /sys /root/rootfs/sys
# chroot /root/rootfs/ /bin/bash --login