GNU/Linux >> Linux Esercitazione >  >> Arch Linux

Ramroot:esegui Arch Linux interamente dalla RAM!

Come già sai, ogni giorno ci sono centinaia di nuove aggiunte al repository GitHub. Ma molti buoni progetti passano inosservati e non ricevono mai l'attenzione che meritano. Oggi mi sono imbattuto in un progetto interessante chiamato Ramroot . Usando Ramroot, possiamo eseguire Arch Linux interamente dalla RAM! Sì, avete letto bene.

Ramroot carica l'intero filesystem di root nella RAM all'avvio del sistema. È appositamente progettato per Arch Linux. L'ho provato in Ubuntu, ma non ha funzionato. Spero che lo sviluppatore riesca a farlo funzionare anche su altre distribuzioni Linux.

Esegui Arch Linux dalla RAM utilizzando Ramroot

Ramroot è disponibile in AUR , quindi puoi installarlo utilizzando qualsiasi programma di supporto AUR, ad esempio Paru o .

$ Paru -S ramroot

Oppure,

$ yay -S ramroot

Quindi, abilita Ramroot usando il comando:

$ ramroot enable

Risultato di esempio:

:: 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.

Se non funziona per qualsiasi motivo, prendi il binario Ramroot dal repository GitHub ed eseguilo come descritto di seguito.

Git clona il repository Ramroot usando il 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.

Il comando precedente creerà una cartella denominata "ramroot" nella directory di lavoro corrente e salverà tutto il contenuto del progetto Ramroot in essa.

Quindi, vai al bin di Ramroot directory:

$ cd ramroot/bin/

Rendi eseguibili i seguenti file:

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

Infine, esegui il comando seguente per abilitare Ramroot.

$ ./ramroot-enable

Inserisci il tuo sudo o root password quando richiesto.

Ora riavvia il sistema. Al processo di avvio, ti verrà chiesto di caricare il filesystem nella RAM. Digita "Sì" per procedere.

Carica il filesystem di root nella RAM

Tieni presente che per impostazione predefinita questa richiesta (s/n) è  con un timeout di 15 secondi se 4G o viene rilevata una quantità maggiore di RAM. Dato che ho 2GiB di RAM, ho dovuto digitare "Y" per continuare.

Attendi qualche istante per completare il processo di caricamento. Ci vorranno diversi minuti per caricare l'intero filesystem di root nella RAM. Assicurati di avere sufficiente RAM installata sul tuo sistema.

Se vuoi mantenere tempi di sincronizzazione della RAM più rapidi, prova a mantenere un sistema pulito e ridotto. Rimuovi i pacchetti vecchi e non necessari e mantieni pulita la cartella della cache dei pacchetti.

Aggiornamento:

Se utilizzi la versione più recente di Ramroot, la dimensione della RAM installata dovrebbe essere almeno 500 MB in più rispetto alla dimensione del filesystem di root . Se sono presenti almeno 500 MB di RAM in più rispetto alla dimensione del filesystem, all'utente verrà chiesto di caricare il filesystem di root nella RAM. Se la dimensione del filesystem di root è inferiore alla memoria installata, l'ultima versione di Ramroot non caricherà il filesystem di root nella tua RAM. Non ti chiederà nemmeno se dovrebbe caricare il filesystem nella RAM o meno. Il filesystem verrà montato automaticamente nel disco locale e Arch Linux si avvierà normalmente.

Una volta che il filesystem di root è stato caricato nella RAM, verrai reindirizzato a rootfs richiesta. Tieni presente che nulla verrà salvato dopo il riavvio . Perché il nostro Arch Linux si sta caricando interamente dalla RAM, non dal disco locale.

Filesystem di root caricato nella RAM

Visualizza la guida di Ramroot

Per visualizzare la sezione della guida di Ramroot, esegui:

$ ramroot --help

Risultato di esempio:

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).

Rimuovi Ramroot

Riavvia il sistema e digita "n" quando chiede di caricare il filesystem sulla RAM per accedere normalmente al tuo sistema Arch Linux. Vai a ramroot/bin cartella e rendi eseguibili i seguenti file.

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

Infine, rimuovi Ramroot dal tuo sistema Arch Linux usando i comandi:

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

Se hai installato Ramroot da AUR, rimuovilo usando i comandi:

$ ramroot disable
$ ramroot remove

E, infine, rimuovi il pacchetto Ramroot:

$ sudo pacman -Rns ramroot

Conclusione

Ramroot potrebbe essere utile per coloro che vogliono fare dei test sulla loro scatola Arch Linux. Inoltre, se vuoi una sessione privata per imparare i comandi di Linux, Ramroot è sicuramente utile. Fai un tentativo e non dimenticare di condividere le tue opinioni su questo progetto nella sezione commenti qui sotto.


Arch Linux
  1. Come ignorare l'aggiornamento di un pacchetto in Arch Linux

  2. Linux:come eseguire un bootloader da Linux?

  3. Esegui il comando su più server Linux da Windows

  4. Esegui uno script reindirizzato da stdin (Linux/Shell Scripting)

  5. Come avviare il sistema Ubuntu ed eseguirlo interamente nella RAM?

Come compilare PHP7.0/PHP7.1 dal sorgente su Arch Linux

Come collegare iPhone ad Arch Linux

Come impedire a PHP-FPM di consumare troppa RAM in Linux

Come installare Skype su Arch Linux

Come installare Java su Arch Linux

10 migliori sistemi operativi/distribuzioni Linux portatili da installare ed eseguire da USB