Saya mendapatkan kesalahan ini juga, dan saya pikir itu tidak terjadi di chroot.
Latar Belakang
Saya pikir ini adalah ketika systemd tidak dapat menemukan jalan karena sudah terpasang di direktori. Jadi, perbedaannya adalah ketika Anda mengatur chroot Anda sudah mengkonfigurasi akses ke perangkat keras, termasuk drive.
Meskipun Anda dapat mengkonfigurasi akses ini di dalam Systemd itu tidak berarti Anda dapat mengkonfigurasi izin untuk drive tersebut dengan cara yang sama.
Misalnya, saya membuat file ini:
/etc/systemd/system/systemd-nspawn@.service.d/override.conf
Dan itu berisi pengaturan ini:
[Service]
DeviceAllow=char-usb_device rwm
DeviceAllow=char-usb
[Files]
Bind=/var/cache/apt/pkgcache.bin
Bind=/var/cache/apt/srcpkgcache.bin
Ini masih tidak berfungsi saat menggunakan grub-install /dev/sda
atau update-grub
untuk USB pada Pi debootstrapped dengan Debian Stretch. Bahkan menggunakan grub-uboot dan grub-efi-arm masih ada kesalahan yang grub-probe
tidak dapat menemukan jalur kanonik.
Bukan hanya itu tetapi meskipun update-grub
akan melihat dan tahu apa sistem operasi itu, tetapi menariknya grub-install
tidak mengenali sistem operasi Debian pada USB.
Contoh
root@raspixmc:/home/pi# grub-install /dev/sda
Installing for arm-uboot platform.
grub-install: warning: no hints available for your platform. Expect
reduced performance.
grub-install: warning: WARNING: no platform-specific install was
performed.
Installation finished. No error reported.
root@raspixmc:/home/pi#
Menarik, ketika saya membuat chroot dan dapat berjalan update-grub
, meskipun saya berada di sistem operasi yang saya debootstrap ke USB itu sendiri tidak melihat sistem operasinya sendiri!
root@raspixmc:/home/pi# mount /dev/sda1 /mnt
root@raspixmc:/home/pi# cd /mnt
root@raspixmc:/mnt# mount --bind /dev dev/
root@raspixmc:/mnt# mount --bind /sys sys/
root@raspixmc:/mnt# mount --bind /proc proc/
root@raspixmc:/mnt# mount --bind /dev/pts dev/pts
root@raspixmc:/mnt# chroot . bin/bash
root@raspixmc:/# update-grub
Generating grub configuration file ...
Found Raspbian GNU/Linux 9 (stretch) on /dev/mmcblk0p2
done
root@raspixmc:/#
Itu hanya melihat Raspbian. Ini terjadi hanya ketika mencoba menginstal dan memperbarui GRUB di dalam wadah, tetapi ketika saya keluar dari chroot.
Tonton cara kerjanya sekarang karena saya tidak meng-unmount direktori chroot:
/dev dev/
/sys sys/
/proc proc/
/dev/pts dev/pts
Dari luar wadah pikiran Anda, saya menjalankan perintah ini dengan grub-uboot
diinstal pada Raspbian dan tidak ada Grub pada USB yang mengandung Debian debootstrapped.
root@raspixmc:/mnt# update-grub
Generating grub configuration file ...
Found Raspbian GNU/Linux 9 (stretch) on /dev/mmcblk0p2
Found Debian GNU/Linux 9 (stretch) on /dev/sda1
done
root@raspixmc:/mnt#
Ini tidak terjadi menggunakan salah satu gambar yang tersedia secara tidak resmi untuk ARM Debian , tetapi jelas ini masih merupakan kustomisasi yang belum tersedia untuk debootstrapping.
Penyelesaian masalah
Sungguh ada saat-saat ketika lebih baik hanya membuat jalan. Satu-satunya kemungkinan berikutnya (dan kemungkinan) adalah cukup menulis GRUB. Dan untuk itu saya hanya akan membaca di halaman ini.
https://www.dedoimedo.com/computers/grub-2.html
Hal lain yang ingin saya bagikan tentang masalah ini adalah solusi yang mungkin berhasil, tetapi menyadari kartu microSD sangat sensitif. Saya telah membangun gambar Linux saya sendiri dan belajar ini dengan cepat. Hal terbaik untuk dilakukan adalah menggunakan Qemu kapan saja Anda bisa, tetapi untuk mencoba menghapus tabel partisi lama Anda mungkin mencoba menjalankannya sgdisk --zap-all
di drive.
sgdisk --zap-all /dev/sdd
Bahkan, kadang-kadang jika itu memberikan kesalahan pertama kali dan itu bukan kesalahan hanya baca, Anda bisa menjalankannya lagi dan akhirnya semua tabel partisi baru atau lama.
Dan Anda dapat menggunakan Qemu untuk meniru Raspberry Pi pada PC berbasis AMD / Intel standar. Saya akan merekomendasikannya. Saya tahu ini lebih banyak informasi daripada yang berkaitan dengan posting asli, tapi saya pikir itu kemungkinan bagaimana kesalahan ini diturunkan. Ini adalah usia wadah.
sda6
? Apakah jawaban saya di sini membantu?