Jiri Srain write:
Dne úterý 08 Prosinec 2009 17:31:51 Josef Reidinger napsal(a):
Jeff Mahoney write:
Hi everyone -
Occasionally I take a break from kernel hacking. Recently, I was working on improving the reiserfs support in grub so that it doesn't take forever to load when there is a journal with outstanding transactions that need to be replayed.
The thing is that the grub 0.97 code is truly awful. Every file system implementation has to implement strangely chosen primitives and, outside of the code itself, has 32k in memory which it has to manage itself and not exceed. This is the crux of the reiserfs /boot performance issue in bnc#538795.
On top of that, the upstream grub developers refuse to accept fixes or features against 0.97, forcing distributors to carry patches around forever.
The good news is that GRUB2 lifts a whole lot of restrictions. It's modular in design, has a cleaner implementation, and has native support for more file systems. It supports LVM and MD RAID volumes. It supports DMRAID volumes (though I'm not sure how well here). The upstream development community is interested in maintaining it.
The bad news is that it's a boot loader. There may be bugs lurking in there. That are tough to track down and leave you with an unbootable system.
So who wants to help test? :)
-Jeff
Hi, I looked at grub2 some time ago. I think that its main problem is incredible magic configuration. Part of configuration is autodetected and part is written from simplified configuration file. Problem is that it doesn't support many case which we handle now (handle by perl-Bootloader and in the yast). It decreased possibility of boot setup (of course you can hack generated config file but it is not possible to read it automatic). Also as long as some configuration tweaks must be done via hacking scripts, it is not possible to parse it by yast. So if you use grub2, then you must configurate it on your own. (when I try Ubuntu with grub2 I found, that ubuntu does allow user almost none options to setup on boot) Josef
The (autogenerated) configuration, as used e.g. in Ubuntu, is from my POV really too much magic and too little flexibility. On the other hand, it should not prevent you from writing menu.lst (or grub.conf in the Ubuntu file naming) manually and so install the Stage1 part.
menu.lst looks semantically very similar to Grub1, OTOH the syntax is different.
Jiri
I disagree. Its semantic is much richer. It support probing, searching and testing during boot. It can use variables, conditionals, loops and functions ( grub2 manual say itself, that it is similar to bash script ). I think that no one expect, that perl-Bootloader is can parse that configuration file (if it does correct it is halting problem). What is possible to do is parsing /etc/grub/default which is really simple. BTW I cannot find command in grub to load 64-bit kernel, I see only 16-bit and 32-bit one ( http://grub.enbug.org/CommandList ) Josef -- Josef Reidinger YaST team maintainer of perl-Bootloader, YaST2-Repair, webyast (language,time,basesystem,ntp) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org