Как сделать файловую систему только для чтения доступной для записи на BusyBox?

5119
kursat

Я хочу изменить некоторые файлы на моем роутере. Сначала я могу все изменить /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
Какой вывод у `mount`? 12 лет назад 0
Джоэл, я обновил мой вопрос. извините за задержку, я не могу оставлять комментарии из моего офиса. kursat 12 лет назад 0

2 ответа на вопрос

1
Turbo J

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

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

привет Turbo J, я проверил / proc / mounts. Похоже, mountdisplays только / etc / mtab. Я запутался в части "Обновление Frimware". Я думаю, что если вы обновите прошивку, то система все равно будет только для чтения, не так ли? Так что по моему я должен обновить / сменить ФС. Ты знаешь как это сделать ?? kursat 12 лет назад 0
Даже [wikipedia] (http://en.wikipedia.org/wiki/SquashFS) знает `unsquashfs` и` mksquashfs`. Попробуйте Google в следующий раз. Turbo J 12 лет назад 0
Файловая система происходит из прошивки. Вы не можете изменить файловую систему, если не пересоберите и не перепрошите прошивку. LawrenceC 10 лет назад 1
1
MvG

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

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

Похожие вопросы