From: Thorsten Glaser Date: Wed, 12 Aug 2009 13:51:39 +0000 (+0000) Subject: Update MirOS bsd4grml to 20090812 X-Git-Tag: v0.9.21~29 X-Git-Url: https://git.grml.org/?p=grml-live.git;a=commitdiff_plain;h=85c10ba4c34c04a977ae4358e1506f2ecc819c34 Update MirOS bsd4grml to 20090812 * Update MirOS bsd4grml to 20090812 * Sync menu.lst, grub.cfg, isolinux.cfg, syslinux.cfg * Provide a fallback way to boot MirOS bsd4grml from both GRUBs Signed-off-by: Thorsten Glaser --- diff --git a/debian/changelog b/debian/changelog index 817b756..ab497f3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ grml-live (0.9.21) UNRELEASED; urgency=low + [ Michael Prokop ] * Split the single /etc/apt/sources.list file into structured files in /etc/apt/sources.list.d/. We are using: - /etc/apt/sources.list.d/grml.list for all grml related repositories @@ -25,6 +26,11 @@ grml-live (0.9.21) UNRELEASED; urgency=low * Drop bar from GRML_FULL (no release since 2007, consider using cpipe instead). + [ Thorsten Glaser ] + * Update MirOS bsd4grml to 20090812 and sync menu.lst, grub.cfg, + isolinux.cfg, syslinux.cfg with each other; provide a fallback + way to boot MirOS bsd4grml from both GRUB versions using modules + -- Michael Prokop Tue, 11 Aug 2009 16:57:41 +0200 grml-live (0.9.20) unstable; urgency=low diff --git a/templates/boot/addons/bsd4grml/LICENCE.TXT b/templates/boot/addons/bsd4grml/LICENCE.TXT index c14075b..ce8b244 100644 --- a/templates/boot/addons/bsd4grml/LICENCE.TXT +++ b/templates/boot/addons/bsd4grml/LICENCE.TXT @@ -422,4 +422,4 @@ BUGS MirOS project at if you think you have discovered a bug. -MirOS January 17, 2009 6 +MirOS June 29, 2009 6 diff --git a/templates/boot/addons/bsd4grml/boot.1 b/templates/boot/addons/bsd4grml/boot.1 index 6738ef8..641ddbe 100644 --- a/templates/boot/addons/bsd4grml/boot.1 +++ b/templates/boot/addons/bsd4grml/boot.1 @@ -1,3 +1,5 @@ +# $MirOS: src/distrib/common/grml/boot.1,v 1.2 2009/06/29 18:19:00 tg Exp $ +# echo echo Booting the MirOS BSD rescue system echo diff --git a/templates/boot/addons/bsd4grml/boot.2 b/templates/boot/addons/bsd4grml/boot.2 index 4aeb9c0..63093fd 100644 --- a/templates/boot/addons/bsd4grml/boot.2 +++ b/templates/boot/addons/bsd4grml/boot.2 @@ -1,3 +1,5 @@ +# $MirOS: src/distrib/common/grml/boot.2,v 1.2 2009/06/29 18:19:00 tg Exp $ +# echo echo Booting the MirOS BSD rescue system into UKC echo diff --git a/templates/boot/addons/bsd4grml/boot.3 b/templates/boot/addons/bsd4grml/boot.3 index cdaafb1..2848686 100644 --- a/templates/boot/addons/bsd4grml/boot.3 +++ b/templates/boot/addons/bsd4grml/boot.3 @@ -1,3 +1,5 @@ +# $MirOS: src/distrib/common/grml/boot.3,v 1.2 2009/06/29 18:19:00 tg Exp $ +# echo echo Booting the MirOS BSD rescue system (serial console) echo COM1 (tty00) at 9600 bps, 8N1 diff --git a/templates/boot/addons/bsd4grml/boot.4 b/templates/boot/addons/bsd4grml/boot.4 index b7ff151..82201ba 100644 --- a/templates/boot/addons/bsd4grml/boot.4 +++ b/templates/boot/addons/bsd4grml/boot.4 @@ -1,3 +1,5 @@ +# $MirOS: src/distrib/common/grml/boot.4,v 1.2 2009/06/29 18:19:00 tg Exp $ +# echo echo Booting the MirOS BSD rescue system (serial console) echo COM1 (tty00) at 38400 bps, 8N1 diff --git a/templates/boot/addons/bsd4grml/boot.5 b/templates/boot/addons/bsd4grml/boot.5 index a9a25e1..f57d6ae 100644 --- a/templates/boot/addons/bsd4grml/boot.5 +++ b/templates/boot/addons/bsd4grml/boot.5 @@ -1,3 +1,5 @@ +# $MirOS: src/distrib/common/grml/boot.5,v 1.2 2009/06/29 18:19:00 tg Exp $ +# echo echo Booting the MirOS BSD rescue system (serial console) echo COM1 (tty00) at 115200 bps, 8N1 diff --git a/templates/boot/addons/bsd4grml/boot.6 b/templates/boot/addons/bsd4grml/boot.6 index 6131727..65904c6 100644 --- a/templates/boot/addons/bsd4grml/boot.6 +++ b/templates/boot/addons/bsd4grml/boot.6 @@ -1,3 +1,5 @@ +# $MirOS: src/distrib/common/grml/boot.6,v 1.2 2009/06/29 18:19:00 tg Exp $ +# echo echo Switching to GNU GRUB %GRUB_VERSION% echo diff --git a/templates/boot/addons/bsd4grml/boot.cfg b/templates/boot/addons/bsd4grml/boot.cfg index d121c65..5bfc278 100644 --- a/templates/boot/addons/bsd4grml/boot.cfg +++ b/templates/boot/addons/bsd4grml/boot.cfg @@ -1,3 +1,5 @@ +# $MirOS: src/distrib/common/grml/boot.cfg,v 1.2 2009/06/29 18:19:00 tg Exp $ +# set image /boot/addons/bsd4grml/bsd.rd set timeout 12 macro grub1 machine exec grub /boot/grub/%GRUB_LEGACY% diff --git a/templates/boot/addons/bsd4grml/bsd.rd b/templates/boot/addons/bsd4grml/bsd.rd index fdc9d91..46e2e8f 100644 Binary files a/templates/boot/addons/bsd4grml/bsd.rd and b/templates/boot/addons/bsd4grml/bsd.rd differ diff --git a/templates/boot/addons/bsd4grml/gpl_srcs.tgz b/templates/boot/addons/bsd4grml/gpl_srcs.tgz index e58acf1..fdde6ed 100644 Binary files a/templates/boot/addons/bsd4grml/gpl_srcs.tgz and b/templates/boot/addons/bsd4grml/gpl_srcs.tgz differ diff --git a/templates/boot/addons/bsd4grml/ldbsd.com b/templates/boot/addons/bsd4grml/ldbsd.com index 446e68e..5cfbf0d 100644 Binary files a/templates/boot/addons/bsd4grml/ldbsd.com and b/templates/boot/addons/bsd4grml/ldbsd.com differ diff --git a/templates/boot/addons/bsd4grml/ldbsd.txt b/templates/boot/addons/bsd4grml/ldbsd.txt index 0179430..e60f949 100644 --- a/templates/boot/addons/bsd4grml/ldbsd.txt +++ b/templates/boot/addons/bsd4grml/ldbsd.txt @@ -9,9 +9,9 @@ DESCRIPTION do some auxiliary functions, while dealing with the problems arising from the history of the i386 architecture since 1978, incompatibilities, ex- tensions, bugs, El Torito booting, Intel's Preboot Execution Environment - (PXE) for network boot, etc. MirOS floppies use a specially limited ver- - sion optimised for size, lacking support for any filesystem other than - 4.2FFS and most commands. + (PXE) for network boot, the Multiboot Specification, etc. MirOS floppies + use a specially limited version optimised for size, lacking support for + any filesystem other than 4.2FFS and most commands. It can be loaded either directly from the BIOS (most commonly via PXE; earlier versions could also be loaded using El Torito), the bootxx first @@ -23,10 +23,11 @@ DESCRIPTION implementing the COMBOOT API (specified by SYSLINUX, EXTLINUX, ISOLINUX, PXELINUX) or MS-DOS(R) (unless DOS occupies the HMA). Once loaded, it can be used, in a more or less limited fashion, to boot a MirOS kernel from a - supported filesystem (4.2FFS, ISO 9660, FAT12, FAT16, FAT28, TFTP, NFS), - inspect the filesystems, get or set machine information, or load other - bootloaders (see below for details). It can inflate gzip(1) compressed - files, set up serial console, and provides an interactive prompt. + supported filesystem (4.2FFS, ISO 9660, FAT12, FAT16, FAT28, TFTP, NFS, + and a pseudo filesystem called lmbmfs), inspect the filesystems, get or + set machine information, or load other bootloaders (see below for de- + tails). It can inflate gzip(1) compressed files (with LZMA compression + planned), set up serial console, and provides an interactive prompt. Basic operation procedure is as follows: @@ -78,14 +79,22 @@ DESCRIPTION Multiboot We request to be loaded to 0x00100000 (the HMA) due to GNU GRUB's limitations, save the boot device off the MBI structure, copy ourselves to the final location, and - switch back to Real Mode. + switch back to Real Mode. Modules passed to us by the + Multiboot compliant boot loader will be moved off to just + above 20 MiB in memory; their dirnames as well as any + command lines (to the Multiboot OS kernel, i.e. this + bootloader, as well as to the Multiboot modules) are dis- + carded. The modules are made available as regular files + using the virtual lmbm (Loadable Multiboot Modules) dev- + ice and filesystem (in-RAM file store, really). During the initial operation, the stack is located about 80 KiB behind the start of our own memory area, and switched to the final location if the position in memory is known to be correct early. 2. System information (boot drive, potential partition table entry, - PXENV+ and !PXE structure pointers) are stored in safe locations. + PXENV+ and !PXE structure pointers, multiboot module information) + are stored in safe locations. 3. The code is relocated to the final address once or twice if needed. The final address is 4000:0000h with the stack beginning at @@ -103,11 +112,9 @@ DESCRIPTION the numeric return value for later, to replace the cfg suffix of the configuration file with it. - 5. The IDT for the Protected Mode is set up. + 5. The system is switched to Protected Mode. - 6. The system is switched to Protected Mode. - - 7. The hardware is probed: + 6. The hardware is probed: + o Console devices: the default BIOS console (INT 10h, which may be a MDA/MGA/Hercules, CGA/EGA or VGA CRT/LCD, plus DIN or PS/2 or @@ -117,13 +124,17 @@ DESCRIPTION space, in case the BIOS reports wrong information. + o APM support + o PXE support + + o Loadable Multiboot Modules (if any, they are moved off to safe + locations and the virtual lmbm device and lmbmfs are set up) + + o Floppy disc drives + + o Hard disc drives, including El Torito CD-ROM drives - 8. Unless a control key is held, the files /x.x.x.x/boot.cfg (where - x.x.x.x is our own IPv4 address) and /boot.cfg (with cfg possibly - replaced from the menu) are read and executed as if the commands had - been entered on the loader prompt. + 7. Unless a control key is held, the files /x.x.x.x/boot.cfg if loaded + via PXE (where x.x.x.x is our own IPv4 address) and /boot.cfg, with + "cfg" possibly replaced from the Live CD menu, are read and executed + as if the commands had been entered on the loader prompt. - 9. The bootloader prompt + 8. The bootloader prompt boot> _ @@ -177,7 +188,7 @@ COMMANDS The cd9660, tftp and nfs filesystems do not support this command. They will either always fail or always succeed with sane but - unusable results. The FAT12, FAt16 and FAT28 filesystems have + unusable results. The FAT12, FAT16 and FAT28 filesystems have hardcoded perms and uid/gid. machine [command] @@ -297,7 +308,12 @@ IMAGE SPECIFICATIONS + o fd0a:/bsd + o hd0o:/bsd.rd + o / (for "ls") + + o hd0a:/ (for "ls") + + o lmbm:/ (for "ls") + o cd0a:/boot/grub/stage2 + + o tftp:/bsd.rd.i386 + + o lmbm:/bsd4grml + + o /bsd Disklabels are read from hard discs (BIOS drive >= 80h) by searching for a primary MirOS partition first. The default partition type, 0x27, can be @@ -390,6 +406,8 @@ SEE ALSO Intel Corporation, Preboot Execution Environment (PXE) Specification, Version 2.1, September 20, 1999. + Free Software Foundation, Inc., Multiboot Specification, Version 0.6.93. + HISTORY This bootloader is based on code written by Michael Shalayeff for OpenBSD 2.1. The separate pxeboot command first appeared in OpenBSD 3.5, @@ -397,13 +415,36 @@ HISTORY boot.cfg file was called boot.conf, it has been renamed for ISO 9660 and FAT compatibility. A version called cdboot appeared in MirOS #8 and went away for MirOS #10. The separate versions got merged into one bootloader, - DOS, COMBOOT, Multiboot support, pagination, macros, the machine exec and - cat commands, working chainbooting of bootsectors and GNU GRUB, faked - disklabels (if none exist on disc), FAT filesystem support, and many more - things were added or rewritten for MirOS #11 and grml by Thorsten Glaser. + DOS, COMBOOT, Multiboot support (including modules), pagination, macros, + the machine exec and cat commands, working chainbooting of bootsectors + and GNU GRUB, faked disklabels (if none exist on disc), FAT filesystem + support, and many more things were added or rewritten for MirOS #11 and + MirOS bsd4grml by Thorsten Glaser. CAVEATS The default location of the kernels and the boot.cfg file can be changed at compile time. -MirOS BSD #10-current February 1, 2009 6 + FILESYSTEM SPECIFIC NOTES + + ISO 9660 Filesystems above 4 GiB in size definitively do not work. We + do not know at this time if there is a 2 GiB or 4 GiB limit, + nor if this affects any other filesystems. + + The ls command does not work. + + lmbmfs This filesystem and device will only appear if loaded via a + Multiboot compliant boot loader, masquerading as Multiboot + compliant OS kernel, and when modules are passed. ls is possi- + ble only on the root directory ("/", "/."). Files keep the + names passed by the Multiboot boot loader, but have the direc- + tory part stripped, and can be accessed with any directory + leading. If they have no names, they are given an enumerated + hex number as name. + + tftp, nfs These filesystems and devices will only appear of loaded via + PXE. They obviously do not support ls. + + ustarfs This filesystem will be implemented soon. + +MirOS BSD #10-current August 9, 2009 6 diff --git a/templates/boot/grub/grub.cfg b/templates/boot/grub/grub.cfg index c713ba8..47dbb1c 100644 --- a/templates/boot/grub/grub.cfg +++ b/templates/boot/grub/grub.cfg @@ -37,10 +37,22 @@ menuentry "FreeDOS" { initrd /boot/addons/balder10.imz } -menuentry "MirOS BSD" { +menuentry "MirOS bsd4grml (regular method)" { multiboot /boot/addons/bsd4grml/ldbsd.com } +menuentry "MirOS bsd4grml (fallback method)" { + multiboot /boot/addons/bsd4grml/ldbsd.com + module /boot/addons/bsd4grml/bsd.rd + module /boot/addons/bsd4grml/boot.1 + module /boot/addons/bsd4grml/boot.2 + module /boot/addons/bsd4grml/boot.3 + module /boot/addons/bsd4grml/boot.4 + module /boot/addons/bsd4grml/boot.5 + module /boot/addons/bsd4grml/boot.6 + module /boot/addons/bsd4grml/boot.cfg +} + menuentry "Boot OS of first partition on first disk" { chainloader +1 } diff --git a/templates/boot/grub/menu.lst b/templates/boot/grub/menu.lst index 87522d0..cf8902c 100644 --- a/templates/boot/grub/menu.lst +++ b/templates/boot/grub/menu.lst @@ -62,9 +62,20 @@ title Boot FreeDOS kernel /boot/addons/memdisk initrd /boot/addons/balder10.imz -title MirBSD +title MirOS bsd4grml (regular method) kernel /boot/addons/bsd4grml/ldbsd.com +title MirOS bsd4grml (fallback method) +kernel /boot/addons/bsd4grml/ldbsd.com +modulenounzip /boot/addons/bsd4grml/bsd.rd +module /boot/addons/bsd4grml/boot.1 +module /boot/addons/bsd4grml/boot.2 +module /boot/addons/bsd4grml/boot.3 +module /boot/addons/bsd4grml/boot.4 +module /boot/addons/bsd4grml/boot.5 +module /boot/addons/bsd4grml/boot.6 +module /boot/addons/bsd4grml/boot.cfg + # title %GRML_NAME% %VERSION% - old boot method # kernel /boot/%GRML_NAME%/linux26 ramdisk_size=100000 init=/etc/init apm=power-off lang=us vga=791 nomce quiet grml_dir="live" grml_name="grml.squashfs" # initrd /boot/%GRML_NAME%/minirt26.gz diff --git a/templates/boot/isolinux/isolinux.cfg b/templates/boot/isolinux/isolinux.cfg index 4a8e738..2c33d4d 100644 --- a/templates/boot/isolinux/isolinux.cfg +++ b/templates/boot/isolinux/isolinux.cfg @@ -126,7 +126,7 @@ KERNEL /boot/addons/memdisk APPEND initrd=/boot/addons/balder10.imz LABEL bsd -MENU LABEL MirBSD +MENU LABEL MirOS bsd4grml KERNEL /boot/addons/bsd4grml/ldbsd.com LABEL hdt diff --git a/templates/boot/isolinux/syslinux.cfg b/templates/boot/isolinux/syslinux.cfg index d888cec..7b1fe15 100644 --- a/templates/boot/isolinux/syslinux.cfg +++ b/templates/boot/isolinux/syslinux.cfg @@ -126,7 +126,7 @@ KERNEL /boot/addons/memdisk APPEND initrd=/boot/addons/balder10.imz LABEL bsd -MENU LABEL MirBSD +MENU LABEL MirOS bsd4grml KERNEL /boot/addons/bsd4grml/ldbsd.com LABEL hdt