armbian_rootenc_setup: add -I option (force use of ifupdown)
This commit is contained in:
parent
2d420a20af
commit
66ab5cb3fe
1 changed files with 33 additions and 2 deletions
|
|
@ -18,6 +18,7 @@ CONFIG_VARS='
|
|||
USE_LOCAL_AUTHORIZED_KEYS
|
||||
USB_GADGET
|
||||
ETH_DEV
|
||||
NETCFG_IFUPDOWN
|
||||
'
|
||||
STATES='
|
||||
card_partitioned
|
||||
|
|
@ -44,6 +45,7 @@ USER_OPTS_INFO="
|
|||
USB_GADGET - enable disk unlocking via SSH over USB (g_ether)
|
||||
ETH_DEV - select the network device manually (default: auto)
|
||||
VERBOSE - produce verbose output
|
||||
NETCFG_IFUPDOWN - force configuration of network interface using ifupdown
|
||||
"
|
||||
RSYNC_VERBOSITY='--info=progress2'
|
||||
|
||||
|
|
@ -55,6 +57,8 @@ print_help() {
|
|||
'-d' Produce tons of debugging output
|
||||
'-f' Force reconfiguration of target system
|
||||
'-F' Force a complete rebuild of target system
|
||||
'-I' Force configuration of target system network interface using
|
||||
ifupdown (/etc/network/interfaces)
|
||||
'-m' Add all currently loaded modules to the initramfs (may help
|
||||
fix blank screen on bootup issues)
|
||||
'-o' Add specified modules to the initramfs (comma-separated list)
|
||||
|
|
@ -473,6 +477,7 @@ _print_pkgs_to_install() {
|
|||
pkgs='cryptsetup-initramfs' pkgs_ssh='dropbear-initramfs'
|
||||
warn "Warning: unrecognized target distribution '$target_distro'" ;;
|
||||
esac
|
||||
[ "$NETCFG_IFUPDOWN" == 'y' ] && pkgs+=" ifupdown"
|
||||
[ "$IP_ADDRESS" != 'none' ] && pkgs+=" $pkgs_ssh" ;;
|
||||
esac
|
||||
for i in $pkgs; do
|
||||
|
|
@ -675,6 +680,7 @@ _update_state_from_config_vars() {
|
|||
[ "$cADD_MODS" != "$ADD_MODS" ] && cfgvar_changed+=' ADD_MODS' target_configured='n'
|
||||
[ "$cUSB_GADGET" != "$USB_GADGET" ] && cfgvar_changed+=' USB_GADGET' target_configured='n'
|
||||
[ "$cETH_DEV" != "$ETH_DEV" ] && cfgvar_changed+=' ETH_DEV' target_configured='n'
|
||||
[ "$cNETCFG_IFUPDOWN" != "$NETCFG_IFUPDOWN" ] && cfgvar_changed+=' NETCFG_IFUPDOWN' target_configured='n'
|
||||
[ "$IP_ADDRESS" -a "$cUSE_LOCAL_AUTHORIZED_KEYS" != "$USE_LOCAL_AUTHORIZED_KEYS" ] && {
|
||||
cfgvar_changed+=' USE_LOCAL_AUTHORIZED_KEYS' target_configured='n'
|
||||
}
|
||||
|
|
@ -1312,6 +1318,29 @@ apt_install_target_pkgs() {
|
|||
true
|
||||
}
|
||||
|
||||
ifupdown_config_eth0() {
|
||||
local dir file text
|
||||
dir="/etc/network/interfaces.d"
|
||||
mkdir -p $dir
|
||||
file="$dir/$eth_dev"
|
||||
rm -rf $file
|
||||
if [ "$NETCFG_IFUPDOWN" == 'y' ]; then
|
||||
if [ "$IP_ADDRESS" == 'dhcp' ]; then
|
||||
text="auto $eth_dev\niface $eth_dev inet dhcp"
|
||||
else
|
||||
text="auto $eth_dev\niface $eth_dev inet static\n\taddress $IP_ADDRESS\n\tnetmask $NETMASK"
|
||||
fi
|
||||
systemctl -q is-enabled 'networking' || { systemctl unmask 'networking'; systemctl enable 'networking'; }
|
||||
systemctl -q is-enabled 'networking' || die "fatal error: unable to enable networking service (ifupdown)"
|
||||
echo -e "$text" > $file
|
||||
_display_file $file
|
||||
else
|
||||
systemctl -q is-enabled 'networking' && systemctl mask 'networking'
|
||||
systemctl -q is-enabled 'networking' && die "fatal error: unable to mask networking service"
|
||||
true
|
||||
fi
|
||||
}
|
||||
|
||||
update_initramfs() {
|
||||
[ "$ROOTENC_TESTING" ] && return 0
|
||||
_show_output
|
||||
|
|
@ -1376,7 +1405,7 @@ configure_target() {
|
|||
|
||||
_show_output # this must be done before entering chroot
|
||||
/bin/cp $0 $TARGET_ROOT
|
||||
export 'ROOTFS_NAME' 'IP_ADDRESS' 'target_distro' 'ROOTENC_TESTING' 'ROOTENC_PAUSE' 'ROOTENC_IGNORE_APT_ERRORS' 'APT_UPGRADE'
|
||||
export 'ROOTFS_NAME' 'IP_ADDRESS' 'target_distro' 'ROOTENC_TESTING' 'ROOTENC_PAUSE' 'ROOTENC_IGNORE_APT_ERRORS' 'APT_UPGRADE' 'eth_dev'
|
||||
|
||||
chroot $TARGET_ROOT "./$PROGNAME" $ORIG_OPTS 'in_target'
|
||||
|
||||
|
|
@ -1410,13 +1439,14 @@ _mount_target_and_exit() {
|
|||
|
||||
set -e
|
||||
|
||||
while getopts hCfFmo:MUpRsudvz OPT
|
||||
while getopts hCfFImo:MUpRsudvz OPT
|
||||
do
|
||||
case "$OPT" in
|
||||
h) print_help; exit ;;
|
||||
C) NO_CLEANUP='y' ;;
|
||||
f) FORCE_RECONFIGURE='y' ;;
|
||||
F) FORCE_REBUILD='y' ;;
|
||||
I) NETCFG_IFUPDOWN='y' ;;
|
||||
m) ADD_ALL_MODS='y' ;;
|
||||
o) ADD_MODS=$OPTARG ;;
|
||||
M) MOUNT_TARGET_ONLY='y' ;;
|
||||
|
|
@ -1466,6 +1496,7 @@ if [ "$ARG1" == 'in_target' ]; then
|
|||
}
|
||||
apt_remove_target_pkgs
|
||||
apt_install_target_pkgs
|
||||
ifupdown_config_eth0
|
||||
[ "$initramfs_updated" ] || update_initramfs
|
||||
gen_target_ssh_host_keys
|
||||
check_initramfs
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue