GRUBBY(8)                                                            GRUBBY(8)


       grubby - command line tool for configuring grub, lilo, and elilo


       grubby [--add-kernel=kernel-path] [--args=args]
              [--bad-image-okay] [--boot-filesystem=bootfs]
              [--bootloader-probe] [--config-file path]
              [--copy-default] [--default-kernel]
              [--grub] [--lilo] [--yaboot] [--silo] [--zipl]
              [--info=kernel-path] [--initrd=initrd-path]
              [--make-default] [-o path] [--version]
              [--remove-kernel=kernel-path] [--remove-args=args]
              [--set-default=kernel-path] [--title=entry-title]
              [--add-multiboot=multiboot-path] [--mbargs=args]
              [--remove-multiboot=multiboot-path] [--remove-mbargs=args]


       grubby  is  a command line tool for updating and displaying information
       about the configuration files for the grub, lilo, elilo (ia64),  yaboot
       (powerpc)  and zipl (s390) boot loaders. It is primarily designed to be
       used from scripts which install new kernels and need to  find  informa-
       tion about the current boot environment.

       On Intel x86 platforms, grub is the default bootloader and the configu-
       ration file is in /boot/grub/grub.conf. On Intel ia64 platforms,  elilo
       mode  is  used  and  the default location for the configuration file is
       /boot/grub/grub.conf. On PowerPC platforms, yaboot parsing is used  and
       the configuration file should be in /etc/yaboot.conf.

       There  are  a  number  of  ways  to specify the kernel used for --info,
       --remove-kernel,  and  --update-kernel.  Specificying  DEFAULT  or  ALL
       selects  the  default entry and all of the entries, respectively.  If a
       comma separated list of numbers is given, the boot entries  indexed  by
       those  numbers  are selected. Finally, the title of a boot entry may be
       specified by using TITLE=title as the argument; all entries  with  that
       title are used.


              Add a new boot entry for the kernel located at kernel-path.

              When  a  new  kernel  is  added, this specifies the command line
              arguments which should be passed to the kernel by default  (note
              they  are merged with the arguments from the template if --copy-
              default is used).  When --update-kernel is used, this  specifies
              new arguments to add to the argument list. Multiple, space sepa-
              rated arguments may be used. If an argument already  exists  the
              new  value  replaces  the  old values. The root= kernel argument
              gets special handling if the configuration file has special han-
              dling  for specifying the root filesystem (like lilo.conf does).

              When grubby is looking for a entry to use for something (such as
              a  template or a default boot entry) it uses sanity checks, such
              as ensuring that the kernel exists in the  filesystem,  to  make
              sure  entries  that  obviously  won’t work aren’t selected. This
              option overrides that behavior, and is  designed  primarily  for

              The  grub boot loader expects file paths listed in it’s configu-
              ration path to be relative to the top of the filesystem they are
              on,  rather  then  relative  to  the current root filesystem. By
              default grubby searches the list of currently  mounted  filesys-
              tems  to  determine this. If this option is given grubby acts as
              if the specified filesystem was the  filesystem  containing  the
              kernel (this option is designed primarily for testing).

              grubby   tries  to  determine  if  grub  or  lilo  is  currently
              installed. When one of those bootloaders is found  the  name  of
              that bootloader is displayed on stdout.  Both could be installed
              (on different devices), and grubby will print out the  names  of
              both  bootloaders,  one  per line. The probe for grub requires a
              commented out boot directive grub.conf identical to the standard
              directive in the lilo configuration file. If this is not present
              grubby will assume grub is not  installed  (note  that  anaconda
              places  this  directive  in  grub.conf  files it creates).  This
              option is only available on ia32 platforms.

              Use path as the configuration file rather then the default.

              grubby will copy as much information (such as  kernel  arguments
              and  root  device)  as possible from the current default kernel.
              The kernel path and initrd path will never be copied.

              Display the full path to the current default kernel and exit.

              Use an elilo style configuration file.

       --grub Use a grub style configuration file instead of lilo style.  This
              is the default on ia32 platforms.

              Display information on all boot entries which match kernel-path.

              Use initrd-path as the path to an initial ram  disk  for  a  new
              kernel being added.

       --lilo Use a lilo style configuration file.

              Make the new kernel entry being added the default entry.

              The arguments specified by kernel-args are removed from the ker-
              nels specified by --update-kernel. The root argument  gets  spe-
              cial handling for configuration files that support separate root
              filesystem configuration.

              Removes all boot entries which match kernel-path.  This  may  be
              used along with --add-kernel, in which case the new kernel being
              added will never be removed.

              The first entry which boots the specified  kernel  is  made  the
              default boot entry.

              When  a  new  kernel  entry  is added entry-title is used as the
              title (lilo label) for the entry. If entry-title is longer  then
              maximum length allowed by the bootloader (15 for lilo, unlimited
              for grub and elilo) the title is shortened to a (unique)  entry.

              The  entries  for kernels matching kernel-path are updated. Cur-
              rently the only items that can be updated is the kernel argument
              list,  which  is  modified  via  the  --args  and  --remove-args

              Display the version of grubby being run and  then  exit  immedi-

              Use an yaboot style configuration file.

       --zipl Use an zipl style configuration file.


       The Multiboot Specification provides a genreic interface for boot load-
       ers and operating systems.  It is supported by the GRUB bootloader.

              Add a new boot entry for the multiboot kernel located at  multi-
              boot-path.   Note  that  this  is  generally  accompanied with a
              --add-kernel option.

              Removes all boot entries which match multiboot-path.

              When a new multiboot kernel is added, this specifies the command
              line  arguments which should be passed to that kernel by default
              When --update-kernel is used, this specifies  new  arguments  to
              add  to  the  argument list. Multiple, space separated arguments
              may be used.  If  an  argument  already  exists  the  new  value
              replaces the old values.

              The  arguments  specified by multiboot-args are removed from the
              kernels specified by --update-kernel.


       The command line syntax is more then a little  baroque.  This  probably
       won’t  be  fixed  as  grubby  is  only intended to be called from shell
       scripts which can get it right.


       grub(8), lilo(8), yaboot(8), mkinitrd(8)


       Erik Troan <>
       Jeremy Katz <>

                                Tue Jan 18 2005                      GRUBBY(8)

Man(1) output converted with man2html