mirror of
git://git.9front.org/plan9front/plan9front
synced 2025-01-12 11:10:06 +00:00
inst: provide gpt/mbr choice when disk is blank, format esp
This commit is contained in:
parent
1613fd9f52
commit
628611fb5c
3 changed files with 38 additions and 25 deletions
|
@ -1,5 +1,20 @@
|
||||||
#!/bin/rc
|
#!/bin/rc
|
||||||
|
|
||||||
|
# look for esp and format it when not already done
|
||||||
|
esp=`{ls /dev/$disk/esp >[2]/dev/null}
|
||||||
|
if(~ $#esp 1 && ! ~ fstype $esp dos){
|
||||||
|
echo
|
||||||
|
echo 'Here appears to be a unformated EFI system partition:'
|
||||||
|
echo ' ' $esp
|
||||||
|
echo
|
||||||
|
prompt 'Initialize FAT on EFI system partition' yes no
|
||||||
|
switch($rd) {
|
||||||
|
case yes
|
||||||
|
# 4k clusters to force FAT32
|
||||||
|
disk/format -d -c 8 -l ESP $esp
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# look for plan9 partition in the DOS partition table (if any)
|
# look for plan9 partition in the DOS partition table (if any)
|
||||||
p9part=`{disk/fdisk /dev/$disk/data >[2]/dev/null </dev/null | grep PLAN9 | sed 1q | sed 's/ *(p.) .*/\1/'}
|
p9part=`{disk/fdisk /dev/$disk/data >[2]/dev/null </dev/null | grep PLAN9 | sed 1q | sed 's/ *(p.) .*/\1/'}
|
||||||
if(~ $#p9part 0){
|
if(~ $#p9part 0){
|
||||||
|
@ -13,19 +28,15 @@ echo 'or a master boot record from a Unix clone (e.g., LILO or'
|
||||||
echo 'FreeBSD bootmgr), it is probably safe to continue using'
|
echo 'FreeBSD bootmgr), it is probably safe to continue using'
|
||||||
echo 'that boot record rather than install the Plan 9 boot record.'
|
echo 'that boot record rather than install the Plan 9 boot record.'
|
||||||
echo
|
echo
|
||||||
prompt 'Install the Plan 9 master boot record' y n
|
prompt 'Install the Plan 9 master boot record' yes no
|
||||||
switch($rd) {
|
switch($rd) {
|
||||||
case n
|
case yes
|
||||||
;
|
|
||||||
case y
|
|
||||||
disk/mbr -m /386/mbr /dev/$disk/data
|
disk/mbr -m /386/mbr /dev/$disk/data
|
||||||
}
|
}
|
||||||
|
|
||||||
prompt 'Mark the Plan 9 partition active' y n
|
prompt 'Mark the Plan 9 partition active' yes no
|
||||||
switch($rd) {
|
switch($rd) {
|
||||||
case n
|
case yes
|
||||||
;
|
|
||||||
case y
|
|
||||||
{ echo 'A '^$p9part; echo w } | disk/fdisk /dev/$disk/data >[2]/dev/null >/dev/null
|
{ echo 'A '^$p9part; echo w } | disk/fdisk /dev/$disk/data >[2]/dev/null >/dev/null
|
||||||
x=$status
|
x=$status
|
||||||
if(~ $x '' '|'){
|
if(~ $x '' '|'){
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/rc
|
#!/bin/rc
|
||||||
|
|
||||||
# desc: create a boot floppy or configure hard disk to boot plan 9
|
# desc: configure hard disk to boot plan 9
|
||||||
# prereq: copydist
|
# prereq: copydist
|
||||||
|
|
||||||
fats=()
|
fats=()
|
||||||
|
@ -73,7 +73,7 @@ case go
|
||||||
|
|
||||||
if(~ $need9fatformat yes){
|
if(~ $need9fatformat yes){
|
||||||
log Initializing Plan 9 FAT partition.
|
log Initializing Plan 9 FAT partition.
|
||||||
logprog disk/format -r 2 -d -b /n/newfs/386/pbs $9fat
|
logprog disk/format -r 2 -d -b /n/newfs/386/pbs -l PLAN9 $9fat
|
||||||
}
|
}
|
||||||
if not {
|
if not {
|
||||||
log Updating bootsector.
|
log Updating bootsector.
|
||||||
|
|
|
@ -32,23 +32,25 @@ case go
|
||||||
prompt $default 'Disk to partition' $disks
|
prompt $default 'Disk to partition' $disks
|
||||||
disk=$rd
|
disk=$rd
|
||||||
|
|
||||||
if(! ./hasmbr /dev/$disk/data) {
|
|
||||||
echo 'The disk you selected HAS NO master boot record on its first sector.'
|
|
||||||
echo '(Perhaps it is a completely blank disk.)'
|
|
||||||
echo 'You need a master boot record to use the disk.'
|
|
||||||
echo 'Should we install a default master boot record?'
|
|
||||||
echo
|
|
||||||
prompt 'Install mbr' y n
|
|
||||||
switch($rd) {
|
|
||||||
case y
|
|
||||||
disk/mbr -m /386/mbr /dev/$disk/data
|
|
||||||
pickdisk=done
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
diskedit=disk/fdisk
|
diskedit=disk/fdisk
|
||||||
if(disk/edisk -p /dev/$disk/data >/dev/null >[2=1])
|
if(disk/edisk -p /dev/$disk/data >/dev/null >[2=1])
|
||||||
diskedit=disk/edisk
|
diskedit=disk/edisk
|
||||||
|
|
||||||
|
if(~ $diskedit disk/fdisk && ! ./hasmbr /dev/$disk/data) {
|
||||||
|
echo 'The disk you selected HAS NO master boot record on its first sector.'
|
||||||
|
echo '(Perhaps it is a completely blank disk.)'
|
||||||
|
echo 'Shall we create a blank EFI partition table (GPT)'
|
||||||
|
echo 'or install traditional DOS partition table (MBR)?'
|
||||||
|
echo
|
||||||
|
prompt 'Install mbr or gpt' mbr gpt
|
||||||
|
switch($rd) {
|
||||||
|
case mbr
|
||||||
|
disk/mbr -m /386/mbr /dev/$disk/data
|
||||||
|
case gpt
|
||||||
|
disk/edisk -bw /dev/$disk/data
|
||||||
|
diskedit=disk/edisk
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo 'This is '$diskedit'; use it to create a Plan 9 partition.'
|
echo 'This is '$diskedit'; use it to create a Plan 9 partition.'
|
||||||
|
|
Loading…
Reference in a new issue