grub-gtk Aktuell Seminare Reports Homepage Software
printer / text mode version
university-logo
draheim
@informatik.hu-berlin.de

Reports
- postindustr.CC
- XML/Ti Report
- pTA StudienArbeit  .
- sch_llf study
- Geschichte des PC

TechDocs
- Perl Objects
- Installing Oracle
- shell cmds in python
- Using css for xml
    defs   tricks
- Unsafe mono  [x]  !
- Docbook Manpages
- Java Bean   Code
rpm-suse
 
- schema-mappingen
  ig cv hg re dv ev
  zz mk pr
- java problemsen
  lang swing ext gtk jjtree xul
 
boot
-grub-netboot
-grub-gtk
-partclone freshmeat
-partimage links
 
-releaseuploader


sitemap


-guidod-pygtk
sitemap             *offsite link

2005-06-19
(C) Guido Draheim
guidod@gmx.de

 
generated by mksite.sh

Python GTK frontend for GNU GRUB

I was horrified to note that there is no graphical frontend for grub - the GNU Grand Unified Bootloader.

The only reference: grubconf.sf.net ... but that is only about configuration of a standard menu.lst as being used on a server with a few partitions.

A newer attempt is: grime.sf.net ... but that one is targeted at the boot splash screen. However, it is based on Python-GTK which is some help.

And last not least, let us mention ubuntu/USplash, which does simply exist since ubuntu does endorse the usage of python gtk for boot configuration as well.

grub-install.py and grub-floppy.py

My actual goal was the creation of a grub boot floppy that would be able to boot via network - a grub.netboot floppy. The suse installation does have /usr/lib/grub/grub.netboot - but the stock "grub-install" shell script can not use it.

So, in the first round I was porting the bourne shell script "grub-install" into the python language - modelling as its own GrubInstall object. See grub-install.py which does really have the exact same functionality.

On another account I was porting the grub-floppy.sh script into python being now grub-floppy.py. So, there I had a GrubFloppy to push items onto a floppy and GrubInstall to make it bootable. However, where is the stage2.netboot

stage2.netboot and local boot

So, after all I just moved on - I was going to extract the gnu grub command wrapper into grubshell.py, the device conversion into grubdevice.py, the mtools handling into dosdisk.py.

With that modularization I was creating a springoff doing grubshellnetboot.py that would copy the stage2.netboot and run "grub install" with the correct parameters. The default is actually having a two-item menu: one for booting the local machine and one for booting from a remote server machine.

GUI for grub

However, the existance of a grub stage2.netboot is very different. While Suse linux does have it I found that Debian grub does not have it. Furthermore, the static ip adresses and server addresses would need to be configured - at the moment it is done via editing the script but a gui for grub would be a lot better.

However, I did not come so far - I was porting tune2fs-gtk.py but the real stuff does not yet exist. I was held back by other problems: while the grub floppy netboot does work the downloaded partimage (or LRS images) were not. So, after knowing how to make a network-aware custom boot floppy it turns to the next round investigations how to make a network-aware custom root floppy.

grub-gtk tarball