code: plan9front

Download patch

ref: 82aa1d5c786dec9d6e57c5a8cf9859ee787c99de
parent: 3e124e1f13b945a020d973052069b9d3b673d814
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sun May 31 09:06:18 EDT 2015

integrate disk/edisk with diskparts, bootfs and installer (gpt support)

--- a/rc/bin/diskparts
+++ b/rc/bin/diskparts
@@ -8,7 +8,8 @@
 # no plan 9 partition table will delete all extant partitions.
 fn setup {
 	if(test -f $1/data && test -f $1/ctl)
-		{ disk/fdisk -p $1/data |
+		{@{disk/edisk -p $1/data
+		|| disk/fdisk -p $1/data} |
 			grep -v '^delpart ' >$1/ctl } >[2]/dev/null
 	if(test -f $1/plan9)
 		parts=($1/plan9*)
--- a/rc/bin/inst/partdisk
+++ b/rc/bin/inst/partdisk
@@ -17,7 +17,8 @@
 	for(i in $disks) {
 		desc=`{cat /dev/$i/ctl | sed 1q | sed 's/inquiry //'}
 		echo $i '-' $desc
-		echo e | disk/fdisk -r /dev/$i/data >[2]/dev/null | grep -v '^   mbr'
+		@{disk/edisk -r /dev/$i/data
+		||disk/fdisk -r /dev/$i/data} </dev/null >[2]/dev/null | grep -v '^   mbr'
 		echo
 	}
 	
@@ -44,13 +45,18 @@
 			pickdisk=done
 		}
 	}
+
+	diskedit=disk/fdisk
+	if(disk/edisk -p /dev/$disk/data >/dev/null >[2=1])
+		diskedit=disk/edisk	
+
 	echo
-	echo 'This is disk/fdisk; use it to create a Plan 9 partition.'
+	echo 'This is '$diskedit'; use it to create a Plan 9 partition.'
 	echo 'If there is enough room, a Plan 9 partition will be'
 	echo 'suggested; you can probably just type ''w'' and then ''q''.'
 	echo
-	disk/fdisk -a /dev/$disk/data
-	disk/fdisk -p /dev/$disk/data >/dev/$disk/ctl >[2]/dev/null
+	$diskedit -a /dev/$disk/data
+	$diskedit -p /dev/$disk/data >/dev/$disk/ctl >[2]/dev/null
 	for(i in /dev/sd*/plan9*){
 		if(test -f $i){
 			d=`{basename -d $i}
--- a/sys/src/9/boot/bootfs.proto
+++ b/sys/src/9/boot/bootfs.proto
@@ -13,6 +13,7 @@
 		cryptsetup
 		dd
 		disk
+			edisk
 			fdisk
 			prep
 		dossrv