Патч для перемонтирования /system в rw

kaztost
Сообщения: 148
Зарегистрирован: 16 июл 2017, 23:29

Сообщение kaztost » 24 дек 2017, 20:23

Хорошо бы иметь в entware бизибокс, пропатченный вот этим патчем. Чтобы на новых андроидах /system перемонтировалась для записи через бизибоксный mount. На пятом андроиде ситуация еще терпимая - всегда можно перемонтировать системным (тулбоксным) mount. А на более новых - всегда нужен дополнительно ставить патченный этим патчем бизибокс.

Не знаю, какой эффект будет от этого патча на роутерах, так-что может быть все сделать отдельным пакетом или апплетом.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1533
Зарегистрирован: 09 авг 2015, 14:33

Сообщение Zyxmon » 24 дек 2017, 20:29

Собрать - проблем нет, а вот добавлять в entware желание ноль. Entware это же универсальный репозиторий. Не для qnap, asus, zyxel, android.
Есть одна мысль по этому поводу, но костыльная. Может у кого другая идея появится?

kaztost
Сообщения: 148
Зарегистрирован: 16 июл 2017, 23:29

Сообщение kaztost » 24 дек 2017, 20:59

Собрать под себя много, кто может. Я вот тоже занялся собиранием линуксового статичного бизибокса и прочего для быстрого развертывания по принципу распакуй и работай. Все будет базироваться в /data/local/static. Проблему resolv.conf даже поборол, пересобрав libc, и линкуя его статично. Ну и для проблемы remount,rw патч применил.

А для репозитария что-то нужно придумать...Как-то нужно эффективно определить в апплете, мы на андроиде или нет. Может тоже через спец. переменную окружения сделать, которую нужно просто в profile внести, если андроид. А если нет переменной, то нет, никаких ioctl не вызывать?

kaztost
Сообщения: 148
Зарегистрирован: 16 июл 2017, 23:29

Сообщение kaztost » 24 дек 2017, 22:09

Хотя, если подумать, я не представляю, когда "mount -o remount,rw" может понадобится на сетевых железках. Мне кажется, что стоит в entware отдать эту комбинацию ключей полностью на откуп андроида. Там "mount -o remount,rw" имеет сакральное значение.

А с другой стороны может быть добавить отдельную утилиту/апплет, который делает "ioctl(fd, BLKROSET, &OFF)" или ioctl(fd, BLKROSET, &ON). Как-то я стал сомневаться в правильности этого патча. Состояние системы меняется, а утилиты, чтобы вернуть все, как было нет.

Dr.Acid
Сообщения: 157
Зарегистрирован: 26 авг 2015, 22:46

Сообщение Dr.Acid » 25 дек 2017, 18:06

Zyxmon писал(а):Источник цитаты Есть одна мысль по этому поводу, но костыльная. Может у кого другая идея появится?

Вы свою-то идею озвучьте. Вроде, как всегда(ранее) делалось: Собирался отдельный пакет(пакеты), может быть даже клались в отдельный репо. И отдельный инсталяционный скрипт.
kaztost писал(а):Источник цитаты Может тоже через спец. переменную окружения сделать, которую нужно просто в profile внести, если андроид.
Или по наличию пути /system/bin ;)
kaztost писал(а):Источник цитаты Там "mount -o remount,rw" имеет сакральное значение

Это очень много где имеет такое значение - не только в Андроиде...

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1533
Зарегистрирован: 09 авг 2015, 14:33

Сообщение Zyxmon » 25 дек 2017, 19:40

Dr.Acid писал(а):Источник цитаты Собирался отдельный пакет(пакеты), может быть даже клались в отдельный репо. И отдельный инсталяционный скрипт.

Дьявол - он всегда кроется в деталях. Например, что произойдет после обновления busybox в основной репе?

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1533
Зарегистрирован: 09 авг 2015, 14:33

Сообщение Zyxmon » 02 янв 2018, 09:48

Первоначальная идея была другая.
Есть такая "директива" в buildroot - VARIANT. Так вот в репу можно добавить два варианта busybox, первый без суффикса, второй с суффиксом `-android`. У вариантов прописать CONFLICTS с другим. Установщик для android пусть ставит свой вариант busybox.
Или сейчас неактуально в свете статических бинарников для развертывания?

kaztost
Сообщения: 148
Зарегистрирован: 16 июл 2017, 23:29

Сообщение kaztost » 02 янв 2018, 14:51

Zyxmon писал(а):Источник цитаты Или сейчас неактуально в свете статических бинарников для развертывания?

По мне уже не актуально, но не по этой причине. А по другой причине
kaztost писал(а):Источник цитаты А с другой стороны может быть добавить отдельную утилиту/апплет, который делает "ioctl(fd, BLKROSET, &OFF)" или ioctl(fd, BLKROSET, &ON). Как-то я стал сомневаться в правильности этого патча. Состояние системы меняется, а утилиты, чтобы вернуть все как было, нет.

Но в выложенном мной busybox-е патч применен (как и в тысяче других бизибоксов для андроид). Но хотелось бы разобраться с этим ioctl. Пока я даже не представляю, что из себя представляет &OFF. Для этого надо в исходниках порыться.

kaztost
Сообщения: 148
Зарегистрирован: 16 июл 2017, 23:29

Сообщение kaztost » 31 янв 2018, 22:40

kaztost писал(а):Источник цитаты
А с другой стороны может быть добавить отдельную утилиту/апплет, который делает "ioctl(fd, BLKROSET, &OFF)" или ioctl(fd, BLKROSET, &ON).

В общем разобрался с этим BLKROSET (и BLKROGET). Сделать такую утилиту труда не представляет. Но зачем делать, когда, оказывается, есть утилита blockdev, которая, в частности, это и делает. По идее она должна быть идти либо апплетом в busybox, либо в пакете util-linux. Ни того, ни другого в 'Entware я не нашел.

А вот вышеприведенный патч в mount по-моему глупый. В результате в интернете на запрос "system не перемонтируется в rw" просто советуют установить busybox, но не упоминают команду "blockdev --setrw /dev/block/...". А также команду ""blockdev --setro /dev/block/..." после внесенных изменений в /system

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1533
Зарегистрирован: 09 авг 2015, 14:33

Сообщение Zyxmon » 31 янв 2018, 23:04

kaztost писал(а):Источник цитаты либо в пакете util-linux.

И даже собирается, но в пакеты не входит. В openwrt посчитали, что не нужно.


Вернуться в «Entware на Android»

Кто сейчас на конференции

Всего 1 посетитель :: 1 зарегистрированный, 0 скрытых и 0 гостей (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (121) здесь было 18 май 2016, 18:19

Сейчас этот форум просматривают: CommonCrawl [Bot] и 0 гостей