Bug 11375

Summary: --with=@listfile
Product: Sisyphus Reporter: led
Component: mkinitrdAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P2 CC: led, mike, vsu
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
mkinitrd-3.0.3-lists.patch
none
mkinitrd-3.0.3-lists.patch none

Description led 2007-04-05 18:11:56 MSD
Предлагаю патч для mkinitrd для возможности указания файла-списка модулей в 
качестве параметра --with. Я нашёл это полезным при автоматической генерации 
initrd.img для бездисковых терминалов при имеющемся файле-списке kernel-модулей 
наоболее распространённых Ethernet-адаптеров.
Comment 1 led 2007-04-05 18:12:35 MSD
Created attachment 1888 [details]
mkinitrd-3.0.3-lists.patch
Comment 2 Sergey Vlasov 2007-04-06 23:09:15 MSD
Какой же это listfile, когда на самом деле происходит не чтение списка модулей
из файла, а поиск всех модулей в указанном подкаталоге?  Это примерно
соответствует опции --type в modprobe.

У меня есть подозрение, что опция в таком виде будет не слишком полезна,
поскольку в ядрах 2.6.x, в отличие от 2.4.x, модули драйверов PCI-устройств
успешно загружаются даже в том случае, если соответствующие устройства не
обнаружены.  С другой стороны, поскольку сейчас в initramfs запускается udev,
возможна автоматическая загрузка модулей по modalias - для этого необходимо
просто скопировать модули в initramfs, не добавляя их в список для загрузки;
сейчас в mkinitrd нет опции для этого.

Замечание по поводу реализации: конструкции вида ${1:0:1} требуют bash - в
данном случае вполне можно обойтись без них.
Comment 3 led 2007-04-10 14:10:15 MSD
(In reply to comment #2) 
> Какой же это listfile, когда на самом деле происходит не чтение списка 
модулей 
> из файла, а поиск всех модулей в указанном подкаталоге?  Это примерно 
> соответствует опции --type в modprobe. 
 
Виноват, это я так невнимательно "почистил" патчик перед тем, как залить :( 
 
>  
> У меня есть подозрение, что опция в таком виде будет не слишком полезна, 
> поскольку в ядрах 2.6.x, в отличие от 2.4.x, модули драйверов PCI-устройств 
> успешно загружаются даже в том случае, если соответствующие устройства не 
> обнаружены.  С другой стороны, поскольку сейчас в initramfs запускается udev, 
> возможна автоматическая загрузка модулей по modalias - для этого необходимо 
> просто скопировать модули в initramfs, не добавляя их в список для загрузки; 
> сейчас в mkinitrd нет опции для этого. 
 
ИМХО предложенное расширение вроде ничему не мешает, тем более, что опции 
"добавления без загрузки" сейчас нет? (Правильный патч я, конечно же, залью 
сегодня) 
 
>  
> Замечание по поводу реализации: конструкции вида ${1:0:1} требуют bash - в 
> данном случае вполне можно обойтись без них. 
 
Согласен: непризволный "башизм":) Могу заменить на 
grep -q '^@' 
Comment 4 led 2007-04-10 14:52:00 MSD
Created attachment 1899 [details]
mkinitrd-3.0.3-lists.patch

Теперь, вроде, правильный патч...
Comment 5 Dmitry V. Levin 2009-12-09 05:14:32 MSK
At this time, I'm reluctant to add any enhancements to this monolithic mkinitrd.

Please have a look at another implementations that have modular architecture, e.g. make-initrd by Alexey Gladkov and Kirill Shutemov.
Comment 6 Repository Robot 2012-11-04 15:47:52 MSK
mkinitrd-1:3.0.12-alt1 -> sisyphus:

* Sun Nov 04 2012 Led <led@altlinux> 1:3.0.12-alt1
- 3.0.12:
  + mkinitrd: find modules in modules.alias if modules.pcimap not exists
  + mkinitrd: added modules.builtin and modules.order to tree
  + mkinitrd: added kmod support
  + mkinitrd: copy /lib/udev/dm_export only if it exists
  + mkinitrd: added support xz and lzo compressing
  + mkinitrd: added --with-nbd
  + scripts/local: use fs type 'auto' if unknown
  + init: added support parameters for loading modules
  + init: added 'modules=' kernel parameter support
  + rewrote script 'dhcp' to 'ip'
  + added support 'netdev' kernel parameter
  + added scripts/nbd_*
  + mkinitrd: added --root and --rootfs options
  + added support boot from nbd (ALT#15466)
  + mkinitrd: added support list file for --preload|--with|--extra (ALT#11375)
  + mkinitrd: removed unsupported image types
  + mkinitrd: added support /etc/sysconfig/mkinitrd config
  + mkinitrd: added lzma, xz, lzo and bzip2 compression (ALT#21588)
  + applied patch from http://bugzilla.altlinux.org/show_bug.cgi?id=19388
    for LVM2 support in initrd