Welche Befehle werden benötigt, um Ubuntu Core zu installieren?

18

Die Wiki-Seite von Ubuntu Core enthält die Anweisungen zum Installieren von Ubuntu Core auf einem Zielmedium:

  1. Entpacke (entpacke nicht) rootfs
  2. Format Zielmedien: mindestens eine Partition sollte sein ext2, ext3oderext4
  3. Entpacke Ubuntu Core auf die ext{2,3,4}Partition
  4. Installieren Sie den Bootloader
  5. Installieren Sie Linux
  6. Wenn der Linux-Kernel Module benötigt, fügen Sie diese /lib/modules/$(uname -r)dem ext{2,3,4}Dateisystem hinzu
  7. Booten Sie das Zielgerät
  8. Installieren Sie die zusätzlich benötigte Software mit apt-get

Aber was sind die spezifischen Befehle, um das oben Gesagte zu tun? Die Dinge, über die ich besonders verwirrt bin, sind:

  1. Auspacken und entpacken, was ist der Unterschied und wie mache ich das?
  2. Welches Paket sollte ich installieren, wenn der generische Kernel bei der regulären Ubuntu-Installation bereitgestellt werden soll?
  3. Ich werde keine Treiber oder andere mit dem Kernel in Verbindung stehende Komponenten installieren, außer den in den Repos bereitgestellten. Muss ich mir Gedanken darüber machen, Kernelmodule manuell hinzuzufügen?

PS Ich möchte darum bitten, dass alle im Installationsprozess verwendeten Befehle in der Antwort erwähnt werden, zum Nutzen derer, die mir und mir selbst völlig unbekannt sind, falls ich sie jemals vergessen sollte.

Oxwivi
quelle

Antworten:

19

Alle diese Befehle erfordern Administratorrechte. Am einfachsten ist es sudo su, eine Root-Konsole zu bekommen.

  1. Archive wie Ihr Core .tar.gz (dies ist Oneiric, präzise Beta ist hier ) werden in einer Datei zusammengefasst (gepackt) und verkleinert (komprimiert).

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

    dekomprimiert den Core in ubuntu-core-11.10-core-i386.tar (keine .gz mehr; eine große Datei).

  2. Um das Gerät für den Kern zu partitionieren, ist es am einfachsten, ein grafisches Tool wie gparted zu verwenden. Wenn das nicht verfügbar ist. Sehen Sie hier . Kurz gesagt - vorausgesetzt, Sie möchten das Gerät / dev / sda partitionieren:

    fdisk /dev/sdadann drücken Sie n p 1 <Return> <Return> a 1 w(für Details siehe Link).

    Dadurch wird die Partition / dev / sda1 erstellt.

    mkfs.ext4 /dev/sda1

    Dadurch wird ein ext4-Dateisystem auf der neuen Partition erstellt. Sie können natürlich nutzen mkfs.ext3, mkfs.ext2als auch.

    Montiere es mount /dev/sda1 /mntund gehe dorthincd /mnt

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

    entpackt den Kern (viele Dateien).

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

    installiert den Bootloader (dies ist natürlich nur eine von vielen Möglichkeiten).

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

    Ermöglicht den Netzwerkzugriff nach dem Chrooten (in Schritt 7) durch Kopieren der DNS-Resolver-Konfiguration

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

    wird zu einer Chroot gehen, siehe Gibt es einen einfacheren Weg zu Chroot als das Binden? Einzelheiten zu Mount Rbind

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

    Installiert den Kernel ("Linux")

    Hinweis: Möglicherweise apt-get updatefunktioniert dies nicht, da kein Netzwerk vorhanden ist.

  8. reboot und du bist gut zu gehen.

Ich habe keine Maschine, um dies zu testen, daher wird die Antwort wahrscheinlich nicht vollständig sein. Ich werde meine Antwort ändern, falls Sie auf Probleme stoßen.

Turbo
quelle
Ich nehme an, ich kann Benutzer mithilfe der chrootUmgebung erstellen .
Oxwivi
Ja auf jeden Fall! Denken Sie daran, anstatt zu verwenden adduser, useraddwie es bequemer ist.
Turbo
1
Ich werde dies nicht sofort ausprobieren können, aber ich akzeptiere es, da es meines Wissens perfekt funktionieren wird. Ich werde kommentieren und bearbeiten, wenn ich auf Schluckauf stoße.
Oxwivi
1
Hervorragende Anleitung. Ich fand, dass dies ein einfacherer Prozess ist als der im Ubuntu-Wiki hier: wiki.ubuntu.com/Core/InstallationExample. Sobald ich fertig war, konnte ich mich nicht mehr als normaler Benutzer oder sogar als Benutzer von root anmelden . Ich habe die Fehlermeldung "Kann / bin / bash nicht ausführen: Berechtigung verweigert" und "Benutzer ist dem zugrunde liegenden Authentifizierungsmodul nicht bekannt" erhalten. Das Problem bestand darin, dass das Stammverzeichnis (/) keine Lese- oder Ausführungsberechtigungen für Gruppen oder andere Benutzer hatte. Das Ausführen chmod go+rx /als root behebt dieses Problem. Auf was muss man achten!
Alex
@turbo In jedem Schritt erklären Sie, was es tut. Mit Ausnahme von Schritt fünf erklärt "Geh zu einer Chroot:" nicht, was du hier tust. Würden Sie bitte näher darauf eingehen?
Pro Backup
2

Sie können dies auch überprüfen, um den Ubuntu Core auf einem USB-Stick zu installieren

Der Ubuntu Core bietet uns einen guten Start für das Spielen mit Linux. Es spart viel Zeit für das Erstellen eines Rootfs, was möglicherweise viel Arbeit erfordert.

Es gibt viele Möglichkeiten, mit Rootfs zu spielen. Das einfachste könnte sein, mit chroot vorübergehend auf Ubuntu Core zu wechseln. Die meisten Dienstprogramme, mit denen Sie vertraut sind, sollten funktionieren. Das Netzwerk sollte es aber nicht sein, da es eigentlich keine Netzwerkkonfiguration gibt. Weder devfs noch sysfs wurden erstellt, so viele Dienstprogramme, die von diesen Kernel-Inode-Schnittstellen abhängen, sollten nicht funktionieren.

Es ist jedoch weiterhin möglich, Pakete im Ubuntu Core-Stammverzeichnis zu installieren.

Installationsbeispiel

Installieren Sie die Rootfs- und Kernel-Images von Ubuntu Core.

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
Geben Sie ein neues UNIX-Passwort ein: ......
Geben Sie das neue UNIX-Passwort erneut ein: ......
cp /etc/resolv.conf /media/duzy/Root/resolv.conf
für s in proc sys dev; mounten Sie --rbind / dev / media / duzy / Root / $ s; getan
chroot / media / duzy / Root
apt-get update

Installiere grub ( grub-install )

sudo grub-install --boot-directory=/media/duzy/Boot /dev/sdf  
sudo grub-mkconfig -o /media/duzy/Boot/grub/grub.cfg  

USB mit KVM testen ( Link )

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

Oder mit VirtualBox testen

VBoxManage internalcommands createrawvmdk -filename VirtualBox/usbdisk.vmdk -rawdisk /dev/sde
Duzy Chan
quelle