Slashdot Mirror


New Bootloader for FreeBSD

Dan writes "FreeBSD Release Engineering team's Scott Long has written a bootloader front-end script that allows one to enable/disable acpi, boot single users, etc. His primary motivation was to allow users to easily disable ACPI, since so many problems are popping up these days with it. He is hoping to have this be on at least the i386 bootcd for FreeBSD 5.1 scheduled for release June 2nd, and is looking for feedback."

3 of 49 comments (clear)

  1. It's not a bootloader by ciaran_o_riordan · · Score: 5, Informative

    Heh, great research. He's written a "bootloader front-end script that allows one to enable/disable acpi". Not a boot loader.

    He says later that "[if] the script cannot start, it might leave your loader unable to load the kernel".

    For people interested in actual boot loaders, GRUB is looking for people to work on the BSD loading code (it works but needs some updating).

    Ciaran O'Riordan

    1. Re:It's not a bootloader by shlong · · Score: 3, Informative

      Dude, give the editors a break on this one. I purposely made the subject of my announcement abiguous in order to attract attention. Which sounds better, "New Bootloader!", or "My attempt to enhance the user experience with 100 lines of Forth".
      Anyways, this is just a start. Hopefully I'll have some time to do cool stuff, like have the loader scan for kernels and present you with a choice, control the serial console, etc. While GRUB is cool and all, editing configuration files is still a turn-off to many people.

      --
      Cat, the other, tastier white meat.
    2. Re:It's not a bootloader by Anonymous Coward · · Score: 1, Informative

      I don't know why anyone would WANT grub. When using linux, I much prefer lilo, despite it's faults, for the simplicity and power it has. The BSD loaders are already rather powerful, so unless some masochists out there are dying to look at a graphical menu for 5 seconds before their system boots, what would grub even have to offer, even if it worked on the BSDs?

      things i like about grub:

      1. netboot
      2. lock entries by password
      3. netboot
      4. pass args to linux kernels (if it just could for the bsds as well)
      5. netboot
      6. dhcp + load config via tftp

      the best thing is netboot, in case i forgot to mention it. load pxegrub or nbgrub and proceed with a nice standard interface that gets its config from the server, can proceed to boot a local floppy, boot a local disk-based w2k, diskless freebsd, netbsd and linux plus memtest86 or some diagnostic floppies(!) via syslinux' memdisk. everything from one menu. as much as grub might suck in combination with the bsds, it's the best i've seen so far for the multiple-diskless-oses-and-more approach.

      don't bother with it if all you have is your little linux partition. lilo is enough for you, indeed.

      the bsds might have bootloaders themselves, even for netboot, but i don't want to change dhcpd.conf every time i like to quickly boot a -current NetBSD to test something. i want a menu, period.

      this just as an example:

      default 1
      timeout 10

      title local: boot from floppy
      rootnoverify (fd0)
      chainloader +1

      title local: Microsoft Windows 2000 Professional
      rootnoverify (hd0,0)
      chainloader +1

      title remote: NetBSD -current
      kernel --type=netbsd (nd)/i386.NetBSD.-current.kernel

      title remote: NetBSD 1.6.1
      kernel --type=netbsd (nd)/i386.NetBSD.1.6.1.kernel

      title remote: FreeBSD 5.0-RELEASE
      kernel (nd)/i386.FreeBSD.5.0-RELEASE.kernel

      title remote: FreeBSD 4.7-RELEASE
      kernel (nd)/i386.FreeBSD.4.7-RELEASE.kernel

      title remote: Linux 2.4.20
      kernel (nd)/i386.Linux.2.4.20.kernel ip=autoconfig root=/dev/nfs nfsroot=/usr/home/exports/bin.i386.Linux.2.4.20.po werbox/

      title diag: Memtest86
      kernel (nd)/i386.Memtest86.bin

      title diag: Hitachi (IBM) Drive Fitness Test
      kernel (nd)/i386.MemDisk.bin
      initrd (nd)/i386.DriveFitnessTest.floppy

      title diag: Hitachi (IBM) Feature Tool
      kernel (nd)/i386.MemDisk.bin
      initrd (nd)/i386.FeatureTool.floppy


      on a side note, i'm not surprised only NetBSD does it right by providing proper dhcp vendor strings which you can use to nicely select the root path you give based on which version you want to boot. there is currently no way to distinguish FreeBSD 4.x and linux server-side as they pass no dhcp vendor string. FreeBSD only introduced it in 5.x. Linux still doesn't do it (at least in 2.4.x). OpenBSD doesn't even want to boot without its loader. FreeBSD at least boots somehow although you get strange problems with 4.x (top(1) for example gives "nlist failed"). NetBSD (again) seems to do it The Right Way[tm].

      'nuff said, else it turns into NetBSD praise too much

      TCM