Ubuntu Core 的维基页面页面包含在目标媒体上安装 Ubuntu Core 的说明:
- 解压缩(不解包)根文件系统
- 格式化目标媒体:至少一个分区应为
ext2
、ext3
或ext4
- 将 Ubuntu Core 解压到
ext{2,3,4}
分区- 安装引导加载程序
- 安装 Linux
- 如果 Linux 内核需要模块,请将其添加到文件系统
/lib/modules/$(uname -r)
中ext{2,3,4}
- 启动目标设备
- 使用安装任何其他所需的软件
apt-get
但是执行上述操作的具体命令是什么?我特别困惑的是:
- 解压缩和解包,有什么区别以及如何进行?
- 如果我想要常规 Ubuntu 安装中提供的通用内核,我应该安装什么包?
- 除了存储库中提供的内容之外,我不会安装任何驱动程序或与内核相关的任何内容,我是否需要担心手动添加内核模块?
附言我希望在答案中提及安装过程中使用的所有命令,以便那些完全不熟悉的人和我自己能够方便地查阅,以防我忘记。
答案1
所有这些命令都需要管理员权限。最简单的方法是sudo su
获取 root 控制台。
档案就像你的核心压缩文件(这是梦幻般的,精确的 beta 是这里) 被合并到一个文件中(打包)并且尺寸缩小(压缩)。
gzip -d ubuntu-core-11.10-core-i386.tar.gz
将把核心解压为 ubuntu-core-11.10-core-i386.tar(不再是 .gz;一个大文件)。
要对设备进行核心分区,最简单的方法是使用图形工具,如 gparted。如果没有,请参阅这里简而言之 - 假设您想要对设备 /dev/sda 进行分区:
fdisk /dev/sda
然后按n
p
1
<Return>
<Return>
a
1
w
(详情请参阅链接)。这将创建 /dev/sda1 分区。
mkfs.ext4 /dev/sda1
这会在新分区上创建一个 ext4 文件系统。当然,您
mkfs.ext3
也mkfs.ext2
可以使用。安装它:
mount /dev/sda1 /mnt
然后去那里cd /mnt
tar -xf /path/to/where/you/put/ubuntu-core-11.10-core-i386.tar
将解压核心(许多文件)。
grub-install --root-directory=/mnt /dev/sda
将安装引导加载程序(这当然只是众多选项之一)。
cp /etc/resolv.conf /mnt/etc/resolv.conf
通过复制 DNS 解析器配置,在 chroot 之后(步骤 7)允许网络访问
for f in /sys /proc /dev ; do mount --rbind $f /mnt/$f ; done ; chroot /mnt
将会进入 chroot,参见有没有比绑定挂载更简单的 chroot 方法?有关 mount rbind 的详细信息
apt-get update && apt-get install linux-{headers,image}-generic
将安装内核(“linux”)
apt-get update
注意:由于没有网络,这可能无法工作。reboot
一切就绪。
我没有机器来测试这个,所以答案可能不完整。如果你遇到问题,我会改变我的答案。
答案2
您也可以检查一下将 Ubuntu Core 安装到 USB 驱动器
Ubuntu Core 为我们提供了一个很好的 Linux 入门机会。它为我们节省了大量构建 rootfs 的时间,而构建 rootfs 可能需要付出很多努力才能开始工作。
使用 rootfs 的方法有很多种。最简单的方法是使用 chroot 临时切换到 Ubuntu Core。您熟悉的大多数实用程序都应该可以工作。但网络不应该,因为实际上没有网络配置。devfs 和 sysfs 都没有创建,因此许多依赖于这些内核 inode 接口的实用程序不应该工作。
但是仍然可以将软件包安装到 Ubuntu Core 根目录。
安装示例
安装 Ubuntu Core rootfs 和内核映像。
sudo bash cd /媒体/duzy/Root tar xzvf ~/下载/ubuntu-core-15.10-core-amd64.tar.gz cp -vf /boot/vmlinuz-4.*-generic /media/duzy/Boot cp -vf /boot/initrd.img-4.*-generic /media/duzy/Boot useradd --root /media/duzy/Root -s'/bin/bash' -m duzy passwd --root /media/duzy/Root duzy 输入新的 UNIX 密码:...... 重新输入新的 UNIX 密码:...... cp /etc/resolv.conf /media/duzy/Root/resolv.conf 对于 proc sys dev 中的 s;执行 mount --rbind /dev /media/duzy/Root/$s;完成 chroot /媒体/duzy/Root apt-get 更新
安装 grub (grub 安装)
sudo grub-install --boot-directory=/media/duzy/Boot /dev/sdf
sudo grub-mkconfig -o /media/duzy/Boot/grub/grub.cfg
使用 KVM 测试 USB (关联)
kvm -hdb /dev/sde # NOT the partition (/dev/sde1)!
或者使用 VirtualBox 测试
VBoxManage internalcommands createrawvmdk -filename VirtualBox/usbdisk.vmdk -rawdisk /dev/sde