[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: