Hoy crearemos una unidad USB “en vivo” con una imagen de instalación de Arch Linux. “En vivo” en el sentido de que durante el uso será posible instalar y eliminar programas, cambiar cualquier archivo y guardar cambios. He preparado para ti las instrucciones más detalladas sobre los pasos básicos, pero luego podrás configurar todo como quieras.
Cada usuario de Linux tiene un sistema favorito. Algunos incluso tienen varios, cada uno para tareas específicas. Uno de estos casos especiales es un sistema portátil que se puede iniciar en la máquina de otra persona o en la suya si el sistema operativo principal deja de funcionar correctamente de repente.
Existen muchos desarrollos ya preparados diseñados específicamente para resolver estos problemas. Pero queremos conseguir un entorno completamente personalizado, familiar y con un conjunto de programas necesarios.
Aquí hay dos opciones: crear una imagen ISO de arranque o simplemente instalar todo en una unidad flash. En el primer caso, el sistema será mucho más compacto, en el segundo obtendremos la importante posibilidad de instalar y eliminar programas y cambiar configuraciones mientras trabajamos.
Sí, la unidad flash se desgastará, pero ahora son económicas y, en mi opinión, la capacidad de trabajar con un sistema operativo completo es mucho más importante.
Preparación
Realizaré todo el trabajo en Arch Linux para x86-64 y tomaré el archiso original, que se utiliza para crear imágenes ISO oficiales.
Por lo tanto, se deben instalar los siguientes paquetes en el sistema: archiso, arch-install-scripts, gptfdisk.
Puede instalarlo inmediatamente en una unidad USB o crear una imagen de disco, que luego se puede escribir en una unidad flash. A continuación, describiré el proceso de creación de una imagen de disco.
Cree un archivo vacío que se ajuste al tamaño de la unidad flash
Vayamos al directorio donde crearemos nuestra imagen.
Все дальнейшие действия будем делать с привилегиями суперпользователя.
Чтобы тебе было легче ориентироваться, буду показывать вывод некоторых команд.
Узнать точный размер устройства можно командой
lsblk -bo NAME,SIZE
NAME SIZE
sda4005527552
├─sda1 10485760
├─sda2 268435456
└─sda3 3725540864
mmcblk0 62226694144
├─mmcblk0p1 209715200
└─mmcblk0p2 62015930368
Она покажет все устройства, среди них тебе нужно найти свой USB-накопитель.
Узнав номер устройства, ты можешь составить команду и задать нужный размер файла. Делим размер на 4096 и получаем нужное количество блоков.
Примеры:
16 Гб: 16034824192 / 4096 = 3914752
4 Гб: 4005527552 / 4096 = 977912
4096 es el tamaño de sector normal para un sistema de archivos.
El comando para crear un archivo. usb.img
4 GB de tamaño:
dd if=/dev/zero of=usb.img bs=4096 count=977912 status=progress
$ dd if=/dev/zero of=usb.img bs=4096 count=977912 status=progreso
3651747840 bytes (3,7 GB, 3,4 GiB) copiados, 8 s, 456 MB/s
977912+0 registros recibidos
977912+0 entradas enviadas
4005527552 bytes (4,0 GB, 3,7 GiB) copiados, 8,78378 s, 456 MB/s
Proveryaem:
$ ls -la usb.img
-rw-rw-r-- 1 root root 4005527552 апр 25 19:51 usb.img
Если файл получился больше, можно обрезать до нужной длины с помощью truncate
. Por ejemplo, hasta 16 GB:
truncate -s 16034824192 usb.img
Crear particiones de disco
Para que nuestro sistema arranque en computadoras con BIOS y EFI, necesitamos dividir el disco en tres particiones:
- uno: 10 MB, sin sistema de archivos, necesarios para instalar el cargador de arranque GRUB en modo BIOS;
- el segundo - 256 MB, se formateará en FAT32, crearemos una partición aquí
boot
e instale GRUB en modo EFI; - Le daremos todo el espacio restante al sistema de archivos raíz. Vamos a formatearlo en Ext4.
Creo una partición GPT y divido el disco en tres particiones:
sgdisk -o -n 1:0:+10M -t 1:EF02 -n 2:0:+256M -t 2:EF00 -n 3:0:0 -t 3:8300 usb.img
$ sgdisk -o -n 1:0:+10M -t 1:EF02 -n 2:0:+256M -t 2:EF00 -n 3:0:0 -t 3:8300 usb.img
Creando nuevas entradas GPT en la memoria.
Advertencia: el kernel todavía usa la tabla de particiones anterior.
La nueva tabla se utilizará en el próximo reinicio o después de que usted
ejecute partprobe(8) o kpartx(8)
La operación se ha completado con éxito.
Montar la imagen creada en el sistema.
Crear un enlace entre el archivo de imagen. usb.img
y un dispositivo de bucle invertido. Esto le permite trabajar con el archivo de imagen como si fuera un dispositivo físico, como una unidad USB.
losetup --show -Pf usb.img
$ losetup --show -Pf usb.img
/dev/bucle0
El comando mostrará el nombre del dispositivo creado, en este caso es /dev/loop0
.
Проверяем.
$ ls /dev/loop0*
/dev/loop0
/dev/loop0p1
/dev/loop0p2
/dev/loop0p3
У нашего образа должно быть три раздела: loop0p1
, loop0p2
, loop0p3
.
Secciones de formato
Según el estándar, la partición EFI debe formatearse en FAT32.
mkfs.fat -F32 /dev/loop0p2
$ mkfs.fat -F32 /dev/loop0p2
mkfs.fat 4.2 (2021-01-31)
La tercera sección será la principal; para ello podrás elegir cualquier FS que sea compatible tanto con el gestor de arranque como con el kernel.
Formato en Ext4:
$ mkfs.ext4 /dev/loop0p3
mke2fs 1.46.5 (30-Dec-2021)
...
...
Создание журнала (16384 блоков): готово
Writing superblocks and filesystem accounting information: готово
Монтируем разделы в /mnt/usb
Сначала мы смонтируем раздел /dev/loop0p3
, esta será nuestra partición principal en la que instalaremos el sistema. Luego en esta sección crearemos un directorio. /boot
en el que montaremos la partición /dev/loop0p2
.
mkdir -p /mnt/usb
mount /dev/loop0p3 /mnt/usb
mkdir /mnt/usb/boot
mount /dev/loop0p2 /mnt/usb/boot
Copiar airrootfs
Algunas palabras sobre archiso. Esta es una herramienta que crea imágenes oficiales de Arch Linux. Consta de dos partes: guión mkarchiso
, que recopila la imagen, y un directorio con la configuración de la imagen futura. Necesitaremos un directorio con configuraciones. Contiene:
- una lista de paquetes que deben instalarse, se almacenan en un archivo
packages.x86_64
; - catálogo
airootfs
. Su estructura es idéntica a la estructura de las configuraciones del sistema Arch Linux que se encuentran aquí;
Tendremos que especificar la ruta al directorio con la configuración de archiso tres veces. Para hacerlo más fácil, pongamos la ruta en una variable.
export ARCHISO=/usr/share/archiso/configs/releng
2024-05-24 19:57:45
#Arco #bolsillo #Hacer #una #unidad #flash #con #una #imagen #vivo #Arch #Linux #Hacker,