Wishes Granted: live cd, gtk/text D-I, debian.exe, memtest
I for one have longed for a all in one CD that will boot a live system. It's
great for repair jobs, or just the "what if", as we all know. Also, the new
GTK netboot is soooo sexy, even die hard command line geeks will dig it.
For brevity, I will *assume* you can connect all these dots. Don't be
afraid to read it more then once to let it sink in. (I'm a scatter brain at
this hour, I wanted sleep 5h ago) So what did I build? I built a base
make-live image with these added features:
Grub Bootloader: (* = default)
* Debian Live (naturally) - base (no gui. try a gui if you wish...)
TODO: D-L with amd64 kernel
Memtest86
Debian-Installer GTK i386
Debian-Installer Text i386
Debian-Installer GTK amd64
Debian-Installer Text amd64
Also on the CD:
Windows32/64 Debian-Installer autorun
Debian logo for the CD (swirl.ico from win32-loader in autorun)
Grub for DOS
Ok, I'm not sure if bug #412301 is fixed at the time of this writing, but I
ran a shorter variant of using the shell as your all in one hook. In the
end, it turns out I really didn't need it, as you'll see later if you review
all this. Feel free to modify this to taste to use a GUI and your favorite
window manager etc.
$ sudo make-live --hook sh
... some time later
casper#
Install grub, but do not probe for a harddisk - hah it's live, what
harddisk? :)
I think you can install the amd64 kernel + module here. This should allow
"TODO" in the grub menu to work. I have no amd64 system, so I have to beg
for access on a nearby system :). Rumor has it you can run amd64 kernel and
use a i386 userland, but I haven't tested...
My copy of the grub menu.lst (and the 120mb cd I'm talking about here) is at
http://www.goodbye-windows.com/downloads/ If you inspect the menu.lst,
you'll see I disregarded some use of update-grub, because we had to get it
right once, and it'll stay this way on CD. Do not use the "savedefault"
option. you can't write back :) The lastest known good Win32 based loader
is debian-20070303-161637.exe. If it yells this os isn't supported,
consider backing out, or be prepared to use a workaround (see below).
URLs to fetch todays GTK (and textmode failsafe) installers for amd64 and
i386:
http://people.debian.org/~joeyh/d-i/images/daily/
netboot/gtk/debian-installer/i386/initrd.gz
http://people.debian.org/~aba/d-i/images/daily/
netboot/gtk/debian-installer/amd64/initrd.gz
If in doubt, the "linux" file in the same directory is the kernel to use
with these. However, it /should/ be the same as sid. download if in doubt,
but my last attempt showed the md5 sums are identical.
It's important to sync chroot/boot/ over into binary/boot/
$ sudo rsync -av chroot/boot/ binary/boot/
We need the stage2 loader for eltorito.
$ sudo cp chroot/usr/lib/grub/i386-pc/stage2_eltorito binary/boot/
Then we make the CD:
$ sudo mkisofs -R -J -b boot/grub/stage2_eltorito -no-emul-boot
-boot-load-size 4 -boot-info-table -o dual-live-di.iso binary/
I tried testing in qemu, but it was unable to boot this image. I tested
vmware-server (It's now $0, but not FOSS) which boots the CD, and booted all
targets without issue.
## Win32-loader notes:
autorun.inf: [dos]
open=\tools\win32-loader.exe
icon=\tools\swirl.ico
Grab the icon:
$ sudo wget http://www.goodbye-windows.com/favorite.ico -O
binary/tools/swirl.ico
Be advised that Win95+98 need to use grub.exe+grub.pif in c:\ as a
workaround until win32-loader is updated. Launch grub.pif to restart in dos
realmode when grub.exe is called.
WinMe (without great and excessive pain) will not support how win32-loader
uses grub.exe (dos realmode).
Also, win32-loader does not support Vista at this time. The only known
workaround is to drop back to any other supported Windows release. It
appears the Vista bootloader (see technet/msdn for bcdedit.exe) launches
Windows PE binaries (eg, memtest.exe and winload.exe). Grub for DOS does
not support this. (help welcome)
And that's that. If I had a 64bit system, I could test amd64 better...
Enjoy =-)
Scott Edwards
Daxal Communications - http://www.daxal.com/?from=debian+live
Reply to: