GNU/Linux >> Belajar Linux >  >> Arch Linux

Ramroot – Jalankan Arch Linux Sepenuhnya Dari RAM!

Seperti yang sudah Anda ketahui, setiap hari ada ratusan tambahan baru pada repositori GitHub. Namun, banyak proyek bagus yang luput dari perhatian, dan tidak pernah menerima perhatian yang layak mereka dapatkan. Hari ini, saya menemukan proyek keren bernama Ramroot . Menggunakan Ramroot, kita dapat menjalankan Arch Linux sepenuhnya dari RAM! Ya, Anda tidak salah baca.

Ramroot memuat seluruh sistem file root ke dalam RAM saat boot sistem. Ini dirancang khusus untuk Arch Linux. Saya mencobanya di Ubuntu, tetapi tidak berhasil. Saya berharap pengembang akan membuatnya bekerja pada distribusi Linux lainnya juga.

Jalankan Arch Linux Dari RAM Menggunakan Ramroot

Ramroot tersedia dalam AUR , sehingga Anda dapat menginstalnya menggunakan program pembantu AUR apa pun, misalnya Paru atau Yay .

$ Paru -S ramroot

Atau,

$ yay -S ramroot

Kemudian, aktifkan Ramroot menggunakan perintah:

$ ramroot enable

Contoh keluaran:

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

Jika tidak berhasil karena alasan apa pun, ambil biner Ramroot dari repositori GitHub dan jalankan seperti yang dijelaskan di bawah ini.

Git clone repositori Ramroot menggunakan perintah:

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

Perintah di atas akan membuat folder bernama "ramroot" di direktori kerja saat ini dan menyimpan semua konten proyek Ramroot di dalamnya.

Lalu, pergi ke Ramroot bin direktori:

$ cd ramroot/bin/

Jadikan file berikut dapat dieksekusi:

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

Terakhir, jalankan perintah berikut untuk mengaktifkan Ramroot.

$ ./ramroot-enable

Masukkan sudo . Anda atau root sandi saat diminta.

Sekarang, reboot sistem. Saat proses boot, Anda akan diminta untuk memuat sistem file ke dalam RAM. Ketik "Ya" untuk melanjutkan.

Muat sistem file root ke RAM

Harap perhatikan bahwa perintah (y/T) ini ditetapkan secara default ke ya dengan batas waktu 15 detik jika 4G atau lebih dari RAM terdeteksi. Karena, saya memiliki RAM 2GiB, saya harus mengetik "Y" untuk melanjutkan.

Tunggu beberapa saat hingga proses loading selesai. Ini akan memakan waktu beberapa menit untuk memuat seluruh sistem file root ke dalam RAM. Pastikan Anda memiliki RAM yang cukup terpasang di sistem Anda.

Jika Anda ingin mempertahankan waktu sinkronisasi RAM yang lebih cepat, cobalah untuk menjaga sistem tetap bersih dan rapi. Hapus paket lama dan tidak perlu, dan jaga kebersihan folder cache paket Anda.

Pembaruan:

Jika Anda menggunakan versi Ramroot terbaru, ukuran RAM yang terpasang setidaknya harus 500MB lebih besar dari ukuran sistem file root . Jika ada setidaknya 500MB lebih banyak RAM daripada ukuran sistem file, pengguna akan diminta untuk memuat sistem file root ke RAM. Jika ukuran sistem file root kurang dari memori yang terpasang, versi Ramroot terbaru tidak akan memuat sistem file Root di RAM Anda. Itu bahkan tidak akan menanyakan apakah itu harus memuat sistem file ke dalam RAM atau tidak. Sistem file akan dipasang di disk lokal Anda secara otomatis dan Arch Linux akan melakukan booting secara normal.

Setelah sistem file root dimuat ke dalam RAM, Anda akan diarahkan ke rootfs mengingatkan. Harap perhatikan bahwa tidak ada yang akan disimpan setelah reboot . Karena Arch Linux kami sepenuhnya memuat dari RAM, bukan dari disk lokal.

Sistem file root dimuat ke dalam RAM

Menampilkan bantuan Ramroot

Untuk menampilkan bagian bantuan Ramroot, jalankan:

$ ramroot --help

Contoh keluaran:

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

Hapus Ramroot

Nyalakan ulang sistem Anda, dan ketik "n" ketika diminta untuk memuat sistem file ke RAM untuk masuk secara normal ke sistem Arch Linux Anda. Buka ramroot/bin folder dan membuat file berikut sebagai executable.

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

Terakhir, hapus Ramroot dari sistem Arch Linux Anda menggunakan perintah:

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

Jika Anda telah menginstal Ramroot dari AUR, hapus menggunakan perintah:

$ ramroot disable
$ ramroot remove

Dan, terakhir hapus paket Ramroot:

$ sudo pacman -Rns ramroot

Kesimpulan

Ramroot mungkin berguna bagi mereka yang ingin melakukan beberapa pengujian pada kotak Arch Linux mereka. Juga, jika Anda ingin sesi pribadi untuk mempelajari perintah Linux, Ramroot sangat membantu. Cobalah, dan jangan lupa untuk membagikan pendapat Anda tentang proyek ini di bagian komentar di bawah.


Arch Linux
  1. Linux – Bagaimana Cara Menjalankan Bootloader Dari Linux?

  2. Jalankan perintah di beberapa server linux dari windows

  3. Jalankan skrip yang disalurkan dari stdin (Linux/Shell Scripting)

  1. Cara Menginstal VirtualBox di Arch Linux

  2. Cara Mengabaikan Paket Agar Tidak Diupgrade Di Arch Linux

  3. Bagaimana cara agar sistem Ubuntu mem-boot dan menjalankan sepenuhnya dalam RAM?

  1. Bagaimana menginstal Arch Linux di VirtualBox

  2. Pengaturan dan Instalasi Arch Linux

  3. 3 Cara Menginstal Arch Linux