The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Как распаковать ядро Linux из bzImage
Воспользоваться программой binoffset из исходников Linux-ядра:

   gcc -o binoffset /usr/src/linux/scripts/binoffset.c
   dd if=bzImage skip=`./binoffset bzImage 0x1f 0x8b 0x08 0x00` bs=1|gzip -d > vmlinux

В файле vmlinux получаем распакованное ядро. Из него можно извлечь, например,
версию компилятора, использованного при сборке ядра:

   strings vmlinux|grep "^Linux version"
 
06.09.2008 , Автор: bappoy , Источник: http://bappoy.pp.ru/2008/09/05/extr...
Ключи: linux, kernel, compress
Раздел:    Корень / Администратору / Система / Linux специфика / Установка и работа с пакетами программ в Linux

Обсуждение [ RSS ]
  • 1.1, Jet (??), 23:16, 05/09/2008 [ответить]  
  • +/
    любопытно конечно... но зачем??
     
  • 1.2, NuclearCat (?), 05:20, 06/09/2008 [ответить]  
  • +/
    Иногда есть необходимость извлечь оригинальный vmlinux. Отладка, взлом "закрытых" систем и т.п.
     
     
  • 2.8, Аноним (-), 18:55, 08/09/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > Отладка, взлом "закрытых" систем и т.п.

    А что такое взлом закрытых систем применительно к Linux?Попросить сорц ядра.По GPL обязаны дать - бинарь у вас есть, имеете право потребовать сорц (правда могут захотеть бабла за S&H сидюка, если контора реально решила усложнить эту операцию).Отказываются?Напустить на них SFLC и прочих, которые обычно довольно оперативно мозг вправляют :)

     

  • 1.3, Iscander (??), 14:24, 06/09/2008 [ответить]  
  • +/
    Да элементарно тем же oprofile воспользоваться. спасибо за совет, а то пересобирать ядро приходилось по дистрибутивному
     
     
  • 2.4, Fuzzy (ok), 14:37, 06/09/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Станно, я при перезборке ядер копировал из
    /usr/src/linux/arch/x86/boot/bzImage в /boot/vmlinuz
    и lilo запускал, всё работало.
    Может я ламер?


     
     
  • 3.5, Fuzzy (ok), 15:19, 06/09/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Не заметил vmlinuz/vmlinux.


     
  • 2.9, John (??), 23:42, 08/09/2008 [^] [^^] [^^^] [ответить]  
  • +/
    К сожалению, полученный таким образом файл не подходит для использования с oprofile.
     

  • 1.6, pavlinux (ok), 06:49, 07/09/2008 [ответить]  
  • +/
    amd64:/usr/src/linux # dd if=arch/x86/boot/bzImage skip='/tmp/binoffset arch/x86/boot/bzImage 0x1f 0x8b 0x08 0x00' bs=1|gzip -d > /tmp/vmlinux
    filesize: 2425872
    number of pattern matches = 1
    12414

    2413458+0 записей считано
    2413458+0 записей написано
    скопировано 2413458 байт (2,4 MB), 12,09 c, 200 kB/c

    gzip: stdin: decompression OK, trailing garbage ignored

    amd64:/media/disk/src/linux-2.6.26.2/arch/x86/boot # md5sum vmlinux.bin /tmp/vmlinux
    aafd6191c36eea412b1b3be024da26a9  vmlinux.bin
    6b023d8557a38e0b4814ee059d320e07  /tmp/vmlinux

    Упс, не увязочка

     
     
  • 2.7, pavlinux (ok), 07:07, 07/09/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Извиняюсь, надо сравнивать из каталога arch/x86/boot/comperssed, тогда все нормально!
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру