Pull to refresh

Comments 7

UFO just landed and posted this here
К несчатью, у меня произошло повреждение блока(ов) внутренней flash-памяти, где хранится ядро из прошивки, поэтому загрузка не дошла даже до инициализации RAID. Вся основная файловая система из сжатого образа (опять же из flash-памяти) не примонтировалась и кроме урезанного busybox ничего в консоли не было доступно (нет ssh,ftp etc.)… Что-то похожее случается редко и с телефонами, по крайней мере у меня когда-то было подобное с HTC HD2 и ошибками чтения flash Bad block...
Полгода примерно упражнялся с тонким клиентом HP t5325 на базе Marvell Kirkwood, после того, как на внутреннем flash-диске полгода пожил Archlinux на btrfs, диск посыпался, некоторые сектора было невозможно записать, что приводило к различным проблемам, в том числе и периодически он отказывался загружаться. Попытка впаять туда SATA-порт для жесткого диска закончилась неудачно из-за моей криворукости. В принципе, его еще можно загрузить с USB, но как то желание с ним возиться уже пропало. Собственно, глядя на попытки оживить этот NAS, первый вопрос был, а что, uBoot на нем не умеет загружать систему с USB? Так можно было бы сократить время реанимации до получаса максимум…
>> 1. Что произошло и как этого избежать в будущем?

Протухла страница или несколько страниц на NAND-flash, на который было записано ядро. Не лечится иначе как перезаписать поверх что-нибудь (это и было сделано, часто лечит). Полностью избежать — не получится.

>> 2. Реальный размер uImage образа существенно меньше считываемого U-Boot'ом размера 0x300000;

Область задана с запасом. Используется не вся.

>> 3. Использование tftp для передачи образа uImage;

После инициализации сети uBoot — почему бы и нет? Состоит из двух частей — поддержка конкретного ethernet в uBoot (может быть проблемой) и установки параметров сети после старта uboot (тривиально).

>> 4. Использование USB flash для загрузки образа uImage (в расширеном U-Boot есть возможность инициализации USB);

Если штатный u-boot уже умеет — то только прописать переменные загрузки.
Опять же тот, который загружен с serial — уже чтото умеет. Осталось посчитать, влезет ли в область flash предназначенную для него.

Если не умеет — добро пожаловать сумрачный мир сборки u-boot и загрузки его в устройство.
Только я бы те самодельные u-boot сначала с serial стартовал, без прошивки.

>> 5. Бэкап разделов внутренней flash памяти на внешнюю USB память.

На логе загрузки:
Using static partition definition
Creating 6 MTD partitions on «nand_mtd»:
0x00000000-0x00100000: «u-boot»
0x00100000-0x00600000: «uImage»
0x00600000-0x00b00000: «ramdisk»
0x00b00000-0x07100000: «image»
0x07100000-0x07b00000: «mini firmware»
0x07b00000-0x08000000: «config»
На загруженном линукс+busybox чтото вроде:
dd if=/dev/mmcblk0p1 of=/mnt/usb/u-boot.img
.

>UART на плате DNS-325 требует TTL 3.3V и может сгореть при более высоких напряжениях.
Более того — они инверсные.

Решается просто: переходник USB-UART.
Или еще проще — два транзистора и четыре резистора. Для успокоения совести можно еще диод. Все это есть в старом ненужном блоке питания от компьютера. (если есть COM-порт и желание паять)
UFO just landed and posted this here
У меня было тоже самое, после обновления прошивки перестал загружаться. Я даже не стал связываться с техподдержкой(не первый раз были проблемы), выкинул, купил нормальный NAS.
Sign up to leave a comment.

Articles