LINUX.ORG.RU
ФорумAdmin

Перераспределение размеров разделов диска на OpenWRT роутере

 ,


0

1

Всем привет. Помогите пожалуйста. Проблема такая. Был у меня роутер билайн 128мб RAM и 128 мб flash. Размеры Storage: Disk space и Temp space примерно поровну 60мб. Всё бы ничего да захотелось роутер помощнее. Взял WAX206. Там 256 flash и 512 ram. Установил openWRT и такое разочарование… Disk space всего 17мб, зато Temp space 244мб. На 17 мб не поставишь что-то весомое. И usb нет у этого роутера. Можно ли как-то передвинуть размеры, уменьшить Temp и увеличить overlay?

root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 5.0M      5.0M         0 100% /rom
tmpfs                   244.0M      1.8M    242.3M   1% /tmp
/dev/ubi0_1              17.0M      1.6M     14.5M  10% /overlay
overlayfs:/overlay       17.0M      1.6M     14.5M  10% /
tmpfs                   512.0K         0    512.0K   0% /dev
root@OpenWrt:~# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
mtdblock0    31:0    0  512K  1 disk 
mtdblock1    31:1    0  256K  1 disk 
mtdblock2    31:2    0  512K  1 disk 
mtdblock3    31:3    0  512K  0 disk 
mtdblock4    31:4    0    1M  1 disk 
mtdblock5    31:5    0   38M  0 disk 
mtdblock6    31:6    0    6M  0 disk 
mtdblock7    31:7    0   32M  0 disk 
mtdblock8    31:8    0   38M  1 disk 
mtdblock9    31:9    0    8M  1 disk 
mtdblock10   31:10   0    4M  1 disk 
mtdblock11   31:11   0    1M  1 disk 
mtdblock12   31:12   0    4M  1 disk 
mtdblock13   31:13   0    2M  1 disk 
mtdblock14   31:14   0    1M  1 disk 
mtdblock15   31:15   0    1M  1 disk 
mtdblock16   31:16   0    5M  1 disk 
mtdblock17   31:17   0    1M  1 disk 
mtdblock18   31:18   0  6.3M  1 disk 
ubiblock0_0 254:0    0  5.1M  0 disk /rom

Перемещено hobbit из general

Ответ на: комментарий от supercelt

В двух словах не объяснить, особенно, если опыта нет.

Начни с того, что прочти сообщение на том форуме. Вроде пользователь white-rabbit пытался дать совет, как сделать проще.

Если хочешь собирать, то опенврт, есть онлайн сборка, я ей не пользуюсь. Она обычно для того, чтобы сразу включить в образ нужные утилиты, но для изменения размера памяти это Customize installed packages and/or first boot script не вариант.

Настоящий вариант, это делать по серьёзному, но в этом случае нужно компилировать и собирать самому. Тут в помощь доки опенврт, форум и нейронные сети.

mamina_radost
()

На 17 мб не поставишь что-то весомое

У меня роутер tplink archer c2 ac750 с 8 flash / 32 ram и после обновления с 19й версии на выпуск 24.10.х ветку openwrt стало свободно чуть более 1 мегабайта. Соответственно я подцепил внешний накопитель в usb - старую флешку на 8 гигов и теперь пакеты ставлю туда. Есть особенности с путями и необходимостью делать линки, но они решаются. Возможно тебе такой вариант тоже подойдёт вместо переразметки.

UPD коллега по работе скинул ссылку на скрипты автоматизации для создания и удаления ссылок при установке пакетов: https://eximido.livejournal.com/40883.html

NightOperator ★★★
()
Последнее исправление: NightOperator (всего исправлений: 3)
Ответ на: комментарий от NightOperator

Если кому интересно…После 2 дней мучений, мне удалось собрать кастомную прошивку, и даже прошить роутер. В dts файле я объединил разделы kernel и ubi в один большой ubi. Но как всегда есть Но. Зайдя в роутер я даже увидел что теперь раздел overlay стал аж 50 мегабайт. Но при следующей перезагрузке роутера он снова уходит в ребут. И тут я вспомнил про самый огромный и тупой камень со стороны разрабов, подлянка в виде двойной прошивки. Да у этого роутера всё таки двойная прошивка. Я пробовал его прошить 2 раза сначала itb, что бы оно встало в два раздела и разметила область А и В по моим правилам, потом 2 раза перепрошил factory. И это не помогает. После перепрошивки роутер работает, но стоит вырубить питалово и он больше не загружается. Посему идея фикс. А как собственно снести это в принципе - двойную область памяти и сделать единое пространство? Ведь не смотря на свою dts разметку, роутер же всё таки как-то понимает что сначала он шьёт область А, а второй раз уже область В. А где вот это чередование сидит, непанятна пока…

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

Наиболее вероятная причина - неправильно расчитанные (назначенные) размер(ы) тома(ов) ubi (образа раздела/ов). Просто - это первое что в голову приходит, если изделие всё ж таки загружается с самодельным образом, но долго «жить» не может. Или оно всё же «живёт», но вот если его выключить, то оно потом не врубается. Короче, вот мануальчик: http://www.linux-mtd.infradead.org/doc/ubi.html#L_overhead Судя по вашим заявлениям, вы не перераспределяли физические разделы mtd устройства, а изменяли размеры томов ubi. Так вот эти ubi не могут иметь какой-то неопределённый размер. Более того, в зависимости от файловой системы и типа носителя они (тома ubi) ещё и разно оформляются. Впрочем, в мануальчике есть рекомендации. А перераспределение разделов MTD тоже известно в истории. Это дело делают на всяких таких маршрутизаторах. Вот именно один из mtd-разделов, содержащий дублирующие ubi-тома (или ubi-образ, кому как нравится), и задействуют. Но тогда в любом случае приходится исправлять описание разделов MIB таблицу, которая записана на одном из MTD. Надеюсь всё это вам известно. А я лишь выдвинул гипотезу о причине происходящих неприятных событий.

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

Спасибо! Но дело кажется кроется в другом. Я правил DTS в самой прошивке. И когда роутер загрузил ее в оперативу, то всё сработало. А то что после перезагрузки всё вернулось назад говорит о том что в самом U-boot то остались старые разделы. Надо править сам U-boot, там тоже есть dts файл в исходниках, но проблема в том, что производитель никогда не выкладывает сырцы убутов. У нетгира есть файл, в котором исходники, но они специально убрали оттуда половину файлов. Там нет ветки с Mediatek 7622.

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

А я вам ещё одну гипотезу выдам. Загрузчик у вас и без вмешательств - уровня бог, и никаких испрвлений, совершенствований не требует. Таблица разделов в одном из имеющихся mtd должна быть. Вариант с исправлением этой таблицы, между тем, обычно имеет один недостаток. Производитель выпускает утилиты по восстановлению работоспособности девайса с учётом изначально имеющихся сведений. Поэтому производственные (от производителя) средства восстановления очевидным образом работать не будут. И если у вас есть понимание этой ситуации, то меньше возможных неприятных моментов. А упомянутый вами используемый именно в вашем девайсе двойной вариант загрузки ОСи - это не западло, а в помощь естествоиспытателю. Хоть есть с чем сравнить и откатить. Но, разумеется, вам виднее. Увеличение оверлея - это только на первый взгляд лучше. Мол, можно хранить больше разнообразных изменений в процессе работы. Лучшим (лично я считаю) было бы, чтоб в оверлее было как можно меньше важных данных, так как оверлей при сбросе девайса в исходное обязан быть уничтожен. И всё это восстановление рабочей конфигурации при загрузке, с использованием меогих данных из оверлея, это трата времени, ресурса девайса и электричества.

anonymous
()