Quelles commandes sont nécessaires pour installer Ubuntu Core?

18

La page wiki de Ubuntu Core contient les instructions pour installer Ubuntu Core sur un support cible:

  1. Décompresser (ne pas décompresser) rootfs
  2. Médias cibles Format: au moins une partition doit être ext2, ext3ouext4
  3. Décompressez Ubuntu Core pour ext{2,3,4}partitionner
  4. Installer le chargeur de démarrage
  5. Installer Linux
  6. Si le noyau Linux nécessite des modules, ajoutez-les /lib/modules/$(uname -r)dans le ext{2,3,4}système de fichiers
  7. Démarrez le périphérique cible
  8. Installez tout logiciel supplémentaire requis à l'aide de apt-get

Mais quelles sont les commandes spécifiques pour faire ce qui précède? Les choses que je suis particulièrement confus sont:

  1. Décompresser et déballer, quelle est la différence et comment les faire?
  2. Quel paquet dois-je installer si je veux que le noyau générique soit fourni dans une installation Ubuntu régulière?
  3. Je n'installerai aucun pilote ou autre élément lié au noyau autre que ce qui est fourni dans les dépôts, dois-je m'inquiéter de l'ajout manuel de modules du noyau?

PS Je voudrais demander que toutes les commandes utilisées dans le processus d'installation soient mentionnées dans la réponse, pour le bénéfice de celles qui ne sont pas familières avec moi, si jamais j'oublie.

Oxwivi
la source

Réponses:

19

Toutes ces commandes nécessiteront des droits d'administrateur. Le plus simple est de faire sudo supour obtenir une console racine.

  1. Les archives comme votre core .tar.gz (c'est onirique, la version bêta précise est ici ) sont combinées dans un fichier (compressé) et réduites en taille (compressées).

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

    décompressera le noyau en ubuntu-core-11.10-core-i386.tar (plus de .gz; un gros fichier).

  2. Pour partitionner le périphérique pour le noyau, il est plus facile d'utiliser un outil graphique comme gparted. Quand ce n'est pas disponible. Voyez ici . En un mot - en supposant que vous souhaitez partitionner le périphérique / dev / sda:

    fdisk /dev/sdapuis appuyez sur n p 1 <Return> <Return> a 1 w(pour plus de détails, veuillez consulter le lien).

    Cela crée la partition / dev / sda1.

    mkfs.ext4 /dev/sda1

    Cela crée un système de fichiers ext4 sur la nouvelle partition. Vous pouvez l' utilisation des cours mkfs.ext3, mkfs.ext2aussi bien.

    Montez-le: mount /dev/sda1 /mntet allez-ycd /mnt

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

    va décompresser le noyau (de nombreux fichiers).

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

    va installer le chargeur de démarrage (ce n'est bien sûr qu'une des nombreuses options).

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

    permettra l'accès au réseau après le chrootage (à l'étape 7) en copiant la configuration du résolveur DNS

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

    ira à un chroot, voir Existe - t-il un moyen plus simple de chrooter que le montage par liaison? pour plus de détails sur le mont rbind

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

    va installer le noyau ("linux")

    Remarque: il est possible que apt-get updatecela ne fonctionne pas car aucun réseau n'est présent.

  8. reboot et vous êtes prêt à partir.

Je n'ai pas de machine pour tester cela, donc la réponse ne sera probablement pas complète. Je changerai ma réponse si vous tombez sur des problèmes.

turbo
la source
Je suppose que je peux créer des utilisateurs en utilisant l' chrootenvironnement?
Oxwivi
Ouais absolument! N'oubliez pas d'utiliser adduserplutôt useraddque d'être plus confortable.
turbo
1
Je ne pourrai pas les essayer immédiatement aussi, mais je l'accepte, car à ma connaissance, cela fonctionnera parfaitement. Je commenterai et éditerai si je tombe sur un hoquet.
Oxwivi
1
Excellent guide. J'ai trouvé que c'était un processus plus facile que celui sur le wiki Ubuntu ici: wiki.ubuntu.com/Core/InstallationExample.Cependant, une fois que j'ai terminé, je ne pouvais pas me connecter en tant qu'utilisateur normal, ni même accéder à un utilisateur normal depuis root . J'ai reçu l'erreur "Impossible d'exécuter / bin / bash: autorisation refusée" et "utilisateur inconnu du module d'authentification sous-jacent". Le problème était que le répertoire racine (/) n'avait pas de droits de lecture ou d'exécution pour le groupe ou autre. L'exécution en chmod go+rx /tant que root a résolu ce problème. Quelque chose à surveiller!
Alex
@turbo À chaque étape, vous expliquez ce qu'il fait. À l'exception de l'étape cinq "Aller à un chroot:" n'explique pas ce que vous faites ici. Pourriez-vous s'il vous plaît développer?
Pro Backup
2

Vous pouvez également cocher cette case pour installer Ubuntu Core sur une clé USB

Ubuntu Core nous fournit une belle startup pour jouer avec Linux. Cela fait gagner beaucoup de temps pour la construction d'un rootfs, ce qui peut nécessiter beaucoup d'efforts pour fonctionner.

Il pourrait y avoir plusieurs façons de jouer avec un rootfs. Le plus simple pourrait être d'utiliser chroot pour passer temporairement à Ubuntu Core. La plupart des utilitaires que vous connaissez devraient fonctionner. Mais le réseau ne devrait pas l'être, car il n'y a en fait aucune configuration réseau. Ni devfs ni sysfs n'ont été créés, donc de nombreux utilitaires dépendant de ces interfaces d'inode du noyau ne devraient pas fonctionner.

Pourtant, il est toujours possible d'installer des packages sur la racine Ubuntu Core.

Exemple d'installation

Installez les rootfs Ubuntu Core et les images du noyau.

sudo bash
cd / media / duzy / Root
tar xzvf ~ / Téléchargements / 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
Entrez le nouveau mot de passe UNIX: ......
Retapez le nouveau mot de passe UNIX: ......
cp /etc/resolv.conf /media/duzy/Root/resolv.conf
pour s dans proc sys dev; montez --rbind / dev / media / duzy / Root / $ s; terminé
chroot / media / duzy / Root
mise à jour apt-get

Installer grub ( grub-install )

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

Test USB avec KVM ( lien )

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

Ou testez avec VirtualBox

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