詳細は要望があれば記載します。
PrimeOS-2.1.3-64-bit-20220719-BETA
パーティション作成を自動化しました。
install.img/install/scripts/1-install
# Chih-Wei Huang <cwhuang@linux.org.tw>によって書かれました
# redstar hr<X(twitter)@redstar_hr>によって、記憶媒体自動キッティング状態
# ライセンス: GNU 公開ライセンス
# 明示的に、Android-x86 プロジェクトでこのスクリプトを使用する権利を付与します。
#
tempfile=/tmp/temp-$$
menufile=/tmp/menu-$$
CPIO=cpio
OS_TITLE=${OS_TITLE:-Android-x86}
rebooting() {
dialog --title "再起動中..." --nocancel --pause "" 8 41 1
sync
umount -a
reboot -f
}
auto_answer() {
echo "$answer" > $tempfile
unset answer
test "`cat $tempfile`" != "0"
}
set_answer_if_auto() {
[ -n "$AUTO_INSTALL" ] && answer="$1"
}
adialog() {
if [ -n "$answer" ]; then
auto_answer
else
dialog "$@" 2> $tempfile
fi
}
choose() {
adialog --clear --title " $1 " --menu "$2" 21 79 13 --file $menufile
retval=$?
choice=`cat $tempfile`
}
size_gb() {
printf %0.2fGB $(dc `cat $1/size` 2097152 / p)
}
find_partition() {
grep -H ^$2$ /sys/block/$1/*/partition 2> /dev/null | cut -d/ -f5
}
list_disks() {
for b in /sys/block/[shv]d[a-z] /sys/block/mmcblk? /sys/block/nvme*; do
[ -d $b ] && echo $b
done
}
auto_partition() {
[ "$AUTO_INSTALL" = "force" ] || dialog --title " 自動インストーラー " --defaultno --yesno \
"\n自動インストールを選択しました。\n\nインストーラーは /dev/$1 を完全に消去し、$OS_TITLE をインストールします。\n\nこれは最後の確認です。本当に実行してもよろしいですか?" 12 61
[ $? -ne 0 ] && rebooting
if [ -z "$efi" ]; then
echo -e "o\nn\np\n1\n\n\nw\n" | fdisk /dev/$1
p=1
else
sgdisk --zap-all /dev/$1
sgdisk --new=1::+260M --typecode=1:EF00 --largest-new=2 --typecode=2:8300 /dev/$1
p=2
fi > /dev/tty6
while sleep 1; do
answer=`find_partition $1 $p`
[ -n "$answer" ] && break
done
[ -n "$efi" ] && mkdosfs -n EFI /dev/`find_partition $1 1`
}
partition_drive() {
echo -n > $menufile
for i in `list_disks`; do
echo -n `basename $i` >> $menufile
if [ -f $i/removable -a `cat $i/removable` -eq 0 ]; then
echo -n ' "ハードディスク ' >> $menufile
else
echo -n ' "リムーバブル' >> $menufile
fi
if [ -f $i/size ]; then
sz=$(size_gb $i)
[ "$sz" = "0.00GB" ] && sz="<0.01GB"
printf " %10s" $sz >> $menufile
fi
for f in $i/device/model $i/*/name; do
[ -e $f ] && echo -n " `sed $'s/\x04//g' $f`" >> $menufile && break
done
[ "`basename $i`" = "$booted_from" -o -d $i/$booted_from ] && echo -n " *" >> $menufile
echo '"' >> $menufile
done
count=`wc -l < $menufile`
if [ $count -eq 0 ]; then
dialog --title " エラー " --msgbox \
"\nOK. 編集可能なハードディスクがありません。" 8 49
return 255
fi
if [ $count -eq 1 -o "$AUTO_INSTALL" = "force" ]; then
drive=1
else
drive=`basename $AUTO_INSTALL`
fi
choice=`awk -v n=$drive '{ if (n == NR || n == $1) print $1 }' $menufile`
if [ -b /dev/$choice ]; then
retval=0
else
choose "ドライブの選択" "パーティションを編集するドライブを選択してください:\n\n* - インストーラーソース"
fi
if [ $retval -eq 0 ]; then
if [ -n "$AUTO_INSTALL" ]; then
auto_partition $choice
return 1
fi
if fdisk -l /dev/$choice | grep -q GPT; then
part_tool=cgdisk
elif fdisk -l /dev/$choice | grep -q doesn.t; then
dialog --title " 確認 " --defaultno --yesno "\n GPTを使用しますか?" 7 29
[ $? -eq 0 ] && part_tool=cgdisk || part_tool=cfdisk
else
part_tool=cfdisk
fi
$part_tool /dev/$choice
if [ $? -eq 0 ]; then
retval=1
else
retval=255
fi
fi
return $retval
}