GNU/Linux >> Tutoriales Linux >  >> Arch Linux

Ramroot:¡ejecuta Arch Linux completamente desde la RAM!

Como ya sabes, todos los días hay cientos de nuevas incorporaciones al repositorio de GitHub. Pero, muchos buenos proyectos pasan desapercibidos y nunca reciben la atención que merecen. Hoy, me topé con un proyecto genial llamado Ramroot . ¡Usando Ramroot, podemos ejecutar Arch Linux completamente desde RAM! Sí, has leído bien.

Ramroot carga todo el sistema de archivos raíz en la RAM al arrancar el sistema. Está especialmente diseñado para Arch Linux. Lo probé en Ubuntu, pero no funcionó. Espero que el desarrollador también lo haga funcionar en otras distribuciones de Linux.

Ejecute Arch Linux desde RAM usando Ramroot

Ramroot está disponible en AUR , para que pueda instalarlo usando cualquier programa auxiliar de AUR, por ejemplo, Paru o Yay .

$ Paru -S ramroot

O,

$ yay -S ramroot

Luego, habilite Ramroot usando el comando:

$ ramroot enable

Salida de muestra:

:: Detected root UUID: 6517af02-68e9-484e-9dae-f0ed61822ad3
:: No /boot UUID detected.
:: zram added to mkinitcpio.conf MODULES
:: ext4 added to mkinitcpio.conf MODULES
:: vfat added to mkinitcpio.conf MODULES
:: ramroot added to mkinitcpio.conf HOOKS
:: Enabling ramroot...
[sudo] password for sk: 
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 4.17.6-1-ARCH
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [ramroot]
-> Running build hook: [autodetect]
-> Running build hook: [modconf]
-> Running build hook: [block]
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 4.17.6-1-ARCH
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [ramroot]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: aic94xx
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
:: ramroot enabled.

Si no funciona por algún motivo, tome el binario Ramroot del repositorio de GitHub y ejecútelo como se describe a continuación.

Git clona el repositorio Ramroot usando el comando:

$ git clone https://github.com/arcmags/ramroot.git
Cloning into 'ramroot'...
remote: Counting objects: 94, done.
remote: Compressing objects: 100% (52/52), done.
remote: Total 94 (delta 41), reused 82 (delta 32), pack-reused 0
Unpacking objects: 100% (94/94), done.

El comando anterior creará una carpeta llamada "ramroot" en el directorio de trabajo actual y guardará todo el contenido del proyecto Ramroot en ella.

Luego, vaya a Ramroot bin directorio:

$ cd ramroot/bin/

Haga que los siguientes archivos sean ejecutables:

$ chmod +x ramroot-build
$ chmod +x ramroot-enable

Finalmente, ejecute el siguiente comando para habilitar Ramroot.

$ ./ramroot-enable

Introduce tu sudo o root contraseña cuando se le solicite.

Ahora, reinicie el sistema. En el proceso de arranque, se le pedirá que cargue el sistema de archivos en la RAM. Escribe "Sí" para proceder.

Cargue el sistema de archivos raíz en la RAM

Tenga en cuenta que este aviso (s/n) está predeterminado en  con un tiempo de espera de 15 segundos si 4G o más de RAM se detecta. Como tengo 2 GiB de RAM, tuve que escribir "Y" para continuar.

Espere un momento para que finalice el proceso de carga. Llevará varios minutos cargar todo el sistema de archivos raíz en la RAM. Asegúrese de tener suficiente RAM instalada en su sistema.

Si desea mantener tiempos de sincronización de RAM más rápidos, intente mantener un sistema limpio y recortado. Elimine los paquetes antiguos e innecesarios y mantenga limpia la carpeta de caché de paquetes.

Actualización:

Si usa la versión más reciente de Ramroot, el tamaño de RAM instalado debe ser al menos 500 MB más que el tamaño del sistema de archivos raíz . Si hay al menos 500 MB más de RAM que el tamaño del sistema de archivos, se le pedirá al usuario que cargue el sistema de archivos raíz en la RAM. Si el tamaño del sistema de archivos raíz es menor que la memoria instalada, la última versión de Ramroot no cargará el sistema de archivos raíz en su RAM. Ni siquiera le preguntará si debe cargar el sistema de archivos en la RAM o no. El sistema de archivos se montará en su disco local automáticamente y Arch Linux se iniciará normalmente.

Una vez que el sistema de archivos raíz se cargue en la RAM, aterrizará en rootfs oportuno. Tenga en cuenta que no se guardará nada después de reiniciar . Porque nuestro Arch Linux se carga completamente desde la RAM, no desde el disco local.

Sistema de archivos raíz cargado en RAM

Mostrar la ayuda de Ramroot

Para mostrar la sección de ayuda de Ramroot, ejecute:

$ ramroot --help

Salida de muestra:

NAME
ramroot - load root (and /boot) filesystem entirely to RAM during boot

SYNOPSIS
ramroot <ACTION> [OPTIONS]

ACTIONS
disable
Remove ramroot from /etc/mkinitcpio.conf HOOKS.
Remove ext4, vfat, and zram from /etc/mkinitcpio.conf MODULES.
Rebuild linux cpio boot image.

enable
Rebuild build and runtime hooks in /usr/lib/initcpio.
Add ramroot to /etc/mkinitcpio.conf HOOKS.
Add ext4, vfat, and zram to /etc/mkinitcpio.conf MODULES.
Rebuild linux cpio boot image.

remove
Disable ramroot.
Remove build and runtime hooks from /usr/lib/initcpio.

status
Print ramroot and root filesystem status to screen.
Return exit status 0 if enabled and currently loaded to RAM.
Return exit status 1 if enabled and not loaded RAM.
Return exit status 2 if disabled.

OPTIONS
-b, --boot <UUID>
Specify /boot partition UUID to use when building hooks.

-D, --dryrun
Execute ACTION without making any changes.

-F, --fstab
Mount all other partitions in /etc/fstab normally.

-H, --help
Display help text and exit.

-K, --keep
Keep copies of new build and runtime hooks in ~/.cache/ramroot.

-M, --message
Print 'Arch on RAM' message at tty login by using custom /etc/issue.

-N, --no
Change startup prompt default to not load filesystem to RAM.

-r, --root <UUID>
Specify root partition UUID to use when building hooks.

-t, --timeout <SECONDS>
Set RAM boot prompt timeout (default=15).

Eliminar ramroot

Reinicie su sistema y escriba "n" cuando solicita cargar el sistema de archivos en la RAM para iniciar sesión normalmente en su sistema Arch Linux. Vaya a ramroot/bin y haga que los siguientes archivos sean ejecutables.

$ cd ramroot/bin/
$ chmod +x ramroot-disable
$ chmod +x ramroot-remove

Finalmente, elimine Ramroot de su sistema Arch Linux usando los comandos:

$ ./ramroot-disable
$ ./ramroot-remove

Si ha instalado Ramroot desde AUR, elimínelo usando los comandos:

$ ramroot disable
$ ramroot remove

Y, finalmente, elimine el paquete Ramroot:

$ sudo pacman -Rns ramroot

Conclusión

Ramroot podría ser útil para aquellos que quieran hacer algunas pruebas en su caja Arch Linux. Además, si desea una sesión privada para aprender los comandos de Linux, Ramroot definitivamente es útil. Pruébalo y no olvides compartir tus opiniones sobre este proyecto en la sección de comentarios a continuación.


Arch Linux
  1. Cómo ignorar la actualización de un paquete en Arch Linux

  2. Linux:¿cómo ejecutar un gestor de arranque desde Linux?

  3. Ejecute el comando en varios servidores Linux desde Windows

  4. Ejecute un script canalizado desde stdin (Linux/Shell Scripting)

  5. ¿Cómo hacer que el sistema Ubuntu arranque y se ejecute completamente en RAM?

Cómo compilar PHP7.0/PHP7.1 desde la fuente en Arch Linux

Cómo conectar iPhone a Arch Linux

Cómo evitar que PHP-FPM consuma demasiada RAM en Linux

Cómo instalar Skype en Arch Linux

Cómo instalar Java en Arch Linux

Los 10 mejores sistemas operativos/distribuciones portátiles de Linux para instalar y ejecutar desde USB