¿Qué comandos son necesarios para instalar Ubuntu Core?

18

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

  1. Descomprima (no descomprima) rootfs
  2. Los medios de comunicación de destino Formato: al menos una partición debe ser ext2, ext3oext4
  3. Descomprima Ubuntu Core para ext{2,3,4}particionar
  4. Instalar el cargador de arranque
  5. Instalar Linux
  6. Si el núcleo Linux requiere módulos, añadir estos a /lib/modules/$(uname -r)en el ext{2,3,4}sistema de archivos
  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 desempacando, ¿cuál es la diferencia y cómo los hago?
  2. ¿Qué paquete debo instalar si quiero el núcleo genérico proporcionado en la instalación habitual de Ubuntu?
  3. No instalaré ningún controlador ni nada relacionado con el kernel que no sea lo que se proporciona en los repositorios, ¿debo preocuparme por agregar manualmente los módulos del kernel?

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 no están familiarizados y yo mismo, si alguna vez lo olvido.

Oxwivi
fuente

Respuestas:

19

Todos esos comandos requerirán derechos de administrador. Lo más fácil es hacer sudo supara obtener una consola raíz.

  1. Los archivos como su núcleo .tar.gz (esto es onírico, la 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 en 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 aquí . En pocas palabras, suponiendo que desee particionar el dispositivo / dev / sda:

    fdisk /dev/sdaluego presione n p 1 <Return> <Return> 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 mkfs.ext3, mkfs.ext2también puedes usarlo .

    Montarlo: mount /dev/sda1 /mnte ir allícd /mnt

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

    descomprimirá el núcleo (muchos archivos).

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

    instalará el gestor de arranque (por supuesto, esta es solo 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 solucionador DNS

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

    irá a un chroot, vea ¿Hay una manera más fácil de chroot que el montaje de unión? para detalles sobre el montaje rbind

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

    instalará kernel ("linux")

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

  8. reboot y estás listo para ir

No tengo una máquina para probar esto, por lo que la respuesta probablemente no estará completa. Cambiaré mi respuesta si te encuentras con problemas.

turbo
fuente
¿Supongo que puedo crear usuarios usando el chrootentorno?
Oxwivi
¡Sí, definitivamente! Recuerde usar adduseren lugar de useraddcomo es más cómodo.
turbo
1
No podré probarlos inmediatamente también, pero lo acepto, ya que, a mi entender, funcionará perfectamente. Voy a comentar y editar si encuentro algún inconveniente.
Oxwivi
1
Excelente guia. Encontré que este es un proceso más fácil que el que se encuentra en el wiki de Ubuntu aquí: wiki.ubuntu.com/Core/InstallationExample . Sin embargo, una vez que terminé, no pude iniciar sesión como usuario normal, ni siquiera a un usuario normal desde la raíz . Recibí el error "No se puede ejecutar / bin / bash: permiso denegado" y "usuario desconocido para el módulo de autenticación subyacente". El problema era que el directorio raíz (/) no tenía permisos de lectura o ejecución para un grupo u otro. Ejecutar chmod go+rx /como root solucionó este problema. ¡Algo a tener en cuenta!
Alex
@turbo Cada paso explicas lo que hace. Excepto el paso cinco "Ir a un chroot:" no explica lo que está haciendo aquí. ¿Podrías dar más detalles?
Pro Backup
2

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

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

Podría haber muchas formas de jugar con un rootfs. Lo 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 serlo, porque en realidad no hay configuración de red. No se crearon ni devfs ni sysfs, por lo que muchas utilidades que dependen de esas interfaces de inodo 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

Instale Ubuntu Core rootfs e imágenes del kernel.

sudo bash
cd / media / duzy / Root
tar xzvf ~ / Descargas / 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
Ingrese la nueva contraseña UNIX: ......
Vuelva a escribir la nueva contraseña UNIX: ......
cp /etc/resolv.conf /media/duzy/Root/resolv.conf
for s in proc sys dev; do mount --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
Duzy Chan
fuente