mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
- Rename extensions with "net-*" prefix - Put the extensions into their own folder - Split off time sync packages into their own extensions to be able to be used separately - Put their config files into directories instead of using inline `cat <<- EOF >` - Move some other NetworkManager related stuff into the extension - Remove unneeded steps - Install iproute2 by default on all images (for the `ip` command)
50 lines
2.2 KiB
Bash
50 lines
2.2 KiB
Bash
#
|
|
# Extension to manage network interfaces with NetworkManager + Netplan
|
|
#
|
|
function add_host_dependencies__install_network_manager() {
|
|
display_alert "Extension: ${EXTENSION}: Installing additional packages" "network-manager network-manager-openvpn netplan.io" "info"
|
|
add_packages_to_rootfs network-manager network-manager-openvpn netplan.io
|
|
|
|
if [[ "${BUILD_DESKTOP}" == "yes" ]]; then
|
|
display_alert "Extension: ${EXTENSION}: Installing additional packages for desktop" "network-manager-gnome network-manager-ssh network-manager-vpnc" "info"
|
|
add_packages_to_rootfs network-manager-gnome network-manager-ssh network-manager-vpnc
|
|
fi
|
|
|
|
if [[ "${DISTRIBUTION}" == "Ubuntu" ]]; then
|
|
display_alert "Extension: ${EXTENSION}: Installing additional packages for Ubuntu" "network-manager-config-connectivity-ubuntu" "info"
|
|
add_packages_to_rootfs network-manager-config-connectivity-ubuntu
|
|
fi
|
|
}
|
|
|
|
function pre_install_kernel_debs__configure_network_manager()
|
|
{
|
|
display_alert "Extension: ${EXTENSION}: Enabling Network-Manager" "" "info"
|
|
|
|
# We can't disable/mask systemd-networkd.service since it is required by Netplan
|
|
|
|
# Most likely we don't need to wait for nm to get online
|
|
chroot_sdcard systemctl disable NetworkManager-wait-online.service
|
|
|
|
if [[ -n $NM_IGNORE_DEVICES ]]; then
|
|
mkdir -p "${SDCARD}"/etc/NetworkManager/conf.d/
|
|
cat <<- EOF > "${SDCARD}"/etc/NetworkManager/conf.d/10-ignore-interfaces.conf
|
|
[keyfile]
|
|
unmanaged-devices=$NM_IGNORE_DEVICES
|
|
EOF
|
|
fi
|
|
|
|
# Copy network config files into the appropriate folders
|
|
display_alert "Configuring" "NetworkManager and Netplan" "info"
|
|
local netplan_config_src_folder="${EXTENSION_DIR}/config-nm/netplan/"
|
|
local netplan_config_dst_folder="${SDCARD}/etc/netplan/"
|
|
|
|
local network_manager_config_src_folder="${EXTENSION_DIR}/config-nm/NetworkManager/"
|
|
local network_manager_config_dst_folder="${SDCARD}/etc/NetworkManager/conf.d/"
|
|
|
|
run_host_command_logged cp "${netplan_config_src_folder}"* "${netplan_config_dst_folder}"
|
|
run_host_command_logged cp "${network_manager_config_src_folder}"* "${network_manager_config_dst_folder}"
|
|
|
|
# Change the file permissions according to https://netplan.readthedocs.io/en/stable/security/
|
|
chmod 600 "${SDCARD}"/etc/netplan/*
|
|
}
|