LINUX.ORG.RU

Сообщения planetzeus

 

__udivdi3 в RPi

Форум — Development

Прошу помощи у профи. Ситуация: пишу на паскале прогу для RPi. Нужно сделать эмуляцию функции __udivdi3. Может она и несложная для реализации, но исходник всё равно не маленький. Нормальную документацию на неё не нашёл. Попробовал откомпилировать небольшой кусок на С, просто своя обертка для этой функции. Присобачил этот объектный файл к проге, но она даже не компилируется, говорит не может найти эту саму функцию. Собственно как решить данный вопрос более гуманно?

 ,

planetzeus
()

Verbose режим при загрузке

Форум — Development

Коллеги, подскажите пожалуйста как включить verbose режим при загрузке ядра. Суть в следующем: Есть образ для обновления софта. Всё это дело предназначено для VMWare. Я написал прогу, которая разворачивает образ, вытаскивает bzImage и уже из него ядро. Прога патчит некоторые файлы в ядре, затем заворачивает всё это дело обратно. Всё отлично работало, но с последним обновлением что-то случилось. На первый взгляд всё абсолютно идентично (я имею ввиду упаковку ядра). Правда изменилась версия ядра, была 3.10.5 а стала 3.10.94. Собственно патченная версия не стартует. Лог VMWare заканчивается так:

vcpu-0| I120: GetMSR: unknown MSR[0x1a0] (read as zero): rip=0x7ec3693 count=1

vcpu-0| I120: GPhysGuestPgWalk4Work: paRsvd=fff0000000000

vcpu-0| I120: Vix: [8544 vmxCommands.c:8114]: VMAutomation_HandleCLIHLTEvent. Do nothing.

vcpu-0| I120: MsgHint: msg.monitorevent.halt

vcpu-0| I120+ The CPU has been disabled by the guest operating system. Power off or reset the virtual machine.

Совершенно непонятно в каком месте это происходит. На экране видно процесс загрузки bzImage: ...........ready Затем чёрный экран и halt, насколько я понимаю. Чтобы пореверсить и понять причину, нужно как-то локализовать проблемное место. Можно ли как-то включить режим полного логирования на экран, чтобы хотя бы по сообщениям процесса загрузки локализовать проблему? При обновлении пишется файл /boot/extlinux.conf с таким содержимым:

SERIAL 0 38400

DEFAULT xyz

LABEL xyz

KERNEL bzImage

APPEND vga=771

#APPEND console=ttyS0,115200

Можно ли в него что-то дописать, чтобы включить дебажный режим?

 ,

planetzeus
()

Перепаковка bzImage

Форум — Development

Немного странный вопрос, учитывая то, что с Линуксами я на «Вы».

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

Очень нужно распаковать все это дело, но правильно. Не интуитивно искать нужный поток данных в bzImage, а как-то «по понятиям». И в итоге распаковать содержимое ram-диска. Затем в этом содержимом нужно изменить часть файлов (пропатчить/заменить - не суть) и все упаковать обратно. Подскажите пожалуйста правильное направление. Компилировать мне не из чего, нужно собрать как было и возможно откорректировать смещения/crc/размеры... Заменить секцию ELF - не проблема. Проблема правильно создать inird - образ и затем правильно создать конечный bzImage

 ,

planetzeus
()

RSS подписка на новые темы