¿Qué comandos se necesitan para instalar Ubuntu Core?

La página de la página wiki de Ubuntu Core contiene las instrucciones para instalar Ubuntu Core en un medio de destino:

  1. Descomprimir (no desempaquetar) rootfs
  2. Formato de los medios de destino: al menos una partición debe ser ext2 , ext3 o ext4
  3. Desempaquetar Ubuntu Core a la partición ext{2,3,4}
  4. Instalar cargador de arranque
  5. Instalar linux
  6. Si el kernel de Linux requiere módulos, agréguelos a /lib/modules/$(uname -r) en el sistema de archivos ext{2,3,4}
  7. Arrancar el dispositivo de destino
  8. Instale cualquier software adicional requerido usando apt-get

¿Pero cuáles son los comandos específicos para hacer lo anterior? Las cosas que me confunden específicamente son:

  1. Descomprimiendo y desempaquetando, ¿cuál es la diferencia y cómo los hago?
  2. ¿Qué paquete debo instalar si quiero que se proporcione el kernel genérico en la instalación regular de Ubuntu?
  3. No instalaré ningún controlador ni nada relacionado con el kernel que no sea lo que se proporciona en los repositorys. ¿Debo preocuparme por agregar módulos del kernel manualmente?

PD: Me gustaría solicitar que todos los comandos utilizados en el proceso de instalación se mencionen en la respuesta, para el beneficio de aquellos que son completamente desconocidos y yo mismo, si es que alguna vez lo olvido.

Todos esos comandos requerirán derechos de administrador. Lo más fácil es hacer sudo su para obtener una consola de root.

  1. Los archivos como su núcleo .tar.gz (esto es onírico, la versión beta precisa está aquí ) se combinan en un archivo (empaquetado) y se reducen en tamaño (comprimido).

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

    descomprimirá el núcleo a ubuntu-core-11.10-core-i386.tar (ya no hay .gz; un archivo grande).

  2. Para particionar el dispositivo para el núcleo es más fácil usar una herramienta gráfica como gparted. Cuando eso no está disponible. Ver aqui En pocas palabras, asumiendo que desea particionar el dispositivo / dev / sda:

    fdisk /dev/sda luego presione n p 1 a 1 w (para más detalles, consulte el enlace).

    Esto crea la partición / dev / sda1.

    mkfs.ext4 /dev/sda1

    Esto crea un sistema de archivos ext4 en la nueva partición. Por supuesto, también puede usar mkfs.ext3 , mkfs.ext2 .

    Montalo: mount /dev/sda1 /mnt y ve ahi cd /mnt

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

    Desempaquetará el núcleo (muchos archivos).

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

    instalará el gestor de arranque (esta es, por supuesto, una de las muchas opciones).

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

    permitirá el acceso a la red después del chroot (en el paso 7) copiando la configuración del sistema de resolución de DNS

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

    irá a un chroot, vea ¿Hay una forma más fácil de chroot que un assembly en enlace? para detalles sobre el Monte Rbind

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

    instalará el kernel (“linux”)

    Nota: es posible que apt-get update no funcione porque no hay una red presente.

  8. reboot y ya está bueno para ir

No tengo una máquina para probar esto, por lo que la respuesta probablemente no estará completa. Cambiaré mi respuesta en caso de que tropiece con problemas.

También puede marcar esto para instalar Ubuntu Core en una memoria USB

Ubuntu Core nos proporciona un buen inicio para jugar con Linux. Se está ahorrando mucho tiempo para construir un rootfs, lo que puede requerir muchos esfuerzos para trabajar.

Podría haber muchas maneras de jugar con un rootfs. El más simple podría ser usar chroot para cambiar temporalmente a Ubuntu Core. La mayoría de las utilidades con las que está familiarizado deberían estar funcionando. Pero la red no debería ser, porque en realidad no hay configuración de red. No se crearon los devfs ni sysfs, por lo que muchas utilidades que dependen de esas interfaces inode del núcleo no deberían funcionar.

Sin embargo, todavía es posible instalar paquetes en la raíz de Ubuntu Core.

Ejemplo de instalación

Instala los rootfs de Ubuntu Core y las imágenes del kernel.

  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
 Introduzca la nueva contraseña de UNIX: ...... 
  Vuelva a escribir la nueva contraseña de UNIX: ......
 cp /etc/resolv.conf /media/duzy/Root/resolv.conf
 para s en proc sys dev;  monte --rbind / dev / media / duzy / Root / $ s;  hecho
 chroot / media / duzy / Root
 apt-get update 

Instalar grub ( grub-install )

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

Prueba de USB con KVM ( enlace )

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

O prueba con VirtualBox

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