Какие команды необходимы для установки Ubuntu Core?
На вики-странице Ubuntu Core содержатся инструкции по установке Ubuntu Core на целевой носитель:
- Распаковать (не распаковывать) rootfs
- Форматировать целевой носитель: должен быть хотя бы один раздел
ext2
,ext3
, или жеext4
- Распакуйте ядро Ubuntu в
ext{2,3,4}
раздел- Установить загрузчик
- Установить Linux
- Если ядру Linux требуются модули, добавьте их в
/lib/modules/$(uname -r)
вext{2,3,4}
файловая система- Загрузите целевое устройство
- Установите любое дополнительное необходимое программное обеспечение, используя
apt-get
Но каковы конкретные команды, чтобы сделать выше? Вещи, которые меня особенно смущают:
- Распаковка и распаковка, в чем разница и как мне их сделать?
- Какой пакет я должен установить, если я хочу, чтобы стандартное ядро предоставлялось при обычной установке Ubuntu?
- Я не буду устанавливать какие-либо драйверы или что-либо связанное с ядром, кроме того, что предусмотрено в репозиториях. Нужно ли беспокоиться о ручном добавлении модулей ядра?
PS Я хотел бы попросить, чтобы все команды, использованные в процессе установки, были упомянуты в ответе, для тех, кто совершенно незнаком и я, если я когда-нибудь забуду.
2 ответа
Все эти команды потребуют прав администратора. Проще всего сделать sudo su
получить корневую консоль.
Архивы, такие как ваше ядро .tar.gz (здесь и есть точная бета), объединены в один файл (упакован) и уменьшены в размере (сжат).
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
разрешит доступ к сети после синхронизации (на шаге 7) путем копирования конфигурации преобразователя DNS
for f in /sys /proc /dev ; do mount --rbind $f /mnt/$f ; done ; chroot /mnt
перейдем к chroot, см. Есть ли более простой способ chroot, чем bind-mount? для деталей о горе rbind
apt-get update && apt-get install linux-{headers,image}-generic
установит ядро ("linux")
Примечание: возможно, что
apt-get update
не будет работать, потому что нет сети.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