LINUX.ORG.RU

OpenWRT и sd flash карта

 , ,


0

2

Есть одноплатник OrangePi zero 3, начитавшись эту тему решил посмотреть а как на нем себя чувствует openwrt (ну раз под рукой все есть, чего ж не глянуть?)

И вроде все работает, но после n-ной перезагрузки портится fs на флешке и загрузка проходит, но раздел монтируется в ro:

[   10.724696] EXT4-fs error (device mmcblk1p2): ext4_validate_block_bitmap:428: comm ext4lazyinit: bg 26: block 851968: invalid block bitmap
[   10.741051] EXT4-fs (mmcblk1p2): Remounting filesystem read-only
перемонтировать в rw тоже не дает:
root@OpenWrt:/# mount -o remount,rw /
[  200.968924] EXT4-fs error (device mmcblk1p2): __ext4_remount:6425: comm mount: Abort forced by user
mount: /: cannot remount /dev/mmcblk1p2 read-write, is write-protected.

Можно запустить fsck и посмотреть что:

root@OpenWrt:/# fsck.ext4 /dev/mmcblk1p2
e2fsck 1.47.0 (5-Feb-2023)
rootfs contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  +(98304--98730) +(163840--164266) +(229376--229802) +(294912--295338) +(819200--819626) +(851968--852385) +852480 +(884736--885162) +(1605632--1606058) +(1933312--1933729)
Fix<y>? yes
Free blocks count wrong (1877565, counted=1909914).
Fix<y>? yes

rootfs: ***** FILE SYSTEM WAS MODIFIED *****
rootfs: ***** REBOOT SYSTEM *****
rootfs: 3019/399360 files (0.0% non-contiguous), 50534/1960448 blocks
перезагрузка не помогает, иногда помогает запихнуть flash в «большого брата» и сделать fsck на нем но тоже не 100% результат и при n-ной перезагрузке опять будет ro.

Куда копать, как победить?

Ну и такой момент что устройство детектится то на /dev/mmcblk0 то на /dev/mmcblk1, тоже интересно почему так происходит?

P.S. Флешка новая, из упаковки. пробовал другую та-же ситуация.

P.S.2. размер образа ~100mb и после dd размер 2 раздела 100mb, но в openwrt раздел растягивается почти на весь размер flash, может кто знает какие скрипты это делают?

Пока остановился на версии от No, в целом работает

★★★

Последнее исправление: Kolins (всего исправлений: 5)

Куда копать, как победить?

корень в RO

Ну и такой момент что устройство детектится то на /dev/mmcblk0 то на /dev/mmcblk1, тоже интересно почему так происходит?

В dmesg смотреть, не падает ли контроллер с oops. Если херовый контакт карточки, или пайка разъёма, то контакт может отваливаться с соответствующими последствиями.

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

Куда копать, как победить?

корень в RO

дык до этого я уже допер, но в rw он переходить отказывается из-за ошибок в fs

Если херовый контакт карточки, или пайка разъёма, то контакт может отваливаться с соответствующими последствиями.

А как это связано со сменой имени раздела? понимаю если бы там несколько слотов для microsd было, но слот один. Вилуально цел.

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

в rw он переходить

Я про то, что корень всегда в RO лучше держать, а в rw перемонтировать по надобности.

А как это связано со сменой имени раздела?

Отвалилась карточка, dev node осталась задействованной, карточка привалилась - получила следующий mmcblk%n

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

А конфиги тогда как менять? В стандартной сборке openwrt (под девайс) никаких overlayfs не предусмотрели, значит решили что надо менять то что есть. Ну и в ro он переходит не по велению fstab, а из-за ошибок

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

Отвалилась карточка, dev node осталась задействованной, карточка привалилась - получила следующий mmcblk%n

ок, но смена имени происходит во время ребута устройства, хотя может он где-то и хранит старое имя

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

читай выхлоп dmesg внимательно, это единственный условно-надёжный источник информации для тебя.

Как под оранжи openwrt сделан я хз, у меня роскоши в виде emmc/sd од систему на железяках никогда не было.

Dark_SavanT ★★★★★
()
Последнее исправление: Dark_SavanT (всего исправлений: 1)

может кто знает какие скрипты это делают?

Вероятно при первом запуске стартует что-то, что запускает resize2fs, возможно можно найти, что именно, если раскопать образ прошивки.

Werenter ★★★
()
Ответ на: комментарий от Dark_SavanT
[    1.527117] EXT4-fs (mmcblk0p2): mounted filesystem without journal. Quota mode: disabled.


пока из интересного только это увидел, ищу кто понтирует

у меня роскоши в виде emmc/sd од систему на железяках никогда не было.

только spi-flash или вообще netboot?

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

пока из интересного только это увидел, ищу кто монтирует

ext4 вообще был без has_journal, а если добавить то в консоли мусор и ничего не грузится

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

Я самостоятельный сбор OpenWRT пока под эту плату не пробовал, взял то что на оффсайте было, нет времени серьезно засесть и заняться этими одноплатниками, так-то да хотел squashfs чтобы можно было удаленно обновлять

Kolins ★★★
() автор топика