Linux How to get rid of GRUB in Eden?
#1
Question 
With Xbmcbuntu there is a Grub screen when booting up my HTPC. Has anyone found away to have it boot right into XBMC??

Thanks

Reply
#2
snail pellets.....fly spray?
Reply
#3
Code:
sudo nano /boot/grub/menu.lst

and add the following

Code:
timeout 1
hiddenmenu

That will hide the grub menu, and after 1 second it will boot into the default system (i.e. xbmcbuntu)

*edit* Just realized that this may not work anymore with newer versions of grub.

*edit 2* if the first one doesn't work, try this instead:

Code:
sudo nano /etc/default/grub

and set this
Code:
GRUB_HIDDEN_TIMEOUT=0

the save, and run
Code:
sudo update-grub
Reply
#4
I'll give that a try when I get a chance, thanks.

Reply
#5
(2012-03-27, 03:22)cowfodder Wrote:
Code:
sudo nano /boot/grub/menu.lst

and add the following

Code:
timeout 1
hiddenmenu

That will hide the grub menu, and after 1 second it will boot into the default system (i.e. xbmcbuntu)

*edit* Just realized that this may not work anymore with newer versions of grub.

*edit 2* if the first one doesn't work, try this instead:

Code:
sudo nano /etc/default/grub

and set this
Code:
GRUB_HIDDEN_TIMEOUT=0

the save, and run
Code:
sudo update-grub

I have tried the first & second option and neither worked.
The second option was already set to 0

GNU nano 2.2.6 File: /etc/default/grub

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

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

Any ideas. Most the time I dont see the GRUB it just takes me to the busy box screen in which i restart the comp then it takes me to the grub screen. not sure if they are linked some how or if i need to do something else to get rid of the busy box screen.

Image
Reply
#6
The screenshot of 'busybox' above is indicative of a Linux system that hasn't found the root filesystem and has simply booted into the initial ram-disk. The grub entry should be checked that the syntax for the kernel and initrd are correct.

Going back to the OP, as background, grub is simply the bootloader that is used by default for the majority of Linux distributions, in this case Ubuntu. I guess it's the 'ugliness' you're not particularly pleased about. Some people find it helpful though Smile Reducing the timeout will at least alleviate your level of discomfort to 1 second. What this means is that you can't exactly 'get rid of it', as it's vital to boot the OS, but the points above should help to conceal it's output, but as it seems has been discovered, any errors in doing this can lead to problems booting the system (which will be recoverable, but maybe with a bit of hassle and rescue disks ...)

Jon
Reply
#7
but although the timeout is set to 0 it still does not auto boot i need to press enter when selecting buntu xbmc from the grub. I dont mind seeing it if it automatically goes into xbmc after but like i said atm it still requires me to get up and select enter on the keyboard. This will be a problem for me soon as i am moving all my equip into a AV room.

Why is it having trouble finding the root filesystem? Can i do something/change to fix this?

thanks
Reply
#8
It seems to me that the grub system did not set correct /dev/disk under installations, so what you have to do is to find out where the root system is does it have /dev/sda1, sdd1, sdd2 and so on..

Reply
#9
There is a package called burg, basically it is grub with a better looking gui. I am not sure how much it is being worked on currently, think it might not have been updated in a little while but it should still work.

Reply
#10
To tmacka - set the timeout to 1 instead. Setting it to 0 leaves it just sitting there, but with a real value it will display the grub screen for 1 second and then automatically boot the default entry. Assuming you have a default set? e.g. default 0 boots the first grub entry. Alfton is also correct, on the grub kernel line you should have an argument root=<path to root disk device> - I'd need to check an Ubuntu installation to see what they do here, but you need to point this entry to the correct root device (likely to be able to use /dev/sda1 if you just followed a default installation, but you may need to poke around a bit via a Linux rescue or live system).
Reply
#11
(2012-04-18, 02:53)jervine Wrote: To tmacka - set the timeout to 1 instead. Setting it to 0 leaves it just sitting there, but with a real value it will display the grub screen for 1 second and then automatically boot the default entry. Assuming you have a default set? e.g. default 0 boots the first grub entry. Alfton is also correct, on the grub kernel line you should have an argument root=<path to root disk device> - I'd need to check an Ubuntu installation to see what they do here, but you need to point this entry to the correct root device (likely to be able to use /dev/sda1 if you just followed a default installation, but you may need to poke around a bit via a Linux rescue or live system).

Ok i have tried setting it to 1 and still nothing different

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=1
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

So how exactly do i check or set the root= in the grub kernel. Im new to this type of OS.

cheers
(2012-04-17, 08:32)alfton Wrote: It seems to me that the grub system did not set correct /dev/disk under installations, so what you have to do is to find out where the root system is does it have /dev/sda1, sdd1, sdd2 and so on..

how to i find and change this?

thanks
Reply
#12
1. What distribution are you using, as I don't think you've said that before ...
2. What file are you altering where the parameters are GRUB_DEFAULT=0 etc?

Looks like XBMCbuntu uses grub2 which has a more complicated and flexible grub.cfg file.
Reply
#13
Could you first tell me how you did the installations?

Did you let the installer do its thing automatical?, do you have dual boot system, windows/linux half, half?

so first on find out where your root system is:

you find this out with following

cd /dev/disk/by-uuid
ls -l (there you will see the symling to the partitions)

type "df" then you see the partition that is the root "/"

mine is for eksempel "4k5f7d8d-f9c4-439e-h8fe-f5e7aeg24c21"

when you have grabed the by-uuid number that correspond to the root file system you go into the

/boot/grub/grub.cfg

and find all entry that say: --set=root 4k5f7d8d-f9c4-439e-h8fe-f5e7aeg24c21

Check that the uuid is correct one for you root partitions

if not you change it to the correct one.
Reply
#14
(2012-04-18, 08:57)alfton Wrote: Could you first tell me how you did the installations?

Did you let the installer do its thing automatical?, do you have dual boot system, windows/linux half, half?

so first on find out where your root system is:

you find this out with following

cd /dev/disk/by-uuid
ls -l (there you will see the symling to the partitions)

type "df" then you see the partition that is the root "/"

mine is for eksempel "4k5f7d8d-f9c4-439e-h8fe-f5e7aeg24c21"

when you have grabed the by-uuid number that correspond to the root file system you go into the

/boot/grub/grub.cfg

and find all entry that say: --set=root 4k5f7d8d-f9c4-439e-h8fe-f5e7aeg24c21

Check that the uuid is correct one for you root partitions

if not you change it to the correct one.

I did a clean install onto a USB3 flash drive. Single operating system no partions.
I did oet the installer do everything.

Code:
trent_mackness@XBMC:~$ cd /dev/disk/by-uuid
trent_mackness@XBMC:/dev/disk/by-uuid$ ls -l
total 0
lrwxrwxrwx 1 root root 10 2012-04-20 13:00 cec8c929-9dd8-45dd-a4d6-cf47612ffbe5 -> ../../sda1
lrwxrwxrwx 1 root root 10 2012-04-20 13:00 d39f78e6-c2ae-4f38-9c24-0b55ac19e208 -> ../../sda5
trent_mackness@XBMC:/dev/disk/by-uuid$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             11661596   3723220   7345992  34% /
udev                   1780848         4   1780844   1% /dev
tmpfs                   716344       336    716008   1% /run
none                      5120         0      5120   0% /run/lock
none                   1790852         0   1790852   0% /run/shm
Ok so I have done upto the "df" bit as shown. I take it that sda1 is the root folder that im after?
There for this is cec8c929-9dd8-45dd-a4d6-cf47612ffbe5

This is my grub.cfg file
Code:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root cec8c929-9dd8-45dd-a4d6-cf47612ffbe5
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_msdos
  insmod ext2
  set root='(hd0,msdos1)'
  search --no-floppy --fs-uuid --set=root cec8c929-9dd8-45dd-a4d6-cf47612ffbe5
  set locale_dir=($root)/boot/grub/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
if [ ${recordfail} != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Ubuntu, with Linux 3.0.0-17-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    set gfxpayload=$linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root cec8c929-9dd8-45dd-a4d6-cf47612ffbe5
    linux    /boot/vmlinuz-3.0.0-17-generic-pae root=UUID=cec8c929-9dd8-45dd-a4d6-cf47612ffbe5 ro   quiet splash vt.handoff=7
    initrd    /boot/initrd.img-3.0.0-17-generic-pae
}
menuentry 'Ubuntu, with Linux 3.0.0-17-generic-pae (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root cec8c929-9dd8-45dd-a4d6-cf47612ffbe5
    echo    'Loading Linux 3.0.0-17-generic-pae ...'
    linux    /boot/vmlinuz-3.0.0-17-generic-pae root=UUID=cec8c929-9dd8-45dd-a4d6-cf47612ffbe5 ro recovery nomodeset
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd.img-3.0.0-17-generic-pae
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, with Linux 3.0.0-16-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    set gfxpayload=$linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root cec8c929-9dd8-45dd-a4d6-cf47612ffbe5
    linux    /boot/vmlinuz-3.0.0-16-generic root=UUID=cec8c929-9dd8-45dd-a4d6-cf47612ffbe5 ro   quiet splash vt.handoff=7
    initrd    /boot/initrd.img-3.0.0-16-generic
}
menuentry 'Ubuntu, with Linux 3.0.0-16-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root cec8c929-9dd8-45dd-a4d6-cf47612ffbe5
    echo    'Loading Linux 3.0.0-16-generic ...'
    linux    /boot/vmlinuz-3.0.0-16-generic root=UUID=cec8c929-9dd8-45dd-a4d6-cf47612ffbe5 ro recovery nomodeset
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd.img-3.0.0-16-generic
}
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root cec8c929-9dd8-45dd-a4d6-cf47612ffbe5
    linux16    /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root cec8c929-9dd8-45dd-a4d6-cf47612ffbe5
    linux16    /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
if [ "x${timeout}" != "x-1" ]; then
  if sleep --interruptible 1 ; then
    set timeout=0
  fi
fi
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

Looks like it is the right uuid!

Thanks getting close hopefully.


(2012-04-18, 08:46)jervine Wrote: 1. What distribution are you using, as I don't think you've said that before ...
2. What file are you altering where the parameters are GRUB_DEFAULT=0 etc?

Looks like XBMCbuntu uses grub2 which has a more complicated and flexible grub.cfg file.

1. Not sure what you meen by distribution?
2. When I run
Code:
sudo nano /etc/default/grub
I changed

GRUB_HIDDEN_TIMEOUT=0

to

GRUB_HIDDEN_TIMEOUT=1

saved then ran

Code:
sudo update-grub

which seems to hold so i did it correctly but still nothing.
Reply
#15
Sorry Im starting to get out of idea here.

but i think that the mistake here maybe that you forgot to tell under installations that the partition where root is, should be bootable.

That is the only thing i can think off now,

So my recomadations for you is to try install it all over again, and se if you can get the options bootable for the root system

but then you need to use the advanced disk setup, not automatical

Regards Alf Tonny Bätz
Reply

Logout Mark Read Team Forum Stats Members Help
How to get rid of GRUB in Eden?0