
###########
geninitrd.1
###########

.. highlight:: perl


****
NAME
****


\ **geninitrd**\  - Generate an initrd (initial ramfs) which to be used for stateful install or stateless netboot.


********
SYNOPSIS
********


\ **geninitrd**\  \ *imagename*\  [\ **-**\ **-ignorekernelchk**\ ]

\ **geninitrd**\  [\ **-h**\  | \ **-**\ **-help**\ ]


***********
DESCRIPTION
***********


Generate the initrd for the osimage: \ **imagename**\  which is an xCAT object of \ *osimage*\  type.

\ **Diskful Osimage**\ 


If the \ **imagename**\  is a stateful one (The provmethod attribute for the osimage is 'install'), 
this command is used to rebuild the initrd to inject the new drivers from driver rpms or 
'update distro' and copy the rebuilt initrd and new kernel (If there's new kernel in 'update 
distro') to the directory \ */tftpboot/xcat/<imagename*\ >.

If the initrd has been rebuilt by geninitrd, when run nodeset, the \ *--noupdateinitrd*\  option 
should be used to skip the rebuilding of initrd to improve the performance.

Three attributes of osimage object can be used to specify the Driver RPM location and Driver names 
for injecting new drivers to initrd.

\ **netdrivers**\  - comma separated driver names that need to be injected to the initrd. 
The postfix '.ko' can be ignored. The netdrivers attribute must be set to specify the new driver list. 
If you want to load all the drivers from the driver rpms, using the keyword allupdate.

\ **driverupdatesrc**\  - comma separated driver rpm packages (full path should be specified)

\ **osupdatename**\  - comma separated 'osdistroupdate' object. Each 'osdistroupdate' object specifies a 
Linux distro update. When run geninitrd, 'kernel-\*.rpm' will be searched from osdistroupdate.dirpath 
to get all the rpm packages and then search the drivers from the rpm packages.

Refer to the doc: Using_Linux_Driver_Update_Disk

\ **Stateless Osimage**\ 


If the \ **imagename**\  is a stateless one (The provmethod attribute for the osimage is 'netboot'),
this command is used to generate the initrd from the rootimg which generated by 'genimage' command. 
So the 'genimage' must be run once before running the geninitrd command.

Two attributes of osimage object can be used to specify the Driver RPM location and Driver names 
for injecting new drivers to initrd.

\ **netdrivers**\  - comma separated driver names that need to be injected to the initrd.
The postfix '.ko' can be ignored. The netdrivers attribute must be set to specify the new driver list.
If you want to load all the drivers from the driver rpms, using the keyword allupdate.

\ **driverupdatesrc**\  - comma separated driver rpm packages (full path should be specified)


**********
Parameters
**********


\ *imagename*\  specifies the name of an os image definition to be used. The specification for the image is stored in the \ *osimage*\  table and \ *linuximage*\  table.


\ **-**\ **-ignorekernelchk**\ 
 
 Skip the kernel version checking when injecting drivers from osimage.driverupdatesrc. That means all drivers from osimage.driverupdatesrc will be injected to initrd for the specific target kernel.
 



************
RETURN VALUE
************


0 The command completed successfully.

1 An error has occurred.


********
EXAMPLES
********



1 To generate initrd for the osimage \ **myimagename**\ :
 
 
 .. code-block:: perl
 
    geninitrd myimagename
 
 



*****
FILES
*****


/opt/xcat/bin/geninitrd

/opt/xcat/bin/genimage

/opt/xcat/share/xcat/netboot/<OS>/genimage


********
SEE ALSO
********


geninitrd(1)|geninitrd.1, genimage(1)|genimage.1

