安装 Ubuntu Core 需要哪些命令?

安装 Ubuntu Core 需要哪些命令?

Ubuntu Core 的维基页面页面包含在目标媒体上安装 Ubuntu Core 的说明:

  1. 解压缩(不解包)根文件系统
  2. 格式化目标媒体:至少一个分区应为ext2ext3ext4
  3. 将 Ubuntu Core 解压到ext{2,3,4}分区
  4. 安装引导加载程序
  5. 安装 Linux
  6. 如果 Linux 内核需要模块,请将其添加到文件系统/lib/modules/$(uname -r)ext{2,3,4}
  7. 启动目标设备
  8. 使用安装任何其他所需的软件apt-get

但是执行上述操作的具体命令是什么?我特别困惑的是:

  1. 解压缩和解包,有什么区别以及如何进行?
  2. 如果我想要常规 Ubuntu 安装中提供的通用内核,我应该安装什么包?
  3. 除了存储库中提供的内容之外,我不会安装任何驱动程序或与内核相关的任何内容,我是否需要担心手动添加内核模块?

附言我希望在答案中提及安装过程中使用的所有命令,以便那些完全不熟悉的人和我自己能够方便地查阅,以防我忘记。

答案1

所有这些命令都需要管理员权限。最简单的方法是sudo su获取 root 控制台。

  1. 档案就像你的核心压缩文件(这是梦幻般的,精确的 beta 是这里) 被合并到一个文件中(打包)并且尺寸缩小(压缩)。

    gzip -d ubuntu-core-11.10-core-i386.tar.gz

    将把核心解压为 ubuntu-core-11.10-core-i386.tar(不再是 .gz;一个大文件)。

  2. 要对设备进行核心分区,最简单的方法是使用图形工具,如 gparted。如果没有,请参阅这里简而言之 - 假设您想要对设备 /dev/sda 进行分区:

    fdisk /dev/sda然后按n p 1 <Return> <Return> a 1 w(详情请参阅链接)。

    这将创建 /dev/sda1 分区。

    mkfs.ext4 /dev/sda1

    这会在新分区上创建一个 ext4 文件系统。当然,您mkfs.ext3mkfs.ext2可以使用。

    安装它:mount /dev/sda1 /mnt然后去那里cd /mnt

  3. tar -xf /path/to/where/you/put/ubuntu-core-11.10-core-i386.tar

    将解压核心(许多文件)。

  4. grub-install --root-directory=/mnt /dev/sda

    将安装引导加载程序(这当然只是众多选项之一)。

  5. cp /etc/resolv.conf /mnt/etc/resolv.conf

    通过复制 DNS 解析器配置,在 chroot 之后(步骤 7)允许网络访问

  6. for f in /sys /proc /dev ; do mount --rbind $f /mnt/$f ; done ; chroot /mnt

    将会进入 chroot,参见有没有比绑定挂载更简单的 chroot 方法?有关 mount rbind 的详细信息

  7. apt-get update && apt-get install linux-{headers,image}-generic

    将安装内核(“linux”)

    apt-get update注意:由于没有网络,这可能无法工作。

  8. 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

相关内容