Jangan berpikir tentang Android sebagai distribusi Linux yang banyak dimodifikasi. Karena tidak. Satu-satunya hal yang Android bagikan dengan distribusi Linux adalah kernel. Dan bahkan komponen ini dimodifikasi. Juga komponen inti lainnya, seperti libc, berbeda.
Android tidak /etc/fstab
Anda tidak perlu /etc/fstab
memasang partisi. Tapi ada IIRC tidak ada mount
perintah juga. dev_mount
harus bekerja (root diperlukan). Untuk menjawab judul pertanyaan Anda: Semua pemasangan sistem startup dilakukan dengan /etc/vold.fstab
skrip pembantu.
File fstab ada di
/
.Disebut di
/fstab.$systemname.rc
mana$systemname
didasarkan pada properti sidik jari handset, baik diidentifikasi sebagai kategori chipset atau handset itu sendiri.sumber
/etc/vold.fstab
. :)vold.fstab
, dan di 4.3 dan kemudian itu/fstab.<device>
.Saya melihat informasi yang saling bertentangan. Satu sumber mengatakan itu hardcode , jadi bukan sesuatu yang bisa Anda ubah di sisi pengguna:
Di tempat lain
/etc/vold.fstab
dan/etc/vold.conf
disebutkan. Saya memilikinya di perangkat saya di bawah CM 7.1 tetapi saya tidak yakin bagaimana mereka digunakan.sumber
init.rc
file yang hidup di ramdisk Anda, sehingga Anda dapat menarik boot.img Anda, ekstrak ramdisk Anda, dan kemudian memodifikasiinit.rc
dan membungkus kembali lagi (dibahas secara singkat di sini , dan sumber Tiamat ini adalah contoh yang baik dari pengaturan mountpoints diinit.rc
)Anda dapat mengount ulang penyimpanan eksternal agar dapat dieksekusi dengan menjalankan
ini akan menghapus flag noexec, nosuid dan nodev, tetapi masih akan menjadi vfat fs. Anda dapat membuat tautan ke fs ini tetapi tidak dari dalam. Remount tidak selamat dari reboot, karena file vold.fstab akan dibaca dan mereka akan di-remount saat reboot dengan flag noexec.
Jika Anda memformat ulang salah satu penyimpanan eksternal Anda ke selain vfat, maka mereka tidak akan dipasang ulang saat reboot, dan aplikasi apa pun yang Anda pindahkan ke penyimpanan eksternal apa pun tidak akan dapat digunakan. Jika Anda tidak berniat untuk menggunakan penyimpanan eksternal untuk aplikasi maka Anda dapat meng-unmount penyimpanan eksternal Anda dan menggunakannya
busybox mke2fs DEVICE
untuk membuatnya ext2. Gunakanbusybox newfs_msdos DEVICE
untuk mengembalikannya ke vfat dan membuatnya dapat digunakan lagi.Catatan
busybox mkfs.vfat
rusak, Anda akan mendapatkan sesuatu sepertijadi jangan buang waktu Anda. Semua ini mengasumsikan Anda telah di-root, dan memiliki binary busybox yang berfungsi.
sumber
Saya menyadari bahwa ini adalah topik lama, tetapi beberapa jawaban di sini sebenarnya menghambat upaya saya untuk belajar
fstab
dan Android karena mereka sangat menyiratkan bahwafstab
situasi di Android sangat berbeda dari distribusi Linux lainnya. Dari apa yang bisa saya katakan, ternyata tidak.Namun, membaca berbagai respons di sini membuat saya bertanya-tanya:
fstab
file apa-yang setara pada perangkat saya ?Melangkah mundur sejenak, mencatat bahwa " Android tidak memiliki / etc / fstab " mungkin tidak membantu OP karena mereka pasti sudah mengetahui hal ini. Jika ini tidak benar, pertanyaan mereka (menanyakan apa yang setara dengan Android
/etc/fstab
) tidak akan masuk akal. Di sisi lain, kita tahu @Flow tidak berusaha menyiratkan bahwa tidak ada padanan di Android, karena mereka menyebut salah satunya, "skrip pembantu" bernama/etc/vold.fstab
.Semua dalam semua, saya pikir takeaway dari posting @ Flow adalah bahwa pada beberapa sistem, ada file (mungkin "skrip pembantu" - saya tidak dapat memverifikasi itu di telepon saya) yang disebut
/etc/vold.fstab
, dan pada sistem itu, file ini adalah setara dengan/etc/fstab
.Kembali ke bertanya-tanya tentang perangkat saya sendiri, saya akan memposting temuan saya di sini karena beberapa alasan, terlepas dari usia OP:
fstab
file-gaya saya dapat menemukan di ponsel saya, Pixel 2XL.Jadi izinkan saya mencoba merangkum semua yang telah saya pelajari dari semua ini:
Android, atau setidaknya variannya yang dapat saya akses, memang menggunakan
fstab
file-style. Namun, nama, lokasi, dan fungsi yang tepat dari file-file ini bervariasi berdasarkan distribusi - artinya menurut versi dan perangkat Android, dan juga oleh ROM jika Anda menggunakan ROM khusus.Untuk menemukan file-file pada sistem Anda, membuka emulator terminal seperti
tmux
atauadb shell
dan menjalankan sesuatu seperti ini:find / -type f -iname '*fstab*' 2>/dev/null
. Pengalihan file 2 (stderr
) ke/dev/null
akan membuat output Anda jauh lebih bersih karena Anda akan dapat mengabaikan gempuran pesan kesalahan yang akan Anda dapatkanfind
, bahkan jika Anda melakukannyaroot
.Di sistem saya (Pixel 2XL, nama kode "taimen"), saya menemukan tiga file kandidat:
Dua yang pertama adalah file-file yang terpisah karena tidak ada tautan yang keras atau simbolis ke yang lain, tetapi jika Anda memilikinya
diff
Anda akan menemukan bahwa mereka identik. Terlihat sedikit lebih dalam, jika Anda menjalankanstat
file Anda akan melihat bahwa mereka memiliki nilai Perangkat dan Inode yang sama:stat
melaporkan kedua nama file ini sebagai file biasa dengan masing-masing hanya satu tautan (sehingga tidak ada tautan simbolis atau simbolis yang terlibat). Saya bukan pakar sistem file tetapi yang terjadi di sini adalah perangkat yang sama telah dipasang dua kali. Anda dapat melihat ini di output dari perintah berikut, di mana satu-satunya perbedaan antara dua baris output adalah titik pemasangan (bagian segera setelah "on"):File ketiga hanya terlihat oleh saya jika saya login sebagai root, jadi jika Anda memiliki perangkat yang identik dengan milik saya, Anda masih tidak akan menemukan, atau memiliki akses ke, file ini kecuali telepon Anda di-root. File itu ada hubungannya dengan layanan yang disebut Open Device Alliance Device Management, tapi itu adalah layanan yang saya tahu sedikit tentang, jadi saya hanya akan menyebutkannya di sini, dan Anda dapat Google untuk detail tentang itu jika Anda mau.
sumber
/system/etc
atau/vendor/etc
. Terima kasih telah membawa info baru.mount: bad /etc/fstab: No such file or directory
. Apakah Anda punya pemikiran atau solusi untuk ini?