Apakah mungkin untuk membuat ramdisk tmpfs yang tumbuh secara otomatis pada Android 4.x yang di-rooting? Jika ya, bagaimana?
temp-files
eadmaster
sumber
sumber
Jawaban:
Jika Anda melakukannya,
cat /proc/filesystems
Anda harus memperhatikan tmpfs . Jadi, jika Anda memiliki akses kemount
perintah, Anda harus bisamkdir MYDIRECTORY
)mount -t tmpfs tmpfs MYDIRECTROY
)Per default tmpfs-mount akan menggunakan halv dari RAM yang tersedia di sistem Anda. Jadi alih-alih "tumbuh otomatis" Anda dapat menganggapnya sebagai "menyusut otomatis" - yaitu semakin banyak Anda menggunakannya, semakin sedikit RAM yang tersedia. Dalam kasus terburuk, sistem Anda mungkin mulai bertukar (yang tidak Anda inginkan). Anda dapat menggunakan opsi untuk menggunakan ukuran RAM yang berbeda untuk pemasangan itu.
2017-02-28 Pembaruan: Karena batasan yang diberlakukan oleh Android, Anda harus memilih titik pemasangan di bawah yang dapat ditulisi ke semua Aplikasi. Seperti Kartu SD.
sumber
mount -o size=16M -t tmpfs tmpfs /data/local/tmp
ls -Fal
dalam direktori yang di-mount?ls -Fal
dalam direktori mount tidak memberikan output. Saya baru saja mendapatkan prompt kembali. Jika saya daftar direktori dari orang tua, saya dapatkandrwxrwxrwt root root 2014-04-06 20:18 tmp
Dari tautan yang dilampirkan OP, bagian kuncinya menyimpulkan:
Tekankan pada saya, itu yang dimaksud dengan RAMDisk! Ini memungkinkan kernel untuk secara temporer me-mount sistem file root, dan melanjutkan mengeksekusi skrip yang diperlukan saat start-up.
Hal yang sama berlaku dalam kasus Android ini, masing-masing dan setiap
boot.img
yang di-flash ke/boot
partisi, apakah oleh Odin, fastboot, Kies, Perangkat Lunak Pembaruan Sony, Heimdall, dll, berisi "kode ramfs", yang memiliki struktur direktori berisi, yang terkait sudah termasuk:/dev
untuk file perangkat/sbin
untuk binari sistem/sys
untuk penggunaan berinteraksi dengan file perangkat setelah/proc
dipasangSkrip boot-up membaca struktur direktori ramfs dan memasangnya setelah berhasil memasang
/system
pada tahap awal boot.Seperti dalam kaitannya dengan kata kunci OP dalam pertanyaan:
Itu tidak otomatis tumbuh sendiri, melainkan dibatasi oleh struktur ramfs, dan jumlah RAM yang tersedia, dan yang lebih penting, itu menghilang saat reboot!
Kebingungan datang dari inter-pencampuran "RAMDisk" dengan "RAMDrive" secara bergantian, secara teknis RAMDrive, adalah ruang swap di partisi swap asli, biasanya ditemukan di desktop Linux Jika Anda berpikir tentang era DOS lama, di mana RAMDrive digunakan , untuk mensimulasikan penghuni disk drive dalam memori, dan program ketika disalin ke disk, dan dimuat lebih cepat tidak mengeksekusi lebih cepat , daripada memuat dari drive disk MFM / RLL lama ( Pernah melihat daftar direktori DOS gulir dengan sangat lambat pada drive tersebut ? ) ini, juga dikenal sebagai RAMDisk! (Untuk memperburuk keadaan, saat itu, berbagai produsen menghasilkan RAMDRIVE.SYS atau bahkan RAMDISK.SYS!)
Dalam hal sudut pandang kernel Linux, baik desktop dan Android, RAMDisk adalah tmpfs , tetapi tidak dimaksudkan untuk pengguna normal untuk menyimpan data / dokumen dll karena itu hanya untuk penggunaan oleh kernel itu sendiri!
Edit
Untuk mencatat komentar @ nil di bawah ini, Anda dapat memasangnya ya, tetapi disertai dengan biaya, sumber daya yang dialokasikan untuk
tmpfs
separuh dan menggunakan hingga setengah dari jumlah RAM yang tersisa. Secara realistis, ini bukan cara yang ideal untuk mengejar dari sudut pandang Android yang berjalan pada perangkat.Di situlah
/sdcard
masuk, untuk menyimpan data pengguna / dokumen untuk alasan itu saja, maka mengapa saya menghilangkan fakta bahwa Anda bisa, tetapi sekali lagi, mengapa ?sumber
mount -t tmpfs
.mount -t tmpfs
setelah membaca ramfs (yang memiliki skrip init barebones), setelah itu di-mount, maka seluruh sistem akan menampilkan seperti pada post-boot, yang merupakan lingkungan Android. Selain itu, dengan melakukan itu setelah itu, misalnyaadb shell
, Anda mengurangi sumber daya sistem, terutama dalam hal ponsel cerdas dengan memori dan sumber daya terbatas!