Re: howto boot+preseed kfreebsd in qemu (was Re: netcfg: installation on kfreebsd maybe broken?
Hi Holger,
On 08/02/13 13:21, Holger Levsen wrote:
> I'd be happy to add kreebsd d-i tests to jenkins.debian.net if someone
> could help me come up with the right qemu command options, ie for
> --kernel, --initrd and --append.
That would be wonderful, I've been working toward something like this.
Unfortunately I don't think the kernel/initrd/append options are
suitable for kfreebsd images.
Also note that kfreebsd install media use GRUB rather than
syslinux/isolinux.
I'd like to share a recipe that works for an extracted netboot.tar.gz:
$ qemu-system-x86_64 -m 512 -enable-kvm -net nic -net
user,bootfile=grub2pxe,tftp=. -serial stdio -boot n -drive
if=ide,bus=0,file=/dev/sdX,cache=writeback -no-reboot
(Of course, replace /dev/sdX with appropriate loop/block device etc. on
the host to use as a guest disk; cache=none may be even faster;
enable-kvm assumes a Linux host with kvm.ko installed+loaded).
I usually remove the font.pf2 file (forcing GRUB to run in text-mode)
and patch the grub.cfg like the attached. This automatically starts a
pre-seeded install, and the d-i syslog gets conveniently redirected to
qemu's stdout.
The preseed.cfg can probably be the same as a Linux one. If you specify
a partman-auto/disk it should probably be /dev/ada0 (first IDE whole
disk on kfreebsd-9) or /dev/ad0 (on kfreebsd-8).
Here's one I've had some success with:
http://pyro.eu.org/f/x-Lru4G5SieJVqMaRj71vQ.cfg
The above qemu command will show an SDL window (allowing easy manual
intervention if things go wrong) but for Jenkins I believe it needs
replacing with VNC.
It can be adapted easily to boot a mini.iso instead, but then it is
harder to tweak the grub.cfg.
Just let me know how else I can help with this.
Thanks!
Regards,
--
Steven Chamberlain
steven@pyro.eu.org
--- debian-installer/kfreebsd-amd64/grub.cfg.orig 2013-02-08 00:46:19.000000000 +0000
+++ debian-installer/kfreebsd-amd64/grub.cfg 2013-02-08 19:23:05.000000000 +0000
@@ -1,5 +1,5 @@
-set default=2
-set timeout=-1
+set default=3
+set timeout=2
if loadfont $prefix/font.pf2 ; then
set gfxmode=640x480
@@ -41,6 +41,8 @@
kfreebsd_module $prefix/initrd.gz type=mfs_root
set kFreeBSD.auto=true
set kFreeBSD.priority=critical
+ set kFreeBSD.preseed/early_command="sed -ie s/ttyv3/cuau0/ /etc/inittab && kill -HUP 1"
+ set kFreeBSD.preseed/url="http://www.example.com/preseed.cfg"
}
menuentry "Expert install" {
Reply to: