ฉันกำลังจัดการกับอุปกรณ์ฝังตัวที่ใช้ Linux ผู้ผลิตอุปกรณ์นี้ได้ทำการตั้งค่าเพื่อให้โหลดระบบไฟล์รูทเป็นแบบอ่านอย่างเดียว
จาก / etc / mtab:
rootfs / rootfs rw 0 0
/dev/root / squashfs ro,relatime 0 0
หมายความว่าฉันไม่สามารถแก้ไขไฟล์ภายใน / etc เช่นการเพิ่มผู้ใช้ใหม่
ฉันได้ลองติดตั้งไดเรกทอรีรากใหม่แล้ว:
mount -o remount,rw -t squashfs /dev/root /
แต่ฉันเพิ่งได้รับข้อผิดพลาด
mount: cannot remount block device /dev/root read-write, is write-protected
ฉันค้นหาข้อผิดพลาดนี้และมีคนพูดว่าใช้ blockdev ระบบไม่ได้ติดตั้ง blockdev ดังนั้นฉันจึงรวบรวมและคัดลอกมันข้าม จากนั้นฉันก็วิ่ง
blockdev --setrw rootfs
แต่ฉันพบข้อผิดพลาดอีกครั้ง:
blockdev: cannot open rootfs: No such file or directory
เป็นไปได้ที่จะทำให้ / etc สามารถเขียนได้ถ้ายังไม่ได้? ฉันมีสิทธิ์เข้าถึงระบบ แต่ไม่สามารถเข้าถึงระบบไฟล์ 'ออฟไลน์' การเปลี่ยนแปลงทั้งหมดจะต้องทำผ่านคำสั่ง Bash
/etc
เวลาบูตขึ้นอยู่กับการตั้งค่าบางอย่างใน nvram ดังนั้นหากต้องการเปลี่ยนไฟล์ใน/etc
คุณจะต้องตั้งค่าตัวแปรระบบ "เวทย์มนตร์" ให้คอมมิตเป็น nvram จากนั้นทำการรีโหลดการกำหนดค่าหรือรีบูต เราเตอร์บ้านส่วนใหญ่ทำงานแบบนั้น แต่กลไกและคำสั่งที่แน่นอนนั้นเป็นระบบเฉพาะ