The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Компания NVIDIA открыла код видеодрайверов для ядра Linux"
Отправлено n00by, 22-Май-22 12:27 
>> И сначала хорошо бы посмотреть загружаемый размер секций,
>> а потом уже рассуждать, что там что содержит.
> При сборке подтягивается соответствующий код загрузчика.

Смотрим, что там за код и куда он подтягивается:

arch/x86/boot/compressed/head_64.S

    .code32
SYM_FUNC_START(startup_32)
    /*
     * 32bit entry is 0 and it is ABI so immutable!
     * If we come here directly from a bootloader,
     * kernel(text+data+bss+brk) ramdisk, zero_page, command line
     * all need to be under the 4G limit.
     */
    cld
    cli

.....

#ifdef CONFIG_RELOCATABLE
    movl    %ebp, %ebx

#ifdef CONFIG_EFI_STUB
/*
* If we were loaded via the EFI LoadImage service, startup_32 will be at an
* offset to the start of the space allocated for the image. efi_pe_entry will
* set up image_offset to tell us where the image actually starts, so that we
* can use the full available buffer.
*    image_offset = startup_32 - image_base
* Otherwise image_offset will be zero and has no effect on the calculations.
*/
    subl    rva(image_offset)(%ebp), %ebx
#endif

    movl    BP_kernel_alignment(%esi), %eax
    decl    %eax
    addl    %eax, %ebx
    notl    %eax
    andl    %eax, %ebx
    cmpl    $LOAD_PHYSICAL_ADDR, %ebx
    jae    1f
#endif
    movl    $LOAD_PHYSICAL_ADDR, %ebx
1:

    /* Target address to relocate to for decompression */
    addl    BP_init_size(%esi), %ebx
    subl    $ rva(_end), %ebx

/*
* Prepare for entering 64 bit mode
*/

> А какой он должен быть, если
> у него задача тривиальна?

Задача поля заголовка "размер секции"? Действительно тривиальна: указать EFI LoadImage service сколько байт надо считать в память. Если при этом загрузится образ ядра целиком, значит загрузчиком является не заглушка (stub), а EFI LoadImage service.

>> Пробовали?
> Регулярно так и делаю.
>> "Some UEFI implementations however seem to not support passing parameters from the
>> NVRAM to the EFI stub kernel."
> Кривые прошивки существовали всегда и для всего. Это не повод не применять
> стандартный инструментарий.

То есть существует некий стандарт, на который в данном случае можно сослаться? Если у Васяна работать не будет, "УМВР" так себе аргумент.

> Сам с таким не сталкивался, но полагаю, что запуск
> с параметрами в командной строке можно завернуть в EFI-shell-скриптовый файл, и
> его уже прописать на запуск.

Ага, а генерировать такой скрипт и подписывать (ради чего всё это и затевается) его сразу на машине пользователя, что бы буткитам было удобнее.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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