Какие команды необходимы для установки Ubuntu Core?

На вики-странице Ubuntu Core содержатся инструкции по установке Ubuntu Core на целевой носитель:

  1. Распаковать (не распаковывать) rootfs
  2. Форматировать целевой носитель: должен быть хотя бы один раздел ext2, ext3, или же ext4
  3. Распакуйте ядро ​​Ubuntu в 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. Я не буду устанавливать какие-либо драйверы или что-либо связанное с ядром, кроме того, что предусмотрено в репозиториях. Нужно ли беспокоиться о ручном добавлении модулей ядра?

PS Я хотел бы попросить, чтобы все команды, использованные в процессе установки, были упомянуты в ответе, для тех, кто совершенно незнаком и я, если я когда-нибудь забуду.

2 ответа

Решение

Все эти команды потребуют прав администратора. Проще всего сделать sudo su получить корневую консоль.

  1. Архивы, такие как ваше ядро .tar.gz (здесь и есть точная бета), объединены в один файл (упакован) и уменьшены в размере (сжат).

    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 затем нажмите np1<Return><Return>a1w (подробности смотрите по ссылке).

    Это создает раздел /dev/sda1.

    mkfs.ext4 /dev/sda1

    Это создает файловую систему ext4 на новом разделе. Вы можете, конечно, использовать mkfs.ext3, mkfs.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

    разрешит доступ к сети после синхронизации (на шаге 7) путем копирования конфигурации преобразователя DNS

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

    перейдем к chroot, см. Есть ли более простой способ chroot, чем bind-mount? для деталей о горе rbind

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

    установит ядро ​​("linux")

    Примечание: возможно, что apt-get update не будет работать, потому что нет сети.

  8. reboot и ты в порядке.

У меня нет машины, чтобы проверить это, поэтому ответ, вероятно, не будет полным. Я изменю свой ответ, если вы наткнетесь на проблемы.

Вы также можете проверить это, чтобы установить Ubuntu Core на USB-накопитель.

Ядро Ubuntu предоставляет нам хороший старт для игры с Linux. Это экономит много времени на создание rootfs, что может потребовать много усилий для работы.

Там может быть много способов играть с rootfs. Самым простым может быть использование chroot для временного переключения на Ubuntu Core. Большинство утилит, с которыми вы знакомы, должны работать. Но сети не должно быть, потому что на самом деле нет конфигурации сети. Ни devfs, ни sysfs не были созданы, поэтому многие утилиты, зависящие от этих интерфейсов inode ядра, не должны работать.

Тем не менее, все еще возможно установить пакеты в корневой каталог Ubuntu.

Пример установки

Установите Ubuntu Core rootfs и образы ядра.

 судо баш
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
для s в proc sys dev; сделать монтирование --rbind /dev /media/duzy/Root/$s; сделанный
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  

Тест USB с KVM ( ссылка)

kvm -hdb /dev/sde # NOT the partition (/dev/sde1)!  

Или протестируйте с VirtualBox

VBoxManage internalcommands createrawvmdk -filename VirtualBox/usbdisk.vmdk -rawdisk /dev/sde
Другие вопросы по тегам