|
|
|
|
@ -45,7 +45,7 @@ while [ $# -gt 0 ]; do |
|
|
|
|
shift |
|
|
|
|
;; |
|
|
|
|
-u) |
|
|
|
|
SUDOUSER=$2 |
|
|
|
|
ADMIN=$2 |
|
|
|
|
shift |
|
|
|
|
;; |
|
|
|
|
-p) |
|
|
|
|
@ -53,7 +53,7 @@ while [ $# -gt 0 ]; do |
|
|
|
|
shift |
|
|
|
|
;; |
|
|
|
|
-tz) |
|
|
|
|
TIMEZONE=$2 |
|
|
|
|
TIME_ZONE=$2 |
|
|
|
|
shift |
|
|
|
|
;; |
|
|
|
|
-ntp) |
|
|
|
|
@ -88,6 +88,10 @@ while [ $# -gt 0 ]; do |
|
|
|
|
INCLUDE=$2 |
|
|
|
|
shift |
|
|
|
|
;; |
|
|
|
|
-ssh) |
|
|
|
|
SSH_PASSWD=$2 |
|
|
|
|
shift |
|
|
|
|
;; |
|
|
|
|
*) |
|
|
|
|
echo "Illegal option $1" |
|
|
|
|
exit 1 |
|
|
|
|
@ -99,9 +103,10 @@ case "$COUNTRY" in |
|
|
|
|
CN) |
|
|
|
|
PROTO=${PROTO:-https} |
|
|
|
|
HOST=${HOST:-chinanet.mirrors.ustc.edu.cn} |
|
|
|
|
TIMEZONE=${TIMEZONE:-Asia/Shanghai} |
|
|
|
|
TIME_ZONE=${TIME_ZONE:-Asia/Shanghai} |
|
|
|
|
NTP=${NTP:-ntp1.aliyun.com} |
|
|
|
|
SECURITY=${SECURITY:-true} |
|
|
|
|
DNS=${DNS:-1.2.4.8 119.29.29.29} |
|
|
|
|
esac |
|
|
|
|
|
|
|
|
|
COUNTRY=${COUNTRY:-US} |
|
|
|
|
@ -110,8 +115,8 @@ HOST=${HOST:-dpvctowv9b08b.cloudfront.net} |
|
|
|
|
DIR=${DIR:-/debian} |
|
|
|
|
ARCH=$(dpkg --print-architecture) |
|
|
|
|
SUITE=${SUITE:-stretch} |
|
|
|
|
SUDOUSER=${SUDOUSER:-ubuntu} |
|
|
|
|
TIMEZONE=${TIMEZONE:-UTC} |
|
|
|
|
ADMIN=${ADMIN:-ubuntu} |
|
|
|
|
TIME_ZONE=${TIME_ZONE:-UTC} |
|
|
|
|
NTP=${NTP:-time.google.com} |
|
|
|
|
UPGRADE=${UPGRADE:-full-upgrade} |
|
|
|
|
DNS=${DNS:-1.1.1.1 156.154.70.5 8.8.8.8} |
|
|
|
|
@ -145,13 +150,14 @@ cat >> preseed.cfg << EOF |
|
|
|
|
# GATEWAY: 2 |
|
|
|
|
# DNS: 2 |
|
|
|
|
# FQDN: 2 |
|
|
|
|
# SSH_PASSWD: 2 |
|
|
|
|
# PROTO: 3 |
|
|
|
|
# HOST: 3 |
|
|
|
|
# DIR: 3 |
|
|
|
|
# SUITE: 3, 8 |
|
|
|
|
# SUDOUSER: 4 |
|
|
|
|
# ADMIN: 4 |
|
|
|
|
# PASSWD: 4 |
|
|
|
|
# TIMEZONE: 5 |
|
|
|
|
# TIME_ZONE: 5 |
|
|
|
|
# NTP: 5 |
|
|
|
|
# SECURITY: 8 |
|
|
|
|
# INCLUDE: 9 |
|
|
|
|
@ -165,7 +171,7 @@ d-i debian-installer/country string {{-COUNTRY-}} |
|
|
|
|
d-i debian-installer/locale string en_US.UTF-8 |
|
|
|
|
d-i keyboard-configuration/xkb-keymap select us |
|
|
|
|
|
|
|
|
|
# 2. Network configuration: IP_ADDR, NETMASK, GATEWAY, DNS, FQDN |
|
|
|
|
# 2. Network configuration: IP_ADDR, NETMASK, GATEWAY, DNS, FQDN, SSH_PASSWD |
|
|
|
|
|
|
|
|
|
d-i netcfg/choose_interface select auto |
|
|
|
|
EOF |
|
|
|
|
@ -196,7 +202,15 @@ fi |
|
|
|
|
|
|
|
|
|
cat >> preseed.cfg << EOF |
|
|
|
|
d-i hw-detect/load_firmware boolean true |
|
|
|
|
EOF |
|
|
|
|
|
|
|
|
|
if [ -n "$SSH_PASSWD" ]; then |
|
|
|
|
echo "d-i anna/choose_modules string network-console" >> preseed.cfg |
|
|
|
|
echo "d-i network-console/password password $SSH_PASSWD" >> preseed.cfg |
|
|
|
|
echo "d-i network-console/password-again password $SSH_PASSWD" >> preseed.cfg |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
cat >> preseed.cfg << EOF |
|
|
|
|
# 3. Mirror settings: PROTO, HOST, DIR, SUITE |
|
|
|
|
|
|
|
|
|
d-i mirror/country string manual |
|
|
|
|
@ -207,17 +221,17 @@ d-i mirror/{{-PROTO-}}/proxy string |
|
|
|
|
d-i mirror/suite string {{-SUITE-}} |
|
|
|
|
d-i mirror/udeb/suite string {{-SUITE-}} |
|
|
|
|
|
|
|
|
|
# 4. Account setup: SUDOUSER, PASSWD |
|
|
|
|
# 4. Account setup: ADMIN, PASSWD |
|
|
|
|
|
|
|
|
|
d-i passwd/root-login boolean false |
|
|
|
|
d-i passwd/user-fullname string |
|
|
|
|
d-i passwd/username string {{-SUDOUSER-}} |
|
|
|
|
d-i passwd/username string {{-ADMIN-}} |
|
|
|
|
d-i passwd/user-password-crypted password {{-PASSWD-}} |
|
|
|
|
|
|
|
|
|
# 5. Clock and time zone setup: TIMEZONE, NTP |
|
|
|
|
# 5. Clock and time zone setup: TIME_ZONE, NTP |
|
|
|
|
|
|
|
|
|
d-i clock-setup/utc boolean true |
|
|
|
|
d-i time/zone string {{-TIMEZONE-}} |
|
|
|
|
d-i time/zone string {{-TIME_ZONE-}} |
|
|
|
|
d-i clock-setup/ntp boolean true |
|
|
|
|
d-i clock-setup/ntp-server string {{-NTP-}} |
|
|
|
|
|
|
|
|
|
@ -275,9 +289,9 @@ sed -i 's/{{-PROTO-}}/'"$PROTO"'/g' preseed.cfg |
|
|
|
|
sed -i 's/{{-HOST-}}/'"$HOST"'/g' preseed.cfg |
|
|
|
|
sed -i 's/{{-DIR-}}/'$(echo "$DIR" | sed 's/\//\\\//g')'/g' preseed.cfg |
|
|
|
|
sed -i 's/{{-SUITE-}}/'"$SUITE"'/g' preseed.cfg |
|
|
|
|
sed -i 's/{{-SUDOUSER-}}/'"$SUDOUSER"'/g' preseed.cfg |
|
|
|
|
sed -i 's/{{-ADMIN-}}/'"$ADMIN"'/g' preseed.cfg |
|
|
|
|
sed -i 's/{{-PASSWD-}}/'$(echo "$PASSWD" | sed 's/\//\\\//g')'/g' preseed.cfg |
|
|
|
|
sed -i 's/{{-TIMEZONE-}}/'$(echo "$TIMEZONE" | sed 's/\//\\\//g')'/g' preseed.cfg |
|
|
|
|
sed -i 's/{{-TIME_ZONE-}}/'$(echo "$TIME_ZONE" | sed 's/\//\\\//g')'/g' preseed.cfg |
|
|
|
|
sed -i 's/{{-NTP-}}/'"$NTP"'/g' preseed.cfg |
|
|
|
|
sed -i 's/{{-SECURITY-}}/'$(echo "$SECURITY" | sed 's/\//\\\//g')'/g' preseed.cfg |
|
|
|
|
sed -i 's/{{-UPGRADE-}}/'"$UPGRADE"'/g' preseed.cfg |
|
|
|
|
|