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

[PATCH] debian-installer support for PA Semi's eval systems



Hi,

Below patch adds support to PA Semi's eval systems. Let me know if it's
preferred to provide this through the bug system instead.

Bug 463200 is open to request enablement of the platform code in the
generic powerpc64 kernel used on powerpc, that change together with this
will provide out-of-the box installation on these systems.

I'd love it if this got included in Lenny, so please let me know if
there's anything I can help to make this happen.

(Longer-term plans include improving firmware support enough to be able
to use yaboot. Until then, I've provided a simple note to the user on
how to boot the installed system).


Thanks,

Olof


(Patch is against current SVN)


Index: trunk/packages/kernel/linux-kernel-di-powerpc-2.6/modules/powerpc-powerpc64/nic-modules
===================================================================
--- trunk/packages/kernel/linux-kernel-di-powerpc-2.6/modules/powerpc-powerpc64/nic-modules	(revision 51214)
+++ trunk/packages/kernel/linux-kernel-di-powerpc-2.6/modules/powerpc-powerpc64/nic-modules	(working copy)
@@ -1,4 +1,5 @@
 ibmveth
+pasemi_mac
 eth1394 ?
 3c59x
 8139cp
Index: trunk/packages/libdebian-installer/src/system/subarch-powerpc-linux.c
===================================================================
--- trunk/packages/libdebian-installer/src/system/subarch-powerpc-linux.c	(revision 51214)
+++ trunk/packages/libdebian-installer/src/system/subarch-powerpc-linux.c	(working copy)
@@ -32,6 +32,7 @@
 static struct map map_platform[] = {
 	{ "PS3", "ps3" },
 	{ "Cell", "cell" },
+	{ "PA Semi", "pasemi" },
 	{ NULL, NULL }
 };
 
Index: trunk/packages/nobootloader/debian/postinst
===================================================================
--- trunk/packages/nobootloader/debian/postinst	(revision 51214)
+++ trunk/packages/nobootloader/debian/postinst	(working copy)
@@ -163,6 +163,17 @@
 		db_subst nobootloader/confirmation_powerpc_chrp_pegasos OF_BOOT_FILE "${boot}${kernel} root=${rootfs}"
 		db_input high nobootloader/confirmation_powerpc_chrp_pegasos || true
 	;;
+	powerpc/pasemi)
+		# TODO: Need to figure out if we need to generate the ramdisk
+		# TODO: Is this the right kernel path?
+		# TODO: Need to generate the device name based on actual disk used
+		kernel=vmlinuz
+		initrd=initrd
+		db_subst nobootloader/confirmation_powerpc_pasemi INITRD "sata0.0:/${boot}${initrd}"
+		db_subst nobootloader/confirmation_powerpc_pasemi KERNFILE "sata0.0:/${boot}${kernel}"
+		db_subst nobootloader/confirmation_powerpc_pasemi BOOTARGS "root=$rootfs"
+		db_input high nobootloader/confirmation_powerpc_pasemi || true
+	;;
 	arm/netwinder)
 	# TODO: figure out whether we're running NeTTrom or ABLE (#345317)
 		kernel=vmlinuz
Index: trunk/packages/nobootloader/debian/nobootloader.templates
===================================================================
--- trunk/packages/nobootloader/debian/nobootloader.templates	(revision 51214)
+++ trunk/packages/nobootloader/debian/nobootloader.templates	(working copy)
@@ -37,6 +37,27 @@
  .
   ${KERNEL_BOOT}
 
+Template: nobootloader/confirmation_powerpc_pasemi
+Type: note
+# :s14:
+#flag:translate!:3
+_Description: Setting firmware variables for automatic boot
+ Some variables need to be set in CFE in order for your system to boot
+ automatically. At the end of installation, the system will reboot. At the
+ firmware prompt, set the following variables to simplify booting:
+ . 
+  setenv -p bootargs "${BOOTARGS}"
+  setenv -p boot_debian "ramdisk -max=20000000 ${INITRD} ; boot ${KERNFILE}"
+ .
+ You will only need to do this once. This enables you to just issue the command:
+ . 
+  boot_debian
+ .
+ At the CFE prompt. If you prefer to auto-boot on every startup, in addition
+ to the above also do:
+ .
+  setenv -p STARTUP "$boot_debian"
+ 
 Template: nobootloader/confirmation_arm_netwinder_nettrom
 Type: note
 # :sl4:
Index: trunk/packages/console-setup/debian/config.proto
===================================================================
--- trunk/packages/console-setup/debian/config.proto	(revision 51214)
+++ trunk/packages/console-setup/debian/config.proto	(working copy)
@@ -1018,6 +1018,10 @@
 	default_model=pc105
 	model_priority=medium
 	;;
+    powerpc/pasemi)
+	default_model=pc105
+	model_priority=medium
+	;;
     powerpc/powermac*)
 	default_model=pc105
 	model_priority=medium
Index: trunk/packages/partman/partman-partitioning/lib/disk-label.sh
===================================================================
--- trunk/packages/partman/partman-partitioning/lib/disk-label.sh	(revision 51214)
+++ trunk/packages/partman/partman-partitioning/lib/disk-label.sh	(working copy)
@@ -135,6 +135,8 @@
 			echo msdos;;
 		    chrp_pegasos)
 			echo amiga;;
+		    pasemi)
+			echo msdos;;
 		    prep)
 			echo msdos;;
 		    powermac_newworld)
Index: trunk/packages/base-installer/kernel/powerpc.sh
===================================================================
--- trunk/packages/base-installer/kernel/powerpc.sh	(revision 51214)
+++ trunk/packages/base-installer/kernel/powerpc.sh	(working copy)
@@ -1,13 +1,13 @@
 arch_get_kernel_flavour () {
 	CPU=`grep '^cpu[[:space:]]*:' "$CPUINFO" | head -n1 | cut -d: -f2 | sed 's/^ *//; s/[, ].*//' | tr A-Z a-z`
 	case "$CPU" in
-	    power3|i-star|s-star|power4|power4+|ppc970*|power5|power5+)
+	    power3|i-star|s-star|power4|power4+|ppc970*|power5|power5+|power6|power6x|pa6t)
 		family=powerpc64 ;;
     	    *)
 		family=powerpc ;;
 	esac
 	case "$SUBARCH" in
-	    powermac*|chrp*)
+	    powermac*|chrp*|pasemi)
 		echo "$family" ;;
 	    prep)
 		echo prep ;;


Reply to: