Tôi đang làm việc với một thiết bị nhúng chạy Linux. Các nhà sản xuất của thiết bị này đã thiết lập nó để nó tải hệ thống tập tin gốc dưới dạng chỉ đọc.
Từ / etc / mtab:
rootfs / rootfs rw 0 0
/dev/root / squashfs ro,relatime 0 0
Điều này có nghĩa là tôi không thể sửa đổi bất kỳ tệp nào trong / etc, chẳng hạn như để thêm người dùng mới.
Tôi đã thử truy cập thư mục gốc:
mount -o remount,rw -t squashfs /dev/root /
nhưng tôi chỉ nhận được một lỗi
mount: cannot remount block device /dev/root read-write, is write-protected
Tôi đã tìm kiếm lỗi này và mọi người đang nói sử dụng blockdev. Hệ thống không được cài đặt blockdev, vì vậy tôi đã biên dịch nó và sao chép nó. Sau đó tôi chạy
blockdev --setrw rootfs
nhưng một lần nữa tôi gặp lỗi:
blockdev: cannot open rootfs: No such file or directory
Có thể thực hiện / vv có thể ghi nếu nó chưa? Tôi có quyền truy cập root vào hệ thống, nhưng tôi không thể truy cập hệ thống tập tin 'ngoại tuyến', tất cả các thay đổi phải được thực hiện thông qua các lệnh Bash.
/etc
lúc khởi động dựa trên cài đặt nhất định trong nvram. Do đó, để thay đổi một tệp trong/etc
bạn sẽ đặt biến hệ thống "ma thuật", hãy cam kết nó với nvram, sau đó tải lại cấu hình hoặc khởi động lại. Phần lớn các bộ định tuyến gia đình làm việc như vậy. Nhưng các cơ chế và lệnh chính xác là dành riêng cho hệ thống.