BURG, '''B'''rand-new '''U'''niversal loade'''R''' from '''G'''RUB, is an alternative boot loader forked from [[GRUB]]. It uses a new object format which allows it to be built in a wider range of OS's, including Linux/Windows/OSX/Solaris/FreeBSD, etc. BURG features superior theming and has a highly configurable menu system which works at boot time in both text and graphical mode.

+

BURG, '''B'''rand-new '''U'''niversal loade'''R''' from '''G'''RUB, is an alternative boot loader forked from [[GRUB]]. It uses a new object format which allows it to be built in a wider range of OS's, including Linux, Windows, OS&nbsp;X, Solaris, FreeBSD, etc. BURG features superior theming and has a highly configurable menu system which works at boot time in both text and graphical mode.

== Installation ==

== Installation ==

−

{{Note|Crunick's binary repository is no longer up to date and all users should use the packages from AUR.}}

+

{{Note|Crunick's binary repository is no longer up-to-date and all users should use the packages from AUR.}}

All BURG packages are currently found in the [[AUR]] and can be built using normal methods.

All BURG packages are currently found in the [[AUR]] and can be built using normal methods.

Line 24:

Line 24:

Tunables can be found at the top of the PKGBUILD for customizing the building process in addition to the usual options:

Tunables can be found at the top of the PKGBUILD for customizing the building process in addition to the usual options:

# '''_mk_burg_emu''' (only in burg-bios-bzr) (default=y) - Setting this to {{ic|y}} enables '''burg-emu''' and will double the build time. Users who have no need for '''burg-emu''' and wish to speed things up should probably set this to {{ic|n}}.

# '''_mk_burg_emu''' (only in burg-bios-bzr) (default=y) - Setting this to {{ic|y}} enables '''burg-emu''' and will double the build time. Users who have no need for '''burg-emu''' and wish to speed things up should probably set this to {{ic|n}}.

−

# '''_rm_build_dirs''' (default=n) - When set to {{ic|y}} the build directories are deleted saving preciousss space. This will not affect the bazaar checkout tree or anything else in ${srcdir}.

+

# '''_rm_build_dirs''' (default=n) - When set to {{ic|y}} the build directories are deleted saving precious space. This will not affect the Bazaar checkout tree or anything else in ${srcdir}.

=== Initial setup ===

=== Initial setup ===

Line 38:

Line 38:

Since BURG is derived from GRUB, its configuration is similar in most respects. The main configuration file is {{ic|/boot/burg/burg.cfg}} and is usually generated automatically. It is possible to create one by hand. However, this would be very tedious especially when adding the graphical features. It is more feasible to tweak and edit an existing one.

Since BURG is derived from GRUB, its configuration is similar in most respects. The main configuration file is {{ic|/boot/burg/burg.cfg}} and is usually generated automatically. It is possible to create one by hand. However, this would be very tedious especially when adding the graphical features. It is more feasible to tweak and edit an existing one.

−

Generation is configured by the file {{ic|/etc/default/burg}} and scripts located in {{ic|/etc/burg.d/}}.

+

Generation is configured by the file {{ic|/etc/default/burg}} and scripts are located in {{ic|/etc/burg.d/}}.

−

=== Generation of a config ===

+

=== Generation of a configuration ===

Creating a new {{ic|burg.cfg}} is done by the command:

Creating a new {{ic|burg.cfg}} is done by the command:

Line 50:

Line 50:

=== Defaults ===

=== Defaults ===

−

The file {{ic|/etc/default/burg}} is a bash script that is sourced by burg-mkconfig when generating a config file. The defaults file is meant to be an easy way for users to control this process. The entries are bash variables and arrays and are the same as those used in GRUB.

+

The file {{ic|/etc/default/burg}} is a Bash script that is sourced by burg-mkconfig when generating a configuration file. The defaults file is meant to be an easy way for users to control this process. The entries are Bash variables and arrays and are the same as those used in GRUB.

=== burg.d scripts ===

=== burg.d scripts ===

Line 62:

Line 62:

=== Preview and runtime configuration ===

=== Preview and runtime configuration ===

−

When editing configuration, one does not need to reboot to see changes. If enabled in the PKGBUILD at compile time, the command '''burg-emu''' should be available. Run it as root to preview what BURG would look like at boot. '''burg-emu''' allows the user to do most things that can be done at boot (except for, you know, booting).

+

When editing a configuration, one does not need to reboot to see changes. If enabled in the PKGBUILD at compile time, the command '''burg-emu''' should be available. Run it as root to preview what BURG would look like at boot. '''burg-emu''' allows the user to do most things that can be done at boot (except for, you know, booting).

BURG also allows runtime configuration, such as changing themes, through menus and BURG's commandline. The settings are set as variables which are saved in {{ic|/boot/burg/burgenv}}.

BURG also allows runtime configuration, such as changing themes, through menus and BURG's commandline. The settings are set as variables which are saved in {{ic|/boot/burg/burgenv}}.

Line 68:

Line 68:

== Theming ==

== Theming ==

−

The primary reason to use BURG over other boot loaders is it's theming system. To add a theme to BURG, copy its directory to {{ic|/boot/burg/themes/}} and then update the config.

+

The primary reason to use BURG over other boot loaders is its theming system. To add a theme to BURG, copy its directory to {{ic|/boot/burg/themes/}} and then update the configuration.

−

To change themes press {{Keypress|T}} when running BURG. A list of available themes will be shown. Use the arrow keys to highlight the theme you want and press enter to make the selection. This can be done from within '''burg-emu''' and rebooting is not required.

+

To change themes, press {{Keypress|T}} when running BURG. A list of available themes will be shown. Use the arrow keys to highlight the theme you want and press ''Enter'' to make the selection. This can be done from within '''burg-emu''' and rebooting is not required.

Theme packages can be found in the [https://aur.archlinux.org/packages.php?O=0&K=burg-theme&do_Search=Go AUR]. Currently only four packages are available:

Theme packages can be found in the [https://aur.archlinux.org/packages.php?O=0&K=burg-theme&do_Search=Go AUR]. Currently only four packages are available:

Line 85:

Line 85:

F2 / t - Change theme

F2 / t - Change theme

F3 / r - Change resolution

F3 / r - Change resolution

−

F5 / ctrl-x - Finish edit

+

F5 / Ctrl-x - Finish edit

F6 - Next window

F6 - Next window

F7 - Show folded items

F7 - Show folded items

Line 102:

Line 102:

ESC - Exit from windows or menu

ESC - Exit from windows or menu

−

For full list of keyboard shortcuts, in burg you can press {{Keypress|F1}}.

+

For full list of keyboard shortcuts, in BURG you can press {{Keypress|F1}}.

=== Important files ===

=== Important files ===

−

These files and directories control much of how burg is configured and run.

+

These files and directories control much of how BURG is configured and run.

* {{ic|/boot/burg/}}

* {{ic|/boot/burg/}}

* {{ic|/boot/burg/burg.cfg}}

* {{ic|/boot/burg/burg.cfg}}

Line 115:

Line 115:

=== Other OS detection ===

=== Other OS detection ===

−

In some cases you may have other Operating Systems installed on other hard drives or partitions and you may want them to be listed in burg. You can manually append their entries to {{ic|/etc/burg.d/40_custom}}, something like:

+

In some cases, you may have other operating systems installed on other hard drives or partitions and you may want them to be listed in BURG. You can manually append their entries to {{ic|/etc/burg.d/40_custom}}, something like:

Revision as of 17:37, 21 August 2013

BURG, Brand-new Universal loadeR from GRUB, is an alternative boot loader forked from GRUB. It uses a new object format which allows it to be built in a wider range of OS's, including Linux, Windows, OS X, Solaris, FreeBSD, etc. BURG features superior theming and has a highly configurable menu system which works at boot time in both text and graphical mode.

Tip: When upgrading, be sure to read the changelog which is provided in the tarball. New features and configuration options may be listed there.

Compile options

Tunables can be found at the top of the PKGBUILD for customizing the building process in addition to the usual options:

_mk_burg_emu (only in burg-bios-bzr) (default=y) - Setting this to y enables burg-emu and will double the build time. Users who have no need for burg-emu and wish to speed things up should probably set this to n.

_rm_build_dirs (default=n) - When set to y the build directories are deleted saving precious space. This will not affect the Bazaar checkout tree or anything else in ${srcdir}.

Initial setup

The main configuration file burg.cfg is not provided by any package. Users must obtain one by copying an existing one, manual construction or automatic generation using update-burg (see the section on configuration).

If installing for the first time, enter the following command to install to the MBR,

# burg-install /dev/sda --no-floppy

Substitute /dev/sda with the device name for the disk.

Configuration

Since BURG is derived from GRUB, its configuration is similar in most respects. The main configuration file is /boot/burg/burg.cfg and is usually generated automatically. It is possible to create one by hand. However, this would be very tedious especially when adding the graphical features. It is more feasible to tweak and edit an existing one.

Generation is configured by the file /etc/default/burg and scripts are located in /etc/burg.d/.

Generation of a configuration

Creating a new burg.cfg is done by the command:

# burg-mkconfig -o /boot/burg/burg.cfg

Arch Linux provides a handy shortcut:

# update-burg

Warning: These commands overwrite any preexisting file at that path.

Defaults

The file /etc/default/burg is a Bash script that is sourced by burg-mkconfig when generating a configuration file. The defaults file is meant to be an easy way for users to control this process. The entries are Bash variables and arrays and are the same as those used in GRUB.

burg.d scripts

The directory /etc/burg.d/ contains scripts used when creating burg.cfg. They are called in order of the numbers in the filenames.

The scripts can be turned on or off by flipping the executable bit in the file permission modes.

The script 40_custom is intended to be user editable. Users are also free to create more scripts to their liking. Remember that everything sent to stderr is viewed in the terminal and everything sent to stdout is appended to burg.cfg verbatim.

Preview and runtime configuration

When editing a configuration, one does not need to reboot to see changes. If enabled in the PKGBUILD at compile time, the command burg-emu should be available. Run it as root to preview what BURG would look like at boot. burg-emu allows the user to do most things that can be done at boot (except for, you know, booting).

BURG also allows runtime configuration, such as changing themes, through menus and BURG's commandline. The settings are set as variables which are saved in /boot/burg/burgenv.

Theming

The primary reason to use BURG over other boot loaders is its theming system. To add a theme to BURG, copy its directory to /boot/burg/themes/ and then update the configuration.

To change themes, press Template:Keypress when running BURG. A list of available themes will be shown. Use the arrow keys to highlight the theme you want and press Enter to make the selection. This can be done from within burg-emu and rebooting is not required.

Theme packages can be found in the AUR. Currently only four packages are available:

Important files

These files and directories control much of how BURG is configured and run.

/boot/burg/

/boot/burg/burg.cfg

/boot/burg/burgenv

/etc/default/burg

/etc/burg.d/

Other OS detection

In some cases, you may have other operating systems installed on other hard drives or partitions and you may want them to be listed in BURG. You can manually append their entries to /etc/burg.d/40_custom, something like: