mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-25 23:13:54 +01:00
integrate-distro.sh: Add support for parted-script option / command
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
2366ce571c
commit
774563869d
1 changed files with 43 additions and 21 deletions
|
|
@ -409,7 +409,7 @@ usage()
|
||||||
echo "
|
echo "
|
||||||
|
|
||||||
usage: $myname -h
|
usage: $myname -h
|
||||||
$myname [options] [install|mount|unmount|mkinitrd|fs]
|
$myname [options] [install|mount|unmount|mkinitrd|fs|parted-script]
|
||||||
|
|
||||||
options:
|
options:
|
||||||
-f
|
-f
|
||||||
|
|
@ -432,13 +432,13 @@ usage()
|
||||||
o \$root : path to the root directory of the
|
o \$root : path to the root directory of the
|
||||||
distribution being integrated
|
distribution being integrated
|
||||||
|
|
||||||
"
|
" >&2
|
||||||
[ "$1" ] && exit $1
|
[ "$1" ] && exit $1
|
||||||
}
|
}
|
||||||
|
|
||||||
get_opts()
|
get_opts()
|
||||||
{
|
{
|
||||||
set -- `getopt 'hd:n:a:p:k:u:w:s:r:f' $*`
|
eval set -- `getopt -o 'hd:n:a:p:k:u:w:s:r:f' -l parted-script: -- "$@"`
|
||||||
while [ "$1" != -- ] ; do
|
while [ "$1" != -- ] ; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
-h)
|
-h)
|
||||||
|
|
@ -484,6 +484,10 @@ get_opts()
|
||||||
-f)
|
-f)
|
||||||
o_force=1
|
o_force=1
|
||||||
;;
|
;;
|
||||||
|
--parted-script)
|
||||||
|
parted_script="$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
usage 1
|
usage 1
|
||||||
;;
|
;;
|
||||||
|
|
@ -596,25 +600,37 @@ run_parted()
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default_parted_script()
|
||||||
|
{
|
||||||
|
cat <<- EOT
|
||||||
|
mklabel gpt
|
||||||
|
mkpart primary 1M 2M
|
||||||
|
name 1 grub
|
||||||
|
set 1 bios_grub
|
||||||
|
mkpart primary 2M 10G
|
||||||
|
name 2 boot
|
||||||
|
mkpart primary 10G 40G
|
||||||
|
name 3 swap
|
||||||
|
mkpart primary 40G $max
|
||||||
|
name 4 root
|
||||||
|
EOT
|
||||||
|
}
|
||||||
|
|
||||||
|
parted_script()
|
||||||
|
{
|
||||||
|
if [ "$parted_script" ]; then
|
||||||
|
cat $parted_script
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
default_parted_script
|
||||||
|
}
|
||||||
|
|
||||||
create_partition_table()
|
create_partition_table()
|
||||||
{
|
{
|
||||||
assert_not_mounted
|
assert_not_mounted
|
||||||
local max=$(LANG=POSIX parted -s $install_dev print | sed '/Disk/ !d; s/.*: *//')
|
local max=$(LANG=POSIX parted -s $install_dev print | sed '/Disk/ !d; s/.*: *//')
|
||||||
|
|
||||||
# FIXME mkpart primary 40G 100% doesn't work on nbd
|
parted_script | run_parted
|
||||||
_cat << EOT | run_parted
|
|
||||||
|mklabel gpt
|
|
||||||
|mkpart primary 1M 2M
|
|
||||||
|name 1 grub
|
|
||||||
|set 1 bios_grub
|
|
||||||
|mkpart primary 2M 10G
|
|
||||||
|name 2 boot
|
|
||||||
|mkpart primary 10G 40G
|
|
||||||
|name 3 swap
|
|
||||||
|mkpart primary 40G $max
|
|
||||||
|name 4 root
|
|
||||||
EOT
|
|
||||||
|
|
||||||
grub_boot_partition_num=0
|
grub_boot_partition_num=0
|
||||||
grub_slash_boot_partition_num=1
|
grub_slash_boot_partition_num=1
|
||||||
}
|
}
|
||||||
|
|
@ -1287,7 +1303,10 @@ if [ `whoami` != root -o "$l32" ]; then
|
||||||
# preferring "ssh -l root localhost" over "sudo" to keep ssh-agent environment
|
# preferring "ssh -l root localhost" over "sudo" to keep ssh-agent environment
|
||||||
#sudo -i $exe $@ -p $root_password_file
|
#sudo -i $exe $@ -p $root_password_file
|
||||||
[ "$env_ssh_auth_sock" ] && opt_ssh_auth_sock="-s $env_ssh_auth_sock"
|
[ "$env_ssh_auth_sock" ] && opt_ssh_auth_sock="-s $env_ssh_auth_sock"
|
||||||
ssh -l root localhost $l32 $exe $@ -p $root_password_file -u $scm_user -w $cwd $opt_ssh_auth_sock
|
opts=""
|
||||||
|
[ "$parted_script" ] && opts="$opts --parted-script $parted_script"
|
||||||
|
#debug="/bin/bash -x"
|
||||||
|
ssh -l root localhost $l32 $debug $exe $@ -p $root_password_file -u $scm_user -w $cwd $opt_ssh_auth_sock $opts
|
||||||
|
|
||||||
exit $?
|
exit $?
|
||||||
fi
|
fi
|
||||||
|
|
@ -1310,8 +1329,7 @@ if [ "$install_dev" ]; then
|
||||||
|
|
||||||
case $install_dev in
|
case $install_dev in
|
||||||
/dev/sd*) part_sep="";;
|
/dev/sd*) part_sep="";;
|
||||||
/dev/loop*) part_sep="";;
|
/dev/nbd*|/dev/loop*) part_sep="p";;
|
||||||
/dev/nbd*) part_sep="p";;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
install_dev_boot=$install_dev$part_sep""2
|
install_dev_boot=$install_dev$part_sep""2
|
||||||
|
|
@ -1324,7 +1342,7 @@ if [ "$install_dev" ]; then
|
||||||
/dev/sdc) install_grub_dev_num=2;;
|
/dev/sdc) install_grub_dev_num=2;;
|
||||||
/dev/sdd) install_grub_dev_num=3;;
|
/dev/sdd) install_grub_dev_num=3;;
|
||||||
/dev/sde) install_grub_dev_num=4;;
|
/dev/sde) install_grub_dev_num=4;;
|
||||||
/dev/nbd*)
|
/dev/nbd*|/dev/loop*)
|
||||||
install_grub_dev_num=${d/\/dev\/nbd/};;
|
install_grub_dev_num=${d/\/dev\/nbd/};;
|
||||||
/dev/loop*)
|
/dev/loop*)
|
||||||
install_grub_dev_num=0;;
|
install_grub_dev_num=0;;
|
||||||
|
|
@ -1375,9 +1393,13 @@ mkinitrd)
|
||||||
setup_boot_loader_net
|
setup_boot_loader_net
|
||||||
exit $?
|
exit $?
|
||||||
;;
|
;;
|
||||||
|
parted-script)
|
||||||
|
parted_script
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
log "unknown command \"$cmd\""
|
log "unknown command \"$cmd\""
|
||||||
usage 1
|
usage 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue