安装Ubuntu Core需要哪些命令?

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

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

但是上面做的具体命令是什么? 我特别困惑的是:

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

PS我想请求在答案中提到安装过程中使用的所有命令,为了那些完全不熟悉的人和我自己的利益,我是否应该忘记。

所有这些命令都需要admin-rights。 最简单的方法是使用sudo su来获得root控制台。

  1. 像你的核心.tar.gz (这是oneiric,精确的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 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

    将安装bootloader(这当然只是众多选项中的一个)。

  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更容易chroot的方法? 有关mount rbind的详细信息

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

    将安装内核(“linux”)

    注意: apt-get update可能无法正常运行,因为不存在网络。

  8. reboot ,你很高兴。

我没有机器来测试这个,所以答案可能不会完整。 如果你遇到问题,我会改变我的答案。

您也可以检查这个以将Ubuntu Core安装到USB记忆棒

Ubuntu Core为我们提供了一个很好的Linux启动。 它为构建rootfs节省了大量时间,这可能需要付出很多努力才能正常工作。

使用rootfs可能有很多种方法。 最简单的可能是使用chroot暂时切换到Ubuntu Core。 您熟悉的大多数实用程序都应该正常工作。 但网络不应该,因为实际上没有网络配置。 devfs和sysfs都没有创建,因此依赖于那些内核inode接口的许多实用程序都不应该工作。

然而,仍然可以在Ubuntu Core根目录上安装软件包。

安装示例

安装Ubuntu Core rootfs和内核映像。

  sudo bash
 cd / media / duzy / Root
 tar xzvf~ / Downloads / 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
 for proc in sys sys dev; 做mount -rbind / dev / media / duzy / Root / $ s;  DONE
 chroot / media / duzy / Root
 apt-get update 

安装grub( grub-install )

 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