Jakie polecenia są potrzebne do zainstalowania Ubuntu Core?

18

Strona strony wiki Ubuntu Core zawiera instrukcje instalacji Ubuntu Core na docelowym nośniku:

  1. Rozpakuj (nie rozpakuj) rootfów
  2. Nośnik docelowy format: co najmniej jedna partycja powinna być ext2, ext3lubext4
  3. Rozpakuj Ubuntu Core na ext{2,3,4}partycję
  4. Zainstaluj moduł ładujący
  5. Zainstaluj system Linux
  6. Jeśli jądro Linux wymaga modułów, dodać do nich /lib/modules/$(uname -r)w ext{2,3,4}systemie plików
  7. Uruchom urządzenie docelowe
  8. Zainstaluj dodatkowe oprogramowanie za pomocą apt-get

Ale jakie są konkretne polecenia, aby wykonać powyższe? Rzeczy, które jestem szczególnie zdezorientowany to:

  1. Rozpakowywanie i rozpakowywanie, jaka jest różnica i jak to zrobić?
  2. Jaki pakiet powinienem zainstalować, jeśli chcę, aby ogólne jądro było dostępne podczas zwykłej instalacji Ubuntu?
  3. Nie będę instalował żadnych sterowników ani niczego związanego z jądrem innych niż te zawarte w repozytoriach, czy muszę się martwić o ręczne dodawanie modułów jądra?

PS Chciałbym poprosić, aby wszystkie polecenia użyte w procesie instalacji zostały wymienione w odpowiedzi, z korzyścią dla tych, którzy są całkowicie obcy i ja, jeśli kiedykolwiek zapomnę.

Oxwivi
źródło

Odpowiedzi:

19

Wszystkie te polecenia będą wymagać uprawnień administratora. Najłatwiej jest zrobić, sudo suaby uzyskać konsolę root.

  1. Archiwa takie jak Twój główny plik .tar.gz (jest oniryczny, dokładna wersja beta jest tutaj ) są łączone w jednym pliku (spakowane) i zmniejszone (skompresowane).

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

    rozpakuje rdzeń do ubuntu-core-11.10-core-i386.tar (już .gz; jeden duży plik).

  2. Aby podzielić urządzenie na rdzeń, najłatwiej jest użyć narzędzia graficznego, takiego jak gparted. Kiedy to nie jest dostępne. Zobacz tutaj . W skrócie - zakładając, że chcesz podzielić urządzenie / dev / sda na partycje:

    fdisk /dev/sdanastępnie naciśnij n p 1 <Return> <Return> a 1 w(aby uzyskać szczegółowe informacje, patrz link).

    Spowoduje to utworzenie partycji / dev / sda1.

    mkfs.ext4 /dev/sda1

    Spowoduje to utworzenie systemu plików ext4 na nowej partycji. Można użytkowania przedmiotu mkfs.ext3, mkfs.ext2jak również.

    Zamontuj: mount /dev/sda1 /mntidź tamcd /mnt

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

    rozpakuje rdzeń (wiele plików).

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

    zainstaluje bootloader (jest to oczywiście tylko jedna z wielu opcji).

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

    zezwoli na dostęp do sieci po chrootowaniu (w kroku 7) przez skopiowanie konfiguracji resolvera DNS

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

    pójdzie do chroota, zobacz Czy istnieje łatwiejszy sposób na chroota niż montowanie binda? po szczegóły o mount rbind

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

    zainstaluje jądro („linux”)

    Uwaga: możliwe, że apt-get updateto nie zadziała, ponieważ nie ma sieci.

  8. reboot i możesz iść.

Nie mam maszyny do przetestowania tego, więc odpowiedź prawdopodobnie nie będzie kompletna. Zmienię swoją odpowiedź, jeśli natkniesz się na problemy.

turbo
źródło
Przypuszczam, że mogę tworzyć użytkowników przy użyciu chrootśrodowiska?
Oxwivi,
Tak, zdecydowanie! Pamiętaj, aby używać adduserw przeciwieństwie do useraddtego, ponieważ jest wygodniejszy.
turbo
1
Też nie będę mógł od razu wypróbować, ale akceptuję to, ponieważ o ile wiem, zadziała idealnie. Będę komentować i edytować, jeśli napotkam jakieś czkawkę.
Oxwivi
1
Doskonały przewodnik. Uznałem, że jest to łatwiejszy proces niż ten na wiki Ubuntu tutaj: wiki.ubuntu.com/Core/InstallationExample. Jednak po zakończeniu nie mogłem zalogować się jako normalny użytkownik, ani nawet su do normalnego użytkownika z poziomu roota . Wystąpił błąd „Nie można wykonać / bin / bash: Odmowa uprawnień” i „użytkownik nie jest znany z podstawowego modułu uwierzytelniania”. Problem polegał na tym, że katalog główny (/) nie miał uprawnień do odczytu lub wykonywania dla grupy lub innej. Uruchamianie chmod go+rx /jako root naprawiło ten problem. Coś na co trzeba uważać!
Alex
@turbo Każdy krok wyjaśnia, co robi. Z wyjątkiem kroku piątego „Idź do chroota:” nie wyjaśnia, co tu robisz. Czy mógłby Pan opracować?
Pro Backup
2

Możesz to również sprawdzić, aby zainstalować Ubuntu Core na pamięci USB

Ubuntu Core zapewnia nam dobry start do grania w Linuksie. Oszczędza dużo czasu na budowanie rootfów, co może wymagać dużo wysiłku, aby zacząć działać.

Może być wiele sposobów gry z rootfami. Najprostszym może być użycie chroot do tymczasowego przejścia na Ubuntu Core. Większość narzędzi, które znasz, powinna działać. Ale sieć nie powinna być, ponieważ tak naprawdę nie ma konfiguracji sieci. Ani devfs, ani sysfs nie zostały utworzone, więc wiele narzędzi w zależności od tych interfejsów i-węzłów jądra nie powinno działać.

Nadal jednak możliwe jest instalowanie pakietów w katalogu głównym Ubuntu Core.

Przykład instalacji

Zainstaluj rootfs i obrazy jądra 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
Wprowadź nowe hasło UNIX: ......
Wpisz ponownie nowe hasło UNIX: ......
cp /etc/resolv.conf /media/duzy/Root/resolv.conf
for s in proc sys dev; do mount --rbind / dev / media / duzy / Root / $ s; gotowy
chroot / media / duzy / Root
apt-get update

Zainstaluj grub ( grub-install )

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

Przetestuj USB za pomocą KVM ( link )

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

Lub przetestuj za pomocą VirtualBox

VBoxManage internalcommands createrawvmdk -filename VirtualBox/usbdisk.vmdk -rawdisk /dev/sde
Duzy Chan
źródło