Немного странный вопрос, учитывая то, что с Линуксами я на «Вы».
Итак, задача. Есть bzImage размером больше 100Мб. Не спрашивайте про версии, чем собиралось и т.д. Этого я не знаю. Насколько я понимаю, внутри код загрузчика, ядра и есть большая часть упакованных данных. Смещение этих данных собственно нашел интуитивно, т.е по префиксу заголовка .z Распаковал и получил большой ELF - 130Мб. Этот ELF содержит много секций, но примечательны две init.text и init.data init.data - это упакованный initrd. Т.е из него получаем ram-диск с полным образом системы.
Очень нужно распаковать все это дело, но правильно. Не интуитивно искать нужный поток данных в bzImage, а как-то «по понятиям». И в итоге распаковать содержимое ram-диска. Затем в этом содержимом нужно изменить часть файлов (пропатчить/заменить - не суть) и все упаковать обратно. Подскажите пожалуйста правильное направление. Компилировать мне не из чего, нужно собрать как было и возможно откорректировать смещения/crc/размеры... Заменить секцию ELF - не проблема. Проблема правильно создать inird - образ и затем правильно создать конечный bzImage