pc

Crear un USB persistente con Linux

En general los USB aun siguen existiendo de diversos tamaños y capacidades pero sabias que se puede crear un disco duro portable en linux con ellos…

Sí y ahora les voy a enseñar como se hace tanto para distribuciones como Debian o ArchLinux
comenzamos.

Veamos como se hace con ArchLinux en primeras instancias ya que me pareció muy peculiar que esta distribución también se pueda instalar en un pendrive yo pensé que por si su complejidad ya era bastante engroñoso instalarlo en un computador común imagínense ahora en un USB, 

No obstante deben de imaginar que su proceso de creación es muy difícil por ende les voy a explicar cada uno de los pasos para que no se pierdan como yo al inicio de crear un USB de pruebas..


Pasos de Instalación:

– Primero formateamos el pendrive en modo Fat32 con la terminal como en la imagen o desde el propio administrador de particiones o dependiendo de la distribución que tengas instalada ojo para hacer este paso con ArchLinux necesitamos como mínimo una unidad de 8GB esto para poder usar ArchLinux sin entorno gráfico si quieres añadir entorno y programas adicionales que no trabajen sobre consola deberás ampliar la capacidad, para este ejemplo lo instalare en una unidad de 8GB para poder ver sus uso en consola.

– Una vez echo y asegurándonos que esta limpio el USB para proceder a hacer otro formato pero esta vez lo haremos reconocible para una distro Linux utilizamos gparted o cfdisk cualquier herramienta que nos sirva para particionar discos en Linux servirá ya que debemos crear un formato al USB completo con la extensión de fichero ext4.


Ahora listo nuestro USB procedemos a ubicarnos en consola para los siguientes pasos.

– Creamos nuevamente la partición ext4 con el siguiente comando para que se vuelva persistente en almacenar datos nuevos en el.

 $ sudo mkfs.ext4 «^has_journal» -L «ArchUSDBSSD» /dev/sdbX

– En donde después de -L puedes nombrara a tu nuevo pendrive o disco con el nombre que tu quieras y en el sdbX en el lugar de la x el numero de tu pendrive o almacenamiento esto puede variar por si acaso puede llamarse sdc o sdb acecas ya depende el resultado que te arroje lsblk.

– Lo siguiente que haremos serán los pasos de descarga del núcleo del S.O que vamos a montar en este caso ArchLinux , para eso vamos a la pagina oficial donde se alojan los servidores escojamos el mas cercano o el de nuestro respectivo países y nos bajamos tanto la llave como el núcleo en si que están comprimidos en comando tar.


– Ahora los bajamos ya sea dándole el click y descargar o de manera mas profesional usando una terminal yo me creare una carpeta temporal en donde almacenare todos estos archivos que descargare (Por cierto tenemos que verificar que el paquete que vamos a descargar tenga la misma arquitectura de nuestro sistema eso lo hacemos con el comando $uname -a en consola).

– Lo primero hacer antes de continuar es validar que la llave que descargamos junto al núcleo no este expirada y sea valida para eso usamos el comando.

$ gpg –key-server-options autokey-retrieve –verify arch-key-xxxxx-xxx.tar.gz.sig


En donde veremos que el resultado si nos dice que la firma es correcta procedemos con el siguiente paso..

–  Creamos una carpeta llamada arch_chroot y con el comando $ tar -xzv descomprimimos el núcleo del sistema dentro de esta misma..

 – Nos debe de quedar una carpeta root.ARCH_NAME con el nombre de la arquitectura que bajamos recuerden que tiene que ser la misma de la maquina ya que vamos a usar unas librerías del sistema que tengamos instalado para que funcione en mi caso es root.x86_64 porque tengo un intel de 64 bits

– Ahora con nano editamos la siguiente ruta arch_chroot/root.x86_64/etc/pacman.d/mirrorlist en el cual editamos el fichero mirrorlist y descomentamos las lineas de los servidores globales de ArchLinux para poder hacer la comunicación con los paquetes pacman también les recomiendo descomentar los de su país o cercanía para tener una respuesta rápida en paquetes.

– Ahora comenzamos a montar muchas cosas primero montamos el bind del sistema en esa carpeta con el comando

$ sudo mount –bind arch_chroot/root.x86_64/ arch_chroot/root.x86_64/


Y veremos como se nos crean los ficheros con los directorios de la siguiente forma

– Luego copiamos y montamos las siguientes cosas puedes copiar los comandos que dejo a continuación:

$ sudo cp /etc/resolv.conf etc/

$ sudo mount -t proc /proc proc

$ sudo mount –rbind /sys sys 

$ sudo mount –rbind /dev dev

$ sudo mount –rbind /run run


Ahora entramos como chroot al sistema que descargamos para ello empleamos el siguiente comando pero para ello nos dirigimos a la carpeta donde se alojan los archivos que descargamos.

$ sudo chroot /bin/bash


Ahora activamos las llaves de ArchLinux con el siguiente comando

$ pacman-key –init

$ pacman-key –populate archlinux



– Luego después de que se cargue actualizamos y instalamos el sistema base.

– Montamos ahora el sistema en el usb y después configuramos el sistema de Arch Linux haciendo hincapié en algunos de los pasos ya que algunas configuraciones son necesarias para que funcione el usb en estado optimo sin ningún tipo de fallo al portarse a otra arquitectura por ejemplo pasar de un Hardware con Intel a uno con AMD.


Ahora entramos como chroot al sistema que montamos en el usb y continuamos con la configuración de instalación en la cual haremos hincapié en algunos de los pasos..

– Continuamos con la instalación

– En los hosts configuramos el localhost por si queremos usar un sistema persistente como un hosts de pruebas para paginas web es opcional solo ponen los siguiente

– Ahora en el mkinitcpio tendremos que añadir unos módulos que se cargaran para que en modules o modulos en español es donde añadiremos los siguientes módulos a cargar que son crc32 libcrc32c crc32c_generic crc32-intel crc32-pclmul después de añadir también comprobamos que este cargado en cabeceras o hooks tiene que estar añadido el block para que se carguen los bloques añadidos en el modulo.. y creamos el arranque del ramdiz.

– Se tienen que cargar de manera correcta como se ve en la imagen

– Ahora terminamos la configuración cargando el grub dentro del usb y hacemos un –recheck para que se instale de manera correcta sin ningún tipo de errores para cargar bien el arranque sin que crachee al insertar este usb en alguna otra maquina..

– Hacemos una prueba de sus funcionamiento este se ejecutara en modo terminal usare una maquina con un procesador AMD ya que para la instalación use una con Intel entonces para ver los módulos y su correcto funcionamiento sin error al portar a diferentes maquinas lo conectare para ver si funciona ya que también esta maquina no tiene ningún disco duro..

Habilitamos el booteo desde un usb externo en este caso como es un UEFI Bios esperamos a que nos pida login y probamos..

– Ahora para la configuración de Internet tenemos 2 caminos configurar de manera manual usando dhcpcd 
– O solo habilitando Networkmanager que es un servicio de demonio que configura de manera automática los drivers ya sea de wifi o de conexión cableada.

– Si lo hacemos con NetworkManager usamos el siguiente comando:

$ sudo pacman -S install Networkmanager

$ sudo systemd enable NetworkManager


$ sudo systemd start NetworkManager

 El comando de NetworkManager deben de recargarlo  cada vez que usen el pendrive en otra pc para que reconozca la tarjeta de red de ese equipo

– Si lo hacen con DHCPCD tienen que habilitar la tarjeta de red y crear un enlace symbolico a esta para que pueda funcionar.

$ ipconfig

$ sudo dhcpcd enp0s3 up


$ sudo dhcpcd enable enp0s3 -> ejemplo de una configuración

$ sudo systemctl enable [email protected] -> ejemplo de creación

Así es como se configura con dhcpcd al igual que NetworkManager debemos recargar la configuración cada vez que lo usemos en maquina diferentes.

AHORA VEMOS COMO SE HACE CON UNA DISTRO DE UBUNTU POR EJEMPLO CON XUBUNTU

– Tenemos que tener el USB formateado de la misma forma que con la instalación de ArchLinux corremos el entorno gráfico de instalación para que y seguimos los pasos normales solo que en la parte de instalar el sistema operativo seleccionamos el USB  o disco externo y cargamos toda la configuración en este y también el grub de arranque para que lo configure bueno en el caso de distribuciones  con entorno gráfico se recomiendo mínimo 32GB para arriba para su correcto funcionamiento en mi caso usare uno de 64GB..