[Glibc-bsd-commits] r5988 - trunk/kfreebsd-10/debian

stevenc-guest at alioth.debian.org stevenc-guest at alioth.debian.org
Sun Apr 10 13:45:53 UTC 2016


Author: stevenc-guest
Date: 2016-04-10 13:45:53 +0000 (Sun, 10 Apr 2016)
New Revision: 5988

Modified:
   trunk/kfreebsd-10/debian/NEWS
   trunk/kfreebsd-10/debian/changelog
   trunk/kfreebsd-10/debian/rules
Log:
Relocate /lib/modules/ into /boot/, so that GRUB can load kernel
modules even if /lib is on an unsupported or encrypted filesystem


Modified: trunk/kfreebsd-10/debian/NEWS
===================================================================
--- trunk/kfreebsd-10/debian/NEWS	2016-04-09 21:08:22 UTC (rev 5987)
+++ trunk/kfreebsd-10/debian/NEWS	2016-04-10 13:45:53 UTC (rev 5988)
@@ -1,3 +1,22 @@
+kfreebsd-10 (10.3~svn296998-3) experimental; urgency=medium
+
+  Loadable kernel modules are now installed to /boot/modules/, rather
+  than /lib/modules/.  This ensures GRUB2 can easily load them at boot,
+  even if /lib resides on a different file system.
+
+  This change will make encrypted root filesystems more practical,
+  perhaps not needing an initramfs.
+
+  Please ensure that /boot has sufficient space, around 20-30 MiB for
+  each installed kernel.
+
+  If you have converted /lib/modules/ into a symlink to
+  /boot/modules/, the package should still install correctly.
+  Otherwise, installing this package will create a symlink from
+  /lib/modules/* to /boot/modules/* for backward compatibility.
+
+ -- Steven Chamberlain <steven at pyro.eu.org>  Sun, 10 Apr 2016 14:29:08 +0100
+
 kfreebsd-10 (10.1~svn273581-1) experimental; urgency=high
 
   If upgrading to kfreebsd 10.1 from wheezy, certain userland tools

Modified: trunk/kfreebsd-10/debian/changelog
===================================================================
--- trunk/kfreebsd-10/debian/changelog	2016-04-09 21:08:22 UTC (rev 5987)
+++ trunk/kfreebsd-10/debian/changelog	2016-04-10 13:45:53 UTC (rev 5988)
@@ -5,6 +5,8 @@
     enabled by putting +nonfree or +sourceless in the Version field
     (Thanks, Jon Boden, for the original patch this is based on)
     (Closes: #820151)
+  * Relocate /lib/modules/ into /boot/, so that GRUB can load kernel
+    modules even if /lib is on an unsupported or encrypted filesystem
 
  -- Steven Chamberlain <steven at pyro.eu.org>  Mon, 04 Apr 2016 11:04:58 +0100
 

Modified: trunk/kfreebsd-10/debian/rules
===================================================================
--- trunk/kfreebsd-10/debian/rules	2016-04-09 21:08:22 UTC (rev 5987)
+++ trunk/kfreebsd-10/debian/rules	2016-04-10 13:45:53 UTC (rev 5988)
@@ -242,8 +242,8 @@
 	# Change ident to the kernel version
 	sed -i -e 's/^i=.*/i="Debian $* ($(full_version))"/g' $(FLAVOR_DIR)-$*/sys/conf/newvers.sh
 
-	# Set /lib/modules/${RELEASE} as module dir
-	sed -i -e 's,^KODIR?=.*,KODIR="/lib/modules/$(version)-$(abiname)-$*",g' $(FLAVOR_DIR)-$*/sys/conf/kern.pre.mk
+	# Set /boot/modules/${RELEASE} as module dir
+	sed -i -e 's,^KODIR?=.*,KODIR="/boot/modules/$(version)-$(abiname)-$*",g' $(FLAVOR_DIR)-$*/sys/conf/kern.pre.mk
 
 	# Always set explicit link target to match with ld's implicit target (needed
 	# to build on non-kFreeBSD)
@@ -317,7 +317,7 @@
 	dh_testroot
 	dh_clean -k -pkfreebsd-image-$(version)-$(abiname)-$*
 
-	mkdir -p $(IMAGE_PACKAGE)-$*/{boot,lib/modules/$(version)-$(abiname)-$*}
+	mkdir -p $(IMAGE_PACKAGE)-$*/{lib/modules,boot/modules/$(version)-$(abiname)-$*}
 
 	# make the install target happy
 	install -o root -g root -m 644 \
@@ -338,17 +338,19 @@
 
 	# now install the kernel
 	$(MAKE) CC=$(cc_cmd) -C $(FLAVOR_DIR)-$*/sys/$(kfreebsd_cpu)/compile/$(configfile) DESTDIR=$(IMAGE_PACKAGE)-$* install
-	mv $(IMAGE_PACKAGE)-$*/lib/modules/$(version)-$(abiname)-$*/kernel $(IMAGE_PACKAGE)-$*/boot/kfreebsd-$(version)-$(abiname)-$*
+	mv $(IMAGE_PACKAGE)-$*/boot/modules/$(version)-$(abiname)-$*/kernel $(IMAGE_PACKAGE)-$*/boot/kfreebsd-$(version)-$(abiname)-$*
 	chmod 644 $(IMAGE_PACKAGE)-$*/boot/kfreebsd-$(version)-$(abiname)-$*
 	# Brand kernel image and modules as FreeBSD type, in case not building
 	# on kfreebsd
-	find $(IMAGE_PACKAGE)-$*/lib/modules/$(version)-$(abiname)-$*/ \
+	find $(IMAGE_PACKAGE)-$*/boot/modules/$(version)-$(abiname)-$*/ \
 	 -name '*.ko' -exec brandelf -t FreeBSD \{\} \;
 	brandelf -t FreeBSD $(IMAGE_PACKAGE)-$*/boot/kfreebsd-$(version)-$(abiname)-$*
 	gzip -9 -n $(IMAGE_PACKAGE)-$*/boot/kfreebsd-$(version)-$(abiname)-$*
 
-	# fix broken perms in module dir
-	-chmod 644 $(IMAGE_PACKAGE)-$*/lib/modules/$(version)-$(abiname)-$*/*
+	-chmod 644 $(IMAGE_PACKAGE)-$*/boot/modules/$(version)-$(abiname)-$*/*
+	ln -sf \
+		../../boot/modules/$(version)-$(abiname)-$* \
+		$(IMAGE_PACKAGE)-$*/lib/modules/$(version)-$(abiname)-$*
 
 ifeq ($(DEB_HOST_ARCH_OS), kfreebsd)
 	# Assert linker.hints presence (upstream build system silently skips it when




More information about the Glibc-bsd-commits mailing list