Куда писать это сообщение не знаю, пусть будет тут
Мне удалось заменить vmlinux в прошивке ресивера на свой
и успешно загрузиться с него
Слить тот что есть в ресивере может каждый из вас (на всякий случай) любой из команд:
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
где
/mnt/USB1/sda1/vmlinux.gz - путь куда сливаем оригинальный vmlinux
Получим архив .gz в котором лежит файл vmlinux и в хвосте архива забиты нули (FF) до размера файла 3 Мб (но это не имеет для нас никакого значения)
Теперь собираем свой vmlinux, по инструкциям с форума. Жмем linux'овым архиватором в архив .gz (обратите внимение НЕ В .tar.gz)
Переименовываем например в zlinux (или как душе угодно).
Кидаем на USB флэш.
Создаем batch.cfe на USB флэш с кодом:
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
-forceerase - стирание flash0.kernel до заливки
-noheader - без проверки подписи (заголовка) заливаемого файла
Перезагружаем с зажатой MENU, наслаждаемся бегущими цифирьками и перегружаем.
P.S.:
- Работать будет только со встроенным root ресивера, т.к. ссылка на это жестко забита в загрузчике и никакими CONFIG_CMDINE мы на это не повлияем
.
- Работать будет если только папка /app форматирована в jffs2 (это поправимо, но надо искать причину (копать в сторону cramfs и tmpfs))
- В случае ошибок косяков и т.д., льем оригинальную прошивку. Все настройки при этом останутся.
- При попытке залить файл более 3 Мб, ничего лишнего не затрется, увидите просто ошибку ECODE 0004, восстановление заливкой правильного vmlinux
или оригинальной прошивкой
WARNING: Не шейте flash0.loader -> если только не придумали альтернативный загрузчик. Оживление в это случае только через JTAG, да и то никто не пробовал еще
P.P.S.: ПРобовал заливать обратно командами dd и cat из консоли, но чего то я не так подбираю, потому как либо переписывается кусками, либо вообще ничего ен пишется, хотя ошибок нет
. Кто победит, тому пряник :Р
P.P.P.S: Так как мы завязаны на встроенный рут, linux-2.6.18 нам пока не светит