Git Product home page Git Product logo

burg-x86_64-efi's Introduction

BURG2

This is GRUB 2, the second version of the GRand Unified Bootloader. GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more robust, more powerful, and more portable.

Preparation

To compile the pc version of BURG, you need install build dependence:

debian/ubuntu:

sudo apt-get install autoconf automake bison flex make gcc ruby python gettext libfreetype6-dev

fedora:

sudo yum install autoconf automake bison flex make gcc ruby python gettext-devel freetype-devel

The emulated version requires extra software:

debian/ubuntu:

sudo apt-get install libncurses5-dev libsdl1.2-dev*

fedora:

sudo yum install ncurses-devel SDL-devel

In debian/ubuntu, you can also use the following command to install all dependent software:

sudo apt-get build-dep burg-pc burg-emu

Compile and install

I recommend using a separate directory for compilation, this makes the original source tree a lot cleaner. It's also better to use a different install directory so that it won't overwrite the one installed by apt-get. In the following example, I uses $HOME/burg_pc and $HOME/burg_emu for compilation, and $HOME/burg_install as the target install directory. The source code of BURG is assumed to be in $HOME/burg.

To compile and install pc version of BURG:

mkdir $HOME/burg_pc
cd $HOME/burg_pc
$HOME/burg/configure --with-platform=pc --prefix=$HOME/burg_install
make
make install

To compile and install emulated version of BURG:

mkdir $HOME/burg_emu
cd $HOME/burg_emu
$HOME/burg/configure --with-platform=emu --prefix=$HOME/burg_install
make
make install

Configure

You need to create a configuration file at $HOME/burg_install/etc/default/burg, you can copy it from /etc/default/burg, or create from scratch, here is an example:

# If you change this file, run
# $> burg-mkconfig -o /boot/burg/burg.cfg
# afterwards to update /boot/burg/burg.cfg.
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=$(lsb_release -i -s 2> /dev/null || echo Debian)
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL=console

# If you want to enable the save default function, uncomment the following
# line, and set GRUB_DEFAULT to saved.
GRUB_SAVEDEFAULT=true

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
# In the boot menu, use hotkey 'r' to popup a resolution selection menu.
GRUB_GFXMODE=saved

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_LINUX_RECOVERY="true"

# Uncomment to get a beep at grub start
GRUB_INIT_TUNE="480 440 1"

# GRUB_THEME's value can be 'saved' or a specific BURG theme name, you can also
# set it to the pathname of a GRUB2 theme file.
# In the boot menu, use hotkey 't' to popup a theme selection menu
GRUB_THEME=saved

# GRUB_FOLD's value can be 'saved', 'true' or 'false'.
# In the boot menu, use hotkey 'F7' to show the full list, 'f' to toggle
# between folding modes.
GRUB_FOLD=saved

# Add user with burg-adduser, then use GRUB_USERS to config authentication.
# The following example means user1 can boot Ubuntu, no password is needed to
# boot Windows, user1 amd user2 can boot other OS. Superusers can boot any OS
# and use hotkeys like `c' to enter console mode.
GRUB_USERS="*=user1,user2:ubuntu=user1:windows="

#EOF

For a complete list of supported variables, refer to this document:

If you have customized boot items, you need to copy /etc/burg.d/40_custom to $HOME/burg_install/etc/burg.d/40_custom.

Now, install it to MBR so that it will take effect on the next boot:

sudo $HOME/burg_install/sbin/burg-install /dev/sda
sudo $HOME/burg_install/sbin/burg-mkconfig -o /boot/burg/burg.cfg

To switch back to default BURG, just run:

sudo burg-install /dev/sda
sudo update-burg -o /boot/burg/burg.cfg

burg-x86_64-efi's People

Contributors

code-of avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.