2

Я хочу изменить некоторые файлы на моем роутере. Во-первых, я могу изменить все в /var , но я хочу изменить /etc/fstab . Когда я пытаюсь изменить его, я получаю сообщение об ошибке, в котором говорится, что файловая система доступна только для чтения.

BusyBox внутри маршрутизатора имеет ограниченные команды, поэтому я получил двоичный файл BusyBox для MIP и загрузил его с помощью tftp:

tftp -g -r busybox-mips my.i.p.addr

Теперь я могу использовать полные команды (команда /var /tmp /busybox-mips).

Внутри маршрутизатора (SDRAM) нет ПЗУ и нет других разделов. Это должно быть связано с BusyBox.

# /var/tmp/busybox-mips df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                 1344      1344         0 100% /

# mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
proc on /proc type proc (rw,nodiratime)
ramfs on /var type ramfs (rw)
# 

Model: 
        Airties 5021
Processor:
        BCM6332KFBG
        HS1037 P12
        994981 N1
Memory: 
        M12L64164A-7T (SDRAM)
        ANM1P02HL 1028

2 ответа2

1

Сквошфс является неизменным. Чтобы изменить /etc /fstab, вам нужно будет создать новый образ FS для вашего роутера на linux box. Чтобы получить это на маршрутизаторе, вы делаете "обновление прошивки".

Вы также можете заглянуть в /proc /mounts, чтобы проверить, врет ли вам mount , так как он читает только /etc/mtab . Но последний в большинстве дистрибутивов является символической связью.

1

Возможно, вы сможете сделать запись доступной для записи в текущем сеансе, но изменения не будут постоянными: после перезагрузки ваши изменения будут потеряны. Для этого вы где-то монтируете tempfs, копируете в него содержимое /etc , а затем mount --move в /etc

Если вам нужны постоянные изменения, то вам придется воссоздать свои squashfs. Другие ответы уже включают более подробную информацию по этому вопросу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .