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

Bug#365074: support for kFreeBSD



On Fri, Apr 28, 2006 at 10:18:44PM +0200, Frans Pop wrote:
> On Thursday 27 April 2006 20:38, Robert Millan wrote:
> > I'm attaching a patch that adds support for kernel of FreeBSD.
> >
> > It's very non-intrusive.  Only two scripts are modified minimaly.
> 
> There's two things I think should be improved.
> - in commands/copy-modules an if statement is added without increasing the
>   indentation of lines between the if and fi
> - in commands/install-files the current "else" condition is changed into
>   an "elseif" and the kfreebsd case is left as a cach-all "else" case;
>   it seems more logical to me to have the kfreebsd case as a special
>   condition instead or maybe have all cases specified and to throw an
>   error if none of them match

Ok.  Here's a new patch.

-- 
Robert Millan
Index: commands/copy-modules
===================================================================
--- commands/copy-modules	(revision 36777)
+++ commands/copy-modules	(working copy)
@@ -56,7 +56,7 @@
 			# Prefer modules in the kernel subdir, but failing
 			# that search the whole thing, to find third-party,
 			# etc modules.
-			match="$(find $moddir/kernel $moddir \
+			match="$(find `ls -d $moddir/kernel 2>/dev/null` $moddir \
 			            -name $module.o -or -name $module.ko \
 				| head -n 1 | sed "s!$moddir/!!")"
 			
@@ -78,6 +78,7 @@
 flavour=$2
 installedname=$3
 arch=$(dpkg-architecture -qDEB_HOST_ARCH)
+os=$(dpkg-architecture -qDEB_HOST_ARCH_OS)
 home=$PWD
 
 trap 'rm -rf $tmpdir' EXIT
@@ -105,29 +106,31 @@
 	modlistdir=modules/$arch
 fi
 
-if [ ! -e "$moddir/modules.dep" ]; then
-	echo "no $moddir/modules.dep. This file is required by kernel-wedge" >&2
-	exit 1
-fi
+if [ "$os" = "linux" ] ; then
+	if [ ! -e "$moddir/modules.dep" ]; then
+		echo "no $moddir/modules.dep. This file is required by kernel-wedge" >&2
+		exit 1
+	fi
 
-# get module dependencies from modules.dep
-# sort it by field 2
-perl -lne '
-	@words=split(" ");
-	s!'/lib/modules/$installedname'/!! foreach (@words);
-	if ($words[0] =~ /:$/) {
-		$words[0]=~s/:$//;
-		$module=shift @words;
-	}
-	foreach (@words) {
-		print "$module\t$_" unless $_ eq "\\";
-	}
-' $moddir/modules.dep | sort -k 2,2 > $tmpdir/deps
-
-if [ ! -s $tmpdir/deps ] && [ ! -e $home/no-modules ]; then
-	echo "No module interdependencies found. This probably means your modules.dep is broken." >&2
-	echo "If this is intentional, touch $home/no-modules" >&2
-	exit 1
+	# get module dependencies from modules.dep
+	# sort it by field 2
+	perl -lne '
+		@words=split(" ");
+		s!'/lib/modules/$installedname'/!! foreach (@words);
+		if ($words[0] =~ /:$/) {
+			$words[0]=~s/:$//;
+			$module=shift @words;
+		}
+		foreach (@words) {
+			print "$module\t$_" unless $_ eq "\\";
+		}
+	' $moddir/modules.dep | sort -k 2,2 > $tmpdir/deps
+	
+	if [ ! -s $tmpdir/deps ] && [ ! -e $home/no-modules ]; then
+		echo "No module interdependencies found. This probably means your modules.dep is broken." >&2
+		echo "If this is intentional, touch $home/no-modules" >&2
+		exit 1
+	fi
 fi
 
 mkdir $tmpdir/module-deps $tmpdir/module-list
Index: commands/install-files
===================================================================
--- commands/install-files	(revision 36777)
+++ commands/install-files	(working copy)
@@ -44,11 +44,19 @@
 			"$sourcedir/boot/vmlinux-$installedname",
 			"debian/kernel-image-$kernelversion-$flavour-di/boot/vmlinux$extraname");
 	}
-	else {
+	elsif (-e "$sourcedir/boot/vmlinuz-$installedname") {
 		doit("install", "-D", "-m", 644,
 			"$sourcedir/boot/vmlinuz-$installedname",
 			"debian/kernel-image-$kernelversion-$flavour-di/boot/vmlinuz$extraname");
 	}
+	elsif (-e "$sourcedir/boot/kfreebsd-$installedname.gz") {
+		doit("install", "-D", "-m", 644,
+			"$sourcedir/boot/kfreebsd-$installedname.gz",
+			"debian/kernel-image-$kernelversion-$flavour-di/boot/kfreebsd$extraname.gz");
+	}
+	else {
+		die "could not find kernel image";
+	}
 	doit("install", "-D", "-m", 644,
 		"$sourcedir/boot/System.map-$installedname",
 		"debian/kernel-image-$kernelversion-$flavour-di/boot/System.map$extraname")
Index: modules/kfreebsd/floppy-modules
===================================================================
--- modules/kfreebsd/floppy-modules	(revision 0)
+++ modules/kfreebsd/floppy-modules	(revision 0)
@@ -0,0 +1,2 @@
+fdc
+atapifd ?
Index: modules/kfreebsd/loop-modules
===================================================================
--- modules/kfreebsd/loop-modules	(revision 0)
+++ modules/kfreebsd/loop-modules	(revision 0)
@@ -0,0 +1,3 @@
+loop ?
+# aka cloop
+geom_uzip ?
Index: modules/kfreebsd/nic-modules
===================================================================
--- modules/kfreebsd/nic-modules	(revision 0)
+++ modules/kfreebsd/nic-modules	(revision 0)
@@ -0,0 +1,16 @@
+# Some very common nic modules.
+# 3Com Etherlink III
+if_ep ?
+# RealTek 8129/8139
+if_rl ?
+# Intel PRO/100 Ethernet
+if_fxp ?
+# National Semiconductor
+sis
+# ne2k
+if_ed ?
+#tg3
+# aka "tulip" ?
+if_dc ?
+# Winbond W89C840F
+if_wb ?
Index: modules/kfreebsd/fat-modules
===================================================================
--- modules/kfreebsd/fat-modules	(revision 0)
+++ modules/kfreebsd/fat-modules	(revision 0)
@@ -0,0 +1,2 @@
+msdosfs
+msdosfs_iconv ?
Index: modules/kfreebsd/acpi-modules
===================================================================
--- modules/kfreebsd/acpi-modules	(revision 0)
+++ modules/kfreebsd/acpi-modules	(revision 0)
@@ -0,0 +1 @@
+acpi
Index: modules/kfreebsd/serial-modules
===================================================================
--- modules/kfreebsd/serial-modules	(revision 0)
+++ modules/kfreebsd/serial-modules	(revision 0)
@@ -0,0 +1 @@
+sio ?
Index: modules/kfreebsd/reiserfs-modules
===================================================================
--- modules/kfreebsd/reiserfs-modules	(revision 0)
+++ modules/kfreebsd/reiserfs-modules	(revision 0)
@@ -0,0 +1,2 @@
+# Not available currently on all kernel versions, so marked optional.
+reiserfs ?
Index: modules/kfreebsd/ext2-modules
===================================================================
--- modules/kfreebsd/ext2-modules	(revision 0)
+++ modules/kfreebsd/ext2-modules	(revision 0)
@@ -0,0 +1 @@
+ext2fs
Index: modules/kfreebsd/ipv6-modules
===================================================================
--- modules/kfreebsd/ipv6-modules	(revision 0)
+++ modules/kfreebsd/ipv6-modules	(revision 0)
@@ -0,0 +1,2 @@
+if_gif
+if_faith
Index: modules/kfreebsd/nfs-modules
===================================================================
--- modules/kfreebsd/nfs-modules	(revision 0)
+++ modules/kfreebsd/nfs-modules	(revision 0)
@@ -0,0 +1 @@
+nfsclient
Index: modules/kfreebsd/scsi-core-modules
===================================================================
--- modules/kfreebsd/scsi-core-modules	(revision 0)
+++ modules/kfreebsd/scsi-core-modules	(revision 0)
@@ -0,0 +1,4 @@
+scbus ?
+ch ?
+da ?
+sa ?
Index: modules/kfreebsd/scsi-common-modules
===================================================================
--- modules/kfreebsd/scsi-common-modules	(revision 0)
+++ modules/kfreebsd/scsi-common-modules	(revision 0)
@@ -0,0 +1,4 @@
+aic ?
+aic7xxx ?
+bt ?
+sym ?
Index: modules/kfreebsd/parport-modules
===================================================================
--- modules/kfreebsd/parport-modules	(revision 0)
+++ modules/kfreebsd/parport-modules	(revision 0)
@@ -0,0 +1,2 @@
+ppc ?
+ppbus ?
Index: modules/kfreebsd/ide-core-modules
===================================================================
--- modules/kfreebsd/ide-core-modules	(revision 0)
+++ modules/kfreebsd/ide-core-modules	(revision 0)
@@ -0,0 +1 @@
+ata ?
Index: modules/kfreebsd/usb-modules
===================================================================
--- modules/kfreebsd/usb-modules	(revision 0)
+++ modules/kfreebsd/usb-modules	(revision 0)
@@ -0,0 +1,4 @@
+ohci ?
+uhci ?
+ehci ?
+usb ?
Index: modules/kfreebsd/cdrom-core-modules
===================================================================
--- modules/kfreebsd/cdrom-core-modules	(revision 0)
+++ modules/kfreebsd/cdrom-core-modules	(revision 0)
@@ -0,0 +1,3 @@
+# SCSI cd
+cd ?
+atapicd ?
Index: modules/kfreebsd/usb-storage-modules
===================================================================
--- modules/kfreebsd/usb-storage-modules	(revision 0)
+++ modules/kfreebsd/usb-storage-modules	(revision 0)
@@ -0,0 +1 @@
+umass ?
Index: modules/kfreebsd/pcmcia-modules
===================================================================
--- modules/kfreebsd/pcmcia-modules	(revision 0)
+++ modules/kfreebsd/pcmcia-modules	(revision 0)
@@ -0,0 +1,6 @@
+# cardbus (yenta) bridge
+cbb ?
+# PC Card (16-bit) bus
+pccard ?
+# CardBus (32-bit) bus
+cardbus ?
Index: modules/kfreebsd/ufs-modules
===================================================================
--- modules/kfreebsd/ufs-modules	(revision 0)
+++ modules/kfreebsd/ufs-modules	(revision 0)
@@ -0,0 +1 @@
+ufs ?
Index: modules/kfreebsd/ppp-modules
===================================================================
--- modules/kfreebsd/ppp-modules	(revision 0)
+++ modules/kfreebsd/ppp-modules	(revision 0)
@@ -0,0 +1,5 @@
+if_ppp
+ng_ppp
+ng_pppoe
+ng_sppp
+sppp
Index: modules/kfreebsd/md-modules
===================================================================
--- modules/kfreebsd/md-modules	(revision 0)
+++ modules/kfreebsd/md-modules	(revision 0)
@@ -0,0 +1 @@
+md ?
Index: modules/kfreebsd/nic-usb-modules
===================================================================
--- modules/kfreebsd/nic-usb-modules	(revision 0)
+++ modules/kfreebsd/nic-usb-modules	(revision 0)
@@ -0,0 +1,12 @@
+# ADMtek USB Ethernet
+aue ?
+# ASIX Electronics USB Ethernet
+axe ?
+# Generic USB over Ethernet
+cdce ?
+# CATC USB Ethernet
+cue ?
+# Kawasaki LSI USB Ethernet
+kue ?
+# RealTek RTL8150 USB Ethernet
+rue ?
Index: modules/kfreebsd/xfs-modules
===================================================================
--- modules/kfreebsd/xfs-modules	(revision 0)
+++ modules/kfreebsd/xfs-modules	(revision 0)
@@ -0,0 +1,2 @@
+# Not available currently on all kernel versions, so marked optional.
+xfs ?
Index: modules/kfreebsd/ide-modules
===================================================================
--- modules/kfreebsd/ide-modules	(revision 0)
+++ modules/kfreebsd/ide-modules	(revision 0)
@@ -0,0 +1,4 @@
+atadisk ?
+ataraid ?
+cd9660 ?
+cd9660_iconv ?
Index: modules/kfreebsd/firewire-core-modules
===================================================================
--- modules/kfreebsd/firewire-core-modules	(revision 0)
+++ modules/kfreebsd/firewire-core-modules	(revision 0)
@@ -0,0 +1,5 @@
+firewire ?
+# SCSI over FireWire (Requires scbus and da)
+sbp ?
+# Ethernet over FireWire (non-standard!)
+fwe ?
Index: modules/kfreebsd/nic-pcmcia-modules
===================================================================
--- modules/kfreebsd/nic-pcmcia-modules	(revision 0)
+++ modules/kfreebsd/nic-pcmcia-modules	(revision 0)
@@ -0,0 +1,2 @@
+# Common pcmcia nic modules.
+if_ed ?
Index: modules/kfreebsd/plip-modules
===================================================================
--- modules/kfreebsd/plip-modules	(revision 0)
+++ modules/kfreebsd/plip-modules	(revision 0)
@@ -0,0 +1 @@
+plip
Index: modules/kfreebsd/isa-pnp-modules
===================================================================
--- modules/kfreebsd/isa-pnp-modules	(revision 0)
+++ modules/kfreebsd/isa-pnp-modules	(revision 0)
@@ -0,0 +1 @@
+isa ?

Reply to: