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

18

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

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

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

Oxwivi
источник

Ответы:

19

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

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

    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.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 и ты в порядке.

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

турбо
источник
Я полагаю, я могу создавать пользователей, используя chrootсреду?
Oxwivi
Определенно да! Не забудьте использовать adduserв противоположность, useraddпоскольку это более удобно.
турбо
1
Я не смогу сразу же попробовать их, но я принимаю это, поскольку, насколько мне известно, это будет работать отлично. Я буду комментировать и редактировать, если я столкнусь с любой икотой.
Oxwivi
1
Отличный гид. Я обнаружил, что это более простой процесс, чем в вики Ubuntu здесь: wiki.ubuntu.com/Core/InstallationExample. Однако, как только я закончил, я не мог войти в систему как обычный пользователь или даже su для обычного пользователя из root , Я получил сообщение об ошибке «Невозможно выполнить / bin / bash: разрешение отклонено» и «пользователь не известен базовому модулю аутентификации». Проблема заключалась в том, что корневой каталог (/) не имел разрешений на чтение или выполнение для группы или других. Запуск chmod go+rx /от имени root исправил эту проблему. Нечто, на что стоит обратить внимание!
Алекс
@turbo Каждый шаг вы объясняете, что он делает. За исключением пятого шага «Перейти к chroot:» не объясняет, что вы здесь делаете. Не могли бы вы уточнить?
Pro Backup
2

Вы также можете проверить это, чтобы установить 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
Дюзи Чан
источник