Package: debian-installer Severity: wishlist Tags: patch This patch adds a netboot-gtk target for kfreebsd-amd64 (tested), and enables graphical support in cdrom target (untested).
The mfsroot size needs to be increased to fit larger images in it, see the comments I add to Makefile. Note that the limit chosen for amd64 (64 MiB) derives from the NKPT value (44) I have requested to kFreeBSD maintainers (see #596577). A different limit might apply if a value different than 44 is finally used. This situation leaves kfreebsd-i386 out for netboot-gtk images, unless a way to make them a few MiB smaller is found. Aside from #596577, a few other bugs need to be fixed before this can work: #596578 #596586 #596588 #596590 #596595 (which depends on #596594) (there's #596584 too, but the issues mentioned there are purely cosmetical) -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (500, 'testing') Architecture: kfreebsd-amd64 (x86_64) Kernel: kFreeBSD 8.1-1-amd64 Locale: LANG=ca_AD.UTF-8, LC_CTYPE=ca_AD.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
Index: config/kfreebsd-amd64.cfg =================================================================== --- config/kfreebsd-amd64.cfg (revision 64650) +++ config/kfreebsd-amd64.cfg (working copy) @@ -1,4 +1,4 @@ -MEDIUM_SUPPORTED = cdrom netboot +MEDIUM_SUPPORTED = cdrom netboot netboot-gtk MEDIUM_SUPPORTED_EXTRA = monolithic # The version of the kernel to use. Index: config/kfreebsd-amd64/cdrom.cfg =================================================================== --- config/kfreebsd-amd64/cdrom.cfg (revision 64650) +++ config/kfreebsd-amd64/cdrom.cfg (working copy) @@ -6,3 +6,8 @@ MANIFEST-KERNEL = "kernel for use with mkisofs to build a CD" MANIFEST-INITRD = "initrd for use with mkisofs to build a CD" MANIFEST-DEBIAN_CD_INFO = "mkisofs config files for CD" + +# Add the gtk images. +INITRD_GTK = dest/cdrom/gtk/initrd.gz + +EXTRATARGETS = build_cdrom_gtk Index: config/kfreebsd-amd64/netboot-gtk.cfg =================================================================== --- config/kfreebsd-amd64/netboot-gtk.cfg (revision 0) +++ config/kfreebsd-amd64/netboot-gtk.cfg (revision 0) @@ -0,0 +1,19 @@ +MEDIA_TYPE = netboot image + +NETBOOT_DIR_TARGETS = $(TEMP_INITRD) $(TEMP_KERNEL) +NETBOOT_DIR_LINKS = grub2pxe + +TYPE = netboot/gtk + +TARGET = $(NETBOOT_DIR) $(NETBOOT_TAR) $(MINIISO) +EXTRANAME = netboot/gtk/ + +MANIFEST-NETBOOT_DIR = "PXE boot directory for tftp server (graphical installer)" +MANIFEST-NETBOOT_TAR = "tarball of PXE boot directory (graphical installer)" +MANIFEST-MINIISO = "not so tiny CD image that boots the graphical netboot installer" + +KEEP_GI_LANGS = 1 + +# All images that include cdebconf should include symbols needed by these +# plugins. +EXTRAUDEBS += cdebconf-gtk-entropy Index: pkg-lists/netboot/gtk/kfreebsd-amd64.cfg =================================================================== --- pkg-lists/netboot/gtk/kfreebsd-amd64.cfg (revision 0) +++ pkg-lists/netboot/gtk/kfreebsd-amd64.cfg (revision 0) @@ -0,0 +1,14 @@ +# Disable Linux-specific drivers (see gtk-common) +xserver-xorg-input-evdev-udeb - +xserver-xorg-video-fbdev-udeb - + +# Enable generic drivers +xserver-xorg-input-kbd-udeb +xserver-xorg-input-mouse-udeb +xserver-xorg-video-vesa-udeb + +# Revert switch from kbd-chooser to console-setup (see gtk-common) +console-setup-udeb - +console-setup-pc-ekmap - +kbd-chooser +console-keymaps-at Index: Makefile =================================================================== --- Makefile (revision 64651) +++ Makefile (working copy) @@ -126,8 +126,17 @@ (cd $(TREE) && find . | cpio --quiet -o -H newc) > endef +# Limit on mfsroot size. It is determined by NKPT (in <machine/pmap.h). +# On amd64, it can be increased by increasing this variable. On i386, +# this is a hard limit due to constraints of 4 GiB VM space. +ifeq ($(DEB_HOST_ARCH),kfreebsd-i386) +MFSROOT_LIMIT := 42m +else ifeq ($(DEB_HOST_ARCH),kfreebsd-amd64) +MFSROOT_LIMIT := 64m +endif + define mkfs.ufs1 - sh -c 'makefs -t ffs -s 42m -f 3000 -o minfree=0,version=1 $$0 ${TREE}' + sh -c 'makefs -t ffs -s $(MFSROOT_LIMIT) -f 3000 -o minfree=0,version=1 $$0 ${TREE}' endef define e2fsck