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.