URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5584
[ Назад ]

Исходное сообщение
"параметры Ядра"

Отправлено f00l , 20-Июл-06 09:30 
Как передавать параметры ядру по умолчанию?
То есть откомпилировал с уже нужными параметрами.

Содержание

Сообщения в этом обсуждении
"параметры Ядра"
Отправлено int_0d , 20-Июл-06 17:42 
> Как передавать параметры ядру по умолчанию?
> То есть откомпилировал с уже нужными параметрами

конфигурить загрузчик (redBoot, ecos, lilo, grub ?)


"параметры Ядра"
Отправлено f00l , 21-Июл-06 08:07 
>конфигурить загрузчик (redBoot, ecos, lilo, grub ?)

Ядро копируется в DRAM и потом просто делается jmp
на адрес функции start ядра(ядро представляет dump памяти).
Поэтому нужно откомпилировать ядро с уже нужными параметрами.



"параметры Ядра"
Отправлено int_0d , 21-Июл-06 11:11 
>>конфигурить загрузчик (redBoot, ecos, lilo, grub ?)
>
> Ядро копируется в DRAM и потом просто делается jmp
>на адрес функции start ядра(ядро представляет dump памяти).
> Поэтому нужно откомпилировать ядро с уже нужными параметрами.

само по себе вот так вот берет и копируется?
помещает его в RAM загрузчик. он же помещает туда (в RAM) и параметры ядра по определенному адресу, откуда ядро их с благодарностью получает.

По теме: внимательно фтыкать init/main.c


"параметры Ядра"
Отправлено f00l , 21-Июл-06 14:56 
>
> само по себе вот так вот берет и копируется?
>помещает его в RAM загрузчик. он же помещает туда (в RAM) и
>параметры ядра по определенному адресу, откуда ядро их с благодарностью получает.
>
>
>По теме: внимательно фтыкать init/main.c


Так вот самое интересное по как кому адресу ядро берет эту строку параметров
в функции start_kernel есть функция parse_args  которая и разбирает строку параметров
но адрес забит жестко в конце section .rodata и там выделено вего 300 байт но что там записано и как туда помистили параметры и как туда еще поместить параметры?

Делается это в config-ах или в самом коде надо подставлять значения.



"параметры Ядра"
Отправлено f00l , 08-Авг-06 14:44 
> Как передавать параметры ядру по умолчанию?
> То есть откомпилировал с уже нужными параметрами.

В некоторых архитектурах данная опция заводится в .config
CONFIG_BOOTPARAM=y
CONFIG_BOOTPARAM_STRING="console=ttyS0,115200"

на i386 такого параметра нет но можно завести в функции setup_arch(&command_line)

  #if defined(CONFIG_BOOTPARAM)
          memset(command_line, 0, sizeof(command_line));
          strncpy(&command_line[0], CONFIG_BOOTPARAM_STRING,
                  sizeof(command_line));
          command_line[sizeof(command_line) - 1] = 0;
  #endif