GNU/Linux >> Znalost Linux >  >> Arch Linux

Ramroot – Spusťte Arch Linux zcela z RAM!

Jak již víte, každý den přibývají stovky nových přírůstků do úložiště GitHub. Mnoho dobrých projektů však zůstane bez povšimnutí a nikdy se jim nedostane takové pozornosti, jakou si zaslouží. Dnes jsem narazil na skvělý projekt s názvem Ramroot . Pomocí Ramroot můžeme spustit Arch Linux zcela z RAM! Ano, čtete správně.

Ramroot načte celý kořenový souborový systém do paměti RAM při spouštění systému. Je speciálně navržen pro Arch Linux. Zkoušel jsem to v Ubuntu, ale nefungovalo to. Doufám, že vývojář bude fungovat i na jiných distribucích Linuxu.

Spusťte Arch Linux z RAM pomocí Ramroot

Ramroot je k dispozici v AUR , takže jej můžete nainstalovat pomocí jakéhokoli pomocného programu AUR, například Paru nebo Ano .

$ Paru -S ramroot

Nebo,

$ yay -S ramroot

Poté povolte Ramroot pomocí příkazu:

$ ramroot enable

Ukázkový výstup:

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

Pokud to z nějakého důvodu nefunguje, stáhněte si binární soubor Ramroot z úložiště GitHub a spusťte jej, jak je popsáno níže.

Git naklonuje úložiště Ramroot pomocí příkazu:

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

Výše uvedený příkaz vytvoří složku s názvem "ramroot" v aktuálním pracovním adresáři a uloží do ní veškerý obsah projektu Ramroot.

Poté přejděte do bin Ramroot adresář:

$ cd ramroot/bin/

Udělejte následující soubory jako spustitelné:

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

Nakonec spusťte následující příkaz a povolte Ramroot.

$ ./ramroot-enable

Zadejte své sudo nebo root po výzvě heslo.

Nyní restartujte systém. Při procesu spouštění budete vyzváni k načtení souborového systému do paměti RAM. Zadejte Ano pokračovat.

Načtěte kořenový souborový systém do RAM

Upozorňujeme, že tato výzva (y/N) má výchozí hodnotu ano s časovým limitem 15 sekund, pokud je 4G nebo bylo zjištěno více paměti RAM. Protože mám 2GiB RAM, musel jsem zadat "Y" pokračovat.

Na dokončení procesu načítání chvíli počkejte. Načtení celého kořenového souborového systému do RAM bude trvat několik minut. Ujistěte se, že máte v systému nainstalovanou dostatečnou RAM.

Pokud chcete zachovat rychlejší časy synchronizace paměti RAM, snažte se udržovat čistý a ořezaný systém. Odstraňte staré a nepotřebné balíčky a udržujte složku mezipaměti balíčků čistou.

Aktualizace:

Pokud používáte nejnovější verzi Ramroot, nainstalovaná velikost RAM by měla být alespoň o 500 MB větší než velikost kořenového souborového systému . Pokud je v paměti RAM alespoň o 500 MB více, než je velikost souborového systému, uživatel bude vyzván k načtení kořenového souborového systému do RAM. Pokud je velikost kořenového souborového systému menší než nainstalovaná paměť, nejnovější verze Ramroot nenačte kořenový souborový systém do vaší RAM. Ani se vás nevyzve, zda má načíst souborový systém do RAM nebo ne. Souborový systém bude automaticky připojen na váš lokální disk a Arch Linux se normálně spustí.

Jakmile je kořenový souborový systém načten do paměti RAM, dostanete se do rootfs výzva. Upozorňujeme, že po restartu se nic neuloží . Protože náš Arch Linux se zcela načítá z paměti RAM, nikoli z místního disku.

Kořenový souborový systém načtený do RAM

Zobrazit nápovědu k Ramroot

Chcete-li zobrazit sekci nápovědy Ramroot, spusťte:

$ ramroot --help

Ukázkový výstup:

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

Odstranit Ramroot

Restartujte systém a zadejte "n" když požádá o načtení souborového systému do RAM, aby se normálně přihlásil do vašeho systému Arch Linux. Přejděte na ramroot/bin a udělejte následující soubory jako spustitelné.

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

Nakonec odeberte Ramroot ze systému Arch Linux pomocí příkazů:

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

Pokud jste nainstalovali Ramroot z AUR, odstraňte jej pomocí příkazů:

$ ramroot disable
$ ramroot remove

A nakonec odstraňte balíček Ramroot:

$ sudo pacman -Rns ramroot

Závěr

Ramroot může být užitečný pro ty, kteří chtějí provést nějaké testování na svém počítači Arch Linux. Také, pokud chcete soukromou relaci, abyste se naučili příkazy Linuxu, Ramroot je rozhodně užitečný. Vyzkoušejte to a nezapomeňte se podělit o své názory na tento projekt v sekci komentářů níže.


Arch Linux
  1. Jak ignorovat balíček z upgradu v Arch Linuxu

  2. Linux – Jak spustit bootloader z Linuxu?

  3. Spuštění skriptu z stdin (Linux/Shell Scripting)

  1. Jak nainstalovat VirtualBox na Arch Linux

  2. Spusťte příkaz na více linuxových serverech z Windows

  3. Jak přimět systém Ubuntu, aby se spustil a běžel zcela v paměti RAM?

  1. Jak nainstalovat Arch Linux na VirtualBox

  2. Nastavení a instalace Arch Linuxu

  3. 3 způsoby instalace Arch Linuxu