mirror of https://github.com/ventoy/Ventoy
123 lines
4.4 KiB
Bash
123 lines
4.4 KiB
Bash
#!/ventoy/busybox/sh
|
||
|
||
. /ventoy/hook/ventoy_hook_lib.sh
|
||
|
||
change_var_value() {
|
||
local vfile=$1
|
||
local vkey=$2
|
||
local vVal=$3
|
||
local quote=$4
|
||
local vline
|
||
|
||
if [ $quote -eq 0 ]; then
|
||
vline="$vkey = $vVal"
|
||
else
|
||
vline="$vkey = \"$vVal\""
|
||
fi
|
||
|
||
if grep -q -m1 "^$vkey[[:space:]]*=" $vfile; then
|
||
sed "s#^$vkey[[:space:]]*=.*#$vline#g" -i $vfile
|
||
else
|
||
echo "$vline" >> $vfile
|
||
fi
|
||
}
|
||
|
||
setting_script_process() {
|
||
local sfile=$1
|
||
local vItem
|
||
local vB64Item
|
||
|
||
vItem=$(grep '^language[[:space:]]*=' /ventoy/autoinstall | awk '{print $3}')
|
||
if [ -n "$vItem" ]; then
|
||
change_var_value $sfile 'select_language_default_locale' "$vItem" 0
|
||
fi
|
||
|
||
vItem=$(grep '^timezone[[:space:]]*=' /ventoy/autoinstall | awk '{print $3}')
|
||
if [ -n "$vItem" ]; then
|
||
change_var_value $sfile 'timezone_default' "$vItem" 0
|
||
fi
|
||
|
||
vItem=$(grep '^hostname[[:space:]]*=' /ventoy/autoinstall | awk '{print $3}')
|
||
if [ -n "$vItem" ]; then
|
||
change_var_value $sfile 'system_info_default_hostname' "$vItem" 1
|
||
change_var_value $sfile 'DI_HOSTNAME' "$vItem" 1
|
||
fi
|
||
|
||
vItem=$(grep '^root_password[[:space:]]*=' /ventoy/autoinstall | awk '{print $3}')
|
||
if [ -n "$vItem" ]; then
|
||
vB64Item=$(echo -n "$vItem" | base64)
|
||
change_var_value $sfile 'system_info_default_root_password' "$vB64Item" 1
|
||
change_var_value $sfile 'DI_ROOTPASSWORD' "$vB64Item" 1
|
||
fi
|
||
|
||
vItem=$(grep '^default_username[[:space:]]*=' /ventoy/autoinstall | awk '{print $3}')
|
||
if [ -n "$vItem" ]; then
|
||
change_var_value $sfile 'system_info_default_username' "$vItem" 1
|
||
change_var_value $sfile 'DI_USERNAME' "$vItem" 1
|
||
fi
|
||
|
||
vItem=$(grep '^default_password[[:space:]]*=' /ventoy/autoinstall | awk '{print $3}')
|
||
if [ -n "$vItem" ]; then
|
||
change_var_value $sfile 'system_info_default_password' "$vItem" 1
|
||
change_var_value $sfile 'DI_PASSWORD' "$vItem" 1
|
||
fi
|
||
|
||
vItem=$(grep '^install_disk[[:space:]]*=' /ventoy/autoinstall | awk '{print $3}')
|
||
if [ -n "$vItem" ]; then
|
||
echo "DI_FULLDISK_MULTIDISK_DEVICE = $vItem" >> $sfile
|
||
echo "DI_ROOTDISK = $vItem" >> $sfile
|
||
echo "DI_BOOTLOADER = $vItem" >> $sfile
|
||
fi
|
||
|
||
change_var_value $sfile 'skip_virtual_machine_page' 'true' 0
|
||
change_var_value $sfile 'skip_select_language_page' 'true' 0
|
||
change_var_value $sfile 'skip_select_language_page_on_first_boot' 'true' 0
|
||
change_var_value $sfile 'skip_system_keyboard_page' 'true' 0
|
||
change_var_value $sfile 'skip_system_info_page' 'true' 0
|
||
change_var_value $sfile 'skip_qr_code_system_info_page' 'true' 0
|
||
change_var_value $sfile 'skip_timezone_page' 'true' 0
|
||
change_var_value $sfile 'skip_partition_page' 'true' 0
|
||
change_var_value $sfile 'system_info_password_validate_required' '0' 0
|
||
change_var_value $sfile 'system_info_password_strong_check' 'false' 0
|
||
change_var_value $sfile 'partition_do_auto_part' 'true' 0
|
||
change_var_value $sfile 'system_info_disable_license' 'true' 0
|
||
change_var_value $sfile 'system_info_disable_experience' 'true' 0
|
||
change_var_value $sfile 'system_info_disable_privacy_license' 'true' 0
|
||
|
||
#filesystem.squashfs search ini
|
||
#first_page_state=0,表示不跳过首页,展示首页让用户自己选择
|
||
#first_page_state=1,表示跳过首页,并且自动点击一键安装
|
||
#first_page_state=2,表示跳过首页,并且自动点击自定义安装
|
||
#first_page_state=3,表示跳过首页,并且直接以全盘安装方式自动安装
|
||
change_var_value $sfile 'first_page_state' '3' 0
|
||
}
|
||
|
||
update_settings() {
|
||
local script=$1
|
||
local newscript
|
||
|
||
echo "update_settings for $script ..."
|
||
|
||
newscript=$(basename $script)
|
||
cp -a $script /ventoy/vini_${newscript}
|
||
setting_script_process /ventoy/vini_${newscript}
|
||
|
||
rm -f $script
|
||
cp -a /ventoy/vini_${newscript} $script
|
||
}
|
||
|
||
sh /ventoy/hook/common/auto_install_varexp.sh /ventoy/autoinstall
|
||
|
||
update_settings /root/usr/share/deepin-installer/resources/default_settings.ini
|
||
|
||
ls -1 /root/usr/share/deepin-installer/resources/override/ | while read line; do
|
||
update_settings /root/usr/share/deepin-installer/resources/override/$line
|
||
done
|
||
|
||
ls -1 /root/usr/share/deepin-installer/resources/oem/ | while read line; do
|
||
update_settings /root/usr/share/deepin-installer/resources/oem/$line
|
||
done
|
||
|
||
|
||
|