Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » UNIX » Linux. Как разобрать bzImage на составляющие

Модерирует : ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Wowic



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возникла проблема:
 
Есть встроенный Linux (не i386, а arm9) со встроенной в ядро корневой файловой системой.
Загрузиться с него не получается.
Есть ли возможность вытащить из bzImage файлы, расположенные на ramfs?
 

Всего записей: 143 | Зарегистр. 28-01-2002 | Отправлено: 23:02 17-07-2008
cr



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
?? в ядро ничего не встраивается, bzImage это в классическом виде чистое скомпилированное ядро сжатое для экономии места bzip`ом . Если же в вашем случаее это и ядро и фс в одном файле... разбзипьте его а тот файл что получится смонтируйте как файловую систему куда-нибудь.

----------
Poligon64.ru LaserTag MilitaryClub

Всего записей: 473 | Зарегистр. 13-05-2004 | Отправлено: 09:18 18-07-2008
HighwayStar



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
хм, сжатая файловая система обычно лежит рядом с bzImage в файле initrd

Всего записей: 1048 | Зарегистр. 16-04-2005 | Отправлено: 11:34 18-07-2008
Wowic



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
в ядро ничего не встраивается, bzImage это в классическом виде чистое скомпилированное ядро сжатое для экономии места bzip`ом  

Вы видимо не вполне в курсе, что при компилляции ядра можно указать в .config файле ядра параметр CONFIG_INITRAMFS_SOURCE. В этом случае дерево каталогов, на которое указывает этот параметр, встраивается прямо в bzImage и используется в качестве корневой файловой системы при загрузке а иногда и при работе, например для встраиваемых систем.
 
Собственно задача - получить файлы из этой fs. Компиллировал это ядро не я, и исходных каталогов нет

Всего записей: 143 | Зарегистр. 28-01-2002 | Отправлено: 17:13 18-07-2008
Atmel

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну так как открыть этот bzImage то? Методика какая?

Всего записей: 127 | Зарегистр. 10-04-2012 | Отправлено: 10:01 12-09-2015
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
такие вопросы тут периодически возникают. все это открывается под линуксом монтированием. есть софт под винду. мне сделать это так и не удалось, перепаковывали по просьбе кто умеет это делать тут на форуме

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 13:50 12-09-2015
Atmel

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня смонтировать имеющийся bzImage не получилось, хотя возможно, что нужны были какие-то ключи. которые я не указал по неведению.

Всего записей: 127 | Зарегистр. 10-04-2012 | Отправлено: 14:32 12-09-2015
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а ты вообще на линуксе сидишь? мне перепаковывали Terabyte Image, правда файл файловой системы, а не ядра. там в теме просил, туда ключ интегрировали.
http://forum.ru-board.com/topic.cgi?forum=5&active=&topic=35257&start=1260
лучше тут спроси, большинство тех кто на линуксе сидят вообще в нем не рубят, в смысле как в винде люди шарят если сравнить

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 16:46 12-09-2015
Atmel

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня тут на другом компе запущена центось 6-я, я на ней экспериментирую.  
bzImage пробую монтировать, спрашивает тип файловой системы. В вики написано
https://en.wikipedia.org/wiki/Vmlinux#bzImage
что образ имеет "специфический формат" и содержит "bootsect.o + setup.o + misc.o + piggy.o."
Час от часу не легче. Даже если удастся примонтировать этот файл, потом чет надо будет делать с этими *.o ?
 
Вот здесь
http://www.securitylab.ru/analytics/216250.php
написано просто:
mount -o loop initrd /[точка-монтирования]
Нифига, опять - укажите ей тип файловой системы. А какой там тип ФС, какой параметр -t указывать?  
Файл не архивированный (gzip не разъархивирует, bunzip2 -c bzImage > zImage && ar -t zImage  пишет, что файл не  bunzip2-файл).
mount тип файловой системы как выше написано в команде -t zImage не знает.
 
а что большинство линуксоидов липовые админы - это я уже в курсе, у нас в прошлом году "преподаватель" - сисадмин линуховый - на мои вопросы повял и стух к концу курса совсем.
 
Добавлено:
piggy.o contains the gzipped vmlinux file in its data section (ELF)
там же  
Как понять - "piggy.o содержит архивированный файл vmlinux в своей секции данных"? Что делать с piggy.o, чтобы получить, наконец, ядро и корневую файловую систему - мою конечную цель? Просто разархивировать gzip-ом?

Всего записей: 127 | Зарегистр. 10-04-2012 | Отправлено: 16:56 12-09-2015 | Исправлено: Atmel, 17:04 12-09-2015
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в теме линукса спроси. но там ни фига ответа не дождешься

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 17:23 12-09-2015
Atmel

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ты умеешь внушить надежду. )))
А пока я как ледокол пробираюсь через кучу препятствий.
В итоге моих изысканий
initrd оказался архивом, с которым не справился ни tar, ни gunzip. Зато справился 7-zip.
Полученный файл в итоге оказался cpio-архивом, который я теперь не могу вывести из ленты.
Почти все файлы и директории not created: newer or same age vers ion exists
 
И еще я никак не могу понять, куда именно он выводит эти файлы, в какую директорию, если в команде
cpio -id < /media/initrd~
не указано, где будут эти файлы?
 
Я уже почти у цели, осталась последняя глыба на этом отрезке.

Всего записей: 127 | Зарегистр. 10-04-2012 | Отправлено: 21:48 13-09-2015
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
архиваторы действительно умеют открывать все это, не паковать не умеют. погугли как делают ядра для линукса, по моему большинство пользуется готовыми

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 01:29 14-09-2015
Atmel

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне кажется, cpio выводит все это в корневую систему, где все это уже есть,  все устройства и директории, которые есть в ленте, также есть и в хостовой системе. Надо как-то вывести их в назначенную директорию, но из мануала я не пойму, как.

Всего записей: 127 | Зарегистр. 10-04-2012 | Отправлено: 08:31 14-09-2015
Drron

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Попробуйте сделать так http://forum.xda-developers.com/wiki/Extract_initramfs_from_zImage

Всего записей: 826 | Зарегистр. 20-11-2003 | Отправлено: 12:02 14-09-2015
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Операционные системы » UNIX » Linux. Как разобрать bzImage на составляющие


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru