LINUX.ORG.RU
ФорумMobile

Снести внутреннюю sdcard и на ее место монтировать data

 ,


0

3

Вот у меня в телефоне есть внутренняя память, ее 512 мб. Она как бы сливается с внешней, если внешняя вставлена. А в /data крайне мало памяти. И вот я хочу чтобы на внутреннюю «флешку» монтировалась /data.

Такое можно сделать?

Переразметку памяти делать не вариант, т.к. редакторов scatter-файла для MTK6572(да, у меня китаец) нет, а вручную знаний не хватает.

Версия ведроида 4.2.2.

Пишу тут а не на 4pda потому что там хрен знает куда вообще с таким вопросом обратиться.


Можно попробовать монтировать тупо сверху, на раннем этапе загрузки. У меня так прокатило на 2.3.7 андроиде. Посмотри, есть ли поддержка init.d скриптов. Если нет, то её можно добавить, ЕМНИП, даже в маркете были софтинки для этого.

Либо можно отредактировать init скрипты в boot.img.

Естественно, перед этим не забыть сделать бекап в рекавери.

ls-h ★★★★★
()
Последнее исправление: ls-h (всего исправлений: 1)
Ответ на: комментарий от ls-h

boot.img

Не получится распаковать ибо я пока еще не находил ни под офф ни под онтоп программ для перепаковки UBIFS.

init.d

Ядро стоковое, так что хз. Как можно проверить?

сделать бекап в рекавери

Лол, рекавери для моего телефона такой глючный что даже свои бэкапы не восстанавливаются.

ozzee
() автор топика
Ответ на: комментарий от ls-h

Правда не подумал я над одним моментом. Поскольку она в fat и андроид ожидает там именно эту ФС, вероятно при загрузке он будет ругаться и предлагать её отформатировать.

ls-h ★★★★★
()
Ответ на: комментарий от ls-h

Есть еще vold.fstab(и созвучные с ним), думал там можно подмонтировать, но я долго мучался и ничего не получилось.

ozzee
() автор топика
Ответ на: комментарий от ozzee

Ядро стоковое, так что хз. Как можно проверить?

Посмотри, есть ли в /system/etc директория init.d.
Попробуй создать, если отсутствует.
Попробуй создай там какой-нибудь test.sh, сделай его исполняемым.
Напиши там чего-нибудь для проверки работоспособности, чтобы проверить выполняется ли он.

Лол, рекавери для моего телефона такой глючный что даже свои бэкапы не восстанавливаются.

Ну оно хоть немного работает? Можно в него загрузиться, поднять adb и подключиться к телефону? Чтобы, в случае чего, вернуть всё взад.
А что, другого нету?

ls-h ★★★★★
()
Ответ на: комментарий от ls-h

Посмотри, есть ли в /system/etc директория init.d

Есть, и там уже что-то. Но я не знаю, работает ли, ибо прошивка это порт(точнее идет без портирования) с другого телефона, а ядро от моего.

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

Ну я по sideload заливаю zip для CWM(Carliv точнее).

ozzee
() автор топика
Ответ на: комментарий от ozzee

Есть еще vold.fstab(и созвучные с ним), думал там можно подмонтировать, но я долго мучался и ничего не получилось.

Насколько я знаю, там указывается как раз какие устройства/разделы использовать как sdcard. Кстати, туда можно будет потом заглянуть и удалить запись о внутреннем sdcard, чтобы андроид не пытался её подключить.

ls-h ★★★★★
()
Ответ на: комментарий от stitchix

Зачем тебе много памяти в дата? Link2SD не подходит?

Да, тоже решение. Хотя, конечно, несколько костыльное.
Вообще, как-то сильно изнасиловали в этом андроиде такую простую вещь как монтирование.

ls-h ★★★★★
()
Ответ на: комментарий от ls-h

Слишком костыльное, да и на этой прошивке которая сейчас он думает что уже на флешке все, и на телефон нельзя перенести(в настройках пишет что в памяти телефона свободно 9 гигов, т.е. как на моей флешке, а вот в памяти на приложения всего 30).

ozzee
() автор топика
Ответ на: комментарий от ozzee

Есть, и там уже что-то. Но я не знаю, работает ли, ибо прошивка это порт(точнее идет без портирования) с другого телефона, а ядро от моего.

А что там есть? Посмотри, что оно должно делать и происходит ли это.
Можно попробовать накидать свой простой скрипт, как я писал выше.
Busybox, я надеюсь, там есть?

/path/to/busybox mount / -o remount,rw
/path/to/busybox mkdir /init.d.started

Думаю, без полного пути тоже заработает. Но так, на всякий.

ls-h ★★★★★
()
Ответ на: комментарий от ls-h

Плюс я изначально хочу снести внутреннюю память, точнее туда монтировать /data, а в случае чего с помощью Link2SD переносить на флешку.

ozzee
() автор топика
Ответ на: комментарий от ls-h

Кстати, проблема в том еще, что гугл плей ругается на нехватку памяти. Так что действительно проще перемонтировать.

ozzee
() автор топика

UPD: распаковал boot.img.

Вот что в файле fstab:

/emmc@android     /system             ext4      ro,noatime                              wait
/emmc@cache       /cache              ext4      noatime,nosuid,nodev,noauto_da_alloc    wait
/emmc@usrdata     /data               ext4      noatime,nosuid,nodev,noauto_da_alloc    wait,encryptable=footer

Я так понимаю, что тут можно изменить пути монтирования?

ozzee
() автор топика
Ответ на: комментарий от ozzee

А это в factory_init.rc:

# create mountpoints
    mkdir /mnt 0775 root system
    mkdir /storage 0055 system sdcard_r
    mkdir /storage/sdcard0 0000 system system
    mkdir /storage/sdcard1 0000 system system
    # for backwards compatibility
    symlink /storage/sdcard0 /sdcard
    symlink /storage/sdcard0 /mnt/sdcard
    symlink /storage/sdcard1 /mnt/sdcard2

ozzee
() автор топика

Можно я внесу мои 5 копеек.

1. Переразбивать каким-либо образом внутреннюю память в вашем аппарате смысла не имеет, т.к. её там всего 512 МБ, судя по спекам :)

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

2. Ковырять RAM disk имеет смысл, как мне кажется, в другом направлении.

Нельзя просто вписать внешнюю флешку в fstab рамдиска. Просто потому, что связанные с внешней флешкой устройства /dev/block/mmcblk1pX появляются очень поздно. Это какие-то завершающие этапы загрузки. Т.е. вам просто нечего будет монтировать.

Следовательно, скорее всего вам придётся изыскать способ дергать init скрипт в котором делать mknod, а потом mount для соответствующего раздела на флешке. И он должен быть в ext4.

Но что-то мне подсказывает, что всё не так просто. Хотя если времени много, то почему бы и не испытать...

Я бы цианогенщиков поспрашивал или посмотрел как у них. Они это дело хорошо понимают. Можно в сорцах ветки 4.2 от MTK покопаться, но она огромная до безобразия и как там что найти, я понятия не имею. Ну и её саму ещё поискать придётся :)

Bebop ★★
()
Ответ на: комментарий от Bebop

Переразбивать каким-либо образом внутреннюю память в вашем аппарате смысла не имеет, т.к. её там всего 512 МБ, судя по спекам :)

Ну внутренней памяти 512, плюс раздел data, если он отдельно то 180 мб памяти, что уже лучше, чем 60 мб свободой памяти.

ozzee
() автор топика
Ответ на: комментарий от ozzee

Ну внутренней памяти 512, плюс раздел data, если он отдельно то 180 мб памяти, что уже лучше, чем 60 мб свободой памяти.

Извините, но хрен не слаще редьки. Это недостаточно ни при каких раскладах для адекватного использования аппарата. Туда ничего не влезет. От слова совсем. Я в одном из наших старых проектов бился с разработчиками, чтобы 2ГБ usrdata передалать в 4ГБ, после чего стало возможно пользоваться телефоном, а вы про 180МБ... И ладно бы у вас там андроид 2.2-2.3 был. В то время это были адекватные размеры флеш памяти. Но что за жадность и скупость заставили припаять 512МБ модуль в телефон с 4.2 я плохо представляю.

Bebop ★★
()
Ответ на: комментарий от Bebop

512 мб уже лучше. Хотя бы Google Play не будет писать, что места больше нет. А остальное автоматически перемещается на флешку посредством Link2SD.

ozzee
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.