Как внести постоянные изменения в файлы в корневом (/) каталоге?

Каждый раз, когда я редактирую файл в /, /sbin или /system/bin, он перезаписывается при перезапуске (устройство рутировано и находится в режиме r/w). Я предполагаю, что это связано с тем, что Android монтирует временный корень? А может это просто проблема на моем устройстве?

Как внести постоянные изменения в корневые файлы? Можно ли это сделать через adb? Нужно ли мне редактировать образ системы, и если да, то может ли кто-нибудь указать мне правильное направление, с чего начать?

Дайте нам подробную информацию обо всем списке инструкций, которые вы использовали для редактирования файла в /system/bin. Что касается файлов в /и /sbin- они загружаются из ядра при каждой загрузке, поэтому не стоит их редактировать, если вы хотите, чтобы изменения сохранялись при перезагрузке. Какое устройство вы используете?
Я использую рутированный LG G Pad 7.0 под управлением 4.4.2. Чтобы выполнить то, что я хочу, я думаю, что могу обойтись либо заменой /sbin/chargerlogo копией /system/bin/reboot, либо заменой содержимого /sbin/chargerlogo на #!/system/bin/sh /system /bin/reboot Однако он должен пережить перезагрузку, иначе он бесполезен. Что касается списка инструкций... Я пытался сделать это через ES File Explorer с включенным корневым проводником, система в режиме r/w.

Ответы (1)

Корневая файловая система ( /) и файлы в ней (плюс еще несколько в некоторых подкаталогах) перезаписываются во время загрузки с так называемого InitRd («начальный RAM-диск» или «загрузочный образ»). Поэтому, если вы должны изменить/добавить что-то там, вам придется изменить это изображение.

Если вы просто хотите сохранить некоторые дополнительные двоичные файлы/скрипты, вам лучше сделать это в /system/xbin(который обычно также содержится в папке $PATH) — хотя файлы в папке /system/binтакже должны сохраняться после перезагрузки ( /systemэто отдельный раздел, обычно монтируемый только для чтения, и, следовательно, не трогал кроме обновлений ОС).

ОП говорит, что он изменяет /system/bin, и он восстанавливается.
@SarpSTA Я читал это - и почему-то (по крайней мере, частично) сомневаюсь в этом. Насколько мне известно, ни выключение, ни загрузка не вмешиваются, /systemза исключением (раз) монтирования раздела (то есть только для чтения). Не уверен, что за этим стоит. Такие манипуляции я проделывал несколько раз на разных устройствах — так что примерно знаю, что прилипает, а что нет. Хотя я допускаю, что у разных устройств / ПЗУ могут быть особенности, с которыми я еще не сталкивался - например, о тех, кто всегда заменяется /recoveryстоковым, когда прошивается чем-то другим, как я читал.
@SarpSTA Возможно, нет, извините за ошибку. Файлы, которые я хочу отредактировать, находятся в / и / sbin, файл, который я хочу скопировать, находится в / system / bin, так что я не прав. Иззи, спасибо тебе за это! Любые ресурсы, указывающие в правильном направлении на изменение InitRd?
@Alan Извините, это та часть, которую я еще не сделал (изменив InitRd самостоятельно). Я иногда заменял его, но замена была сделана кем-то другим. Поскольку это в любом случае не по теме, я бы рекомендовал проверить эти сообщения на SO :)
В любое время, Алан. Быстрый поиск в Google только что нашел этот небольшой учебник: манипуляции с Android boot.img , который должен ответить на ваш предыдущий комментарий.