commit
87bccdbdfb
3 changed files with 6 additions and 6 deletions
|
@ -34,7 +34,7 @@ The kexec installer comes with the following features:
|
||||||
- Authorized ssh keys are read from `/root/.ssh/authorized_keys`, `/root/.ssh/authorized_keys2` and `/etc/ssh/authorized_keys.d/root`
|
- Authorized ssh keys are read from `/root/.ssh/authorized_keys`, `/root/.ssh/authorized_keys2` and `/etc/ssh/authorized_keys.d/root`
|
||||||
- (experimental, only tested for nixos-unstable) Static ip addresses and routes
|
- (experimental, only tested for nixos-unstable) Static ip addresses and routes
|
||||||
are restored after reboot. Interface that had dynamic addresses before are
|
are restored after reboot. Interface that had dynamic addresses before are
|
||||||
configured with DHCP and to accept prefixes from ipv6 router advertisment
|
configured with DHCP and to accept prefixes from ipv6 router advertisement
|
||||||
|
|
||||||
|
|
||||||
The actual kexec happens with a slight delay (6s). This allows for easier
|
The actual kexec happens with a slight delay (6s). This allows for easier
|
||||||
|
|
|
@ -62,9 +62,9 @@ if ! "$SCRIPT_DIR/kexec" --load "$SCRIPT_DIR/bzImage" \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Disconnect our background kexec from the terminal
|
# Disconnect our background kexec from the terminal
|
||||||
echo "machine will boot into nixos in in 6s..."
|
echo "machine will boot into nixos in 6s..."
|
||||||
if test -e /dev/kmsg; then
|
if test -e /dev/kmsg; then
|
||||||
# this makes logging visible in `dmesg`, or the system consol or tools like journald
|
# this makes logging visible in `dmesg`, or the system console or tools like journald
|
||||||
exec > /dev/kmsg 2>&1
|
exec > /dev/kmsg 2>&1
|
||||||
else
|
else
|
||||||
exec > /dev/null 2>&1
|
exec > /dev/null 2>&1
|
||||||
|
|
|
@ -18,7 +18,7 @@ def filter_interfaces(network: list[dict[str, Any]]) -> list[dict[str, Any]]:
|
||||||
# no link-local ipv4/ipv6
|
# no link-local ipv4/ipv6
|
||||||
if addr.get("scope") == "link":
|
if addr.get("scope") == "link":
|
||||||
continue
|
continue
|
||||||
# do not explicitly configure addresses from dhcp or router advertisment
|
# do not explicitly configure addresses from dhcp or router advertisement
|
||||||
if addr.get("dynamic", False):
|
if addr.get("dynamic", False):
|
||||||
has_dynamic_address = True
|
has_dynamic_address = True
|
||||||
continue
|
continue
|
||||||
|
@ -34,7 +34,7 @@ def filter_interfaces(network: list[dict[str, Any]]) -> list[dict[str, Any]]:
|
||||||
def filter_routes(routes: list[dict[str, Any]]) -> list[dict[str, Any]]:
|
def filter_routes(routes: list[dict[str, Any]]) -> list[dict[str, Any]]:
|
||||||
filtered = []
|
filtered = []
|
||||||
for route in routes:
|
for route in routes:
|
||||||
# Filter out routes set by addresses with subnets, dhcp and router advertisment
|
# Filter out routes set by addresses with subnets, dhcp and router advertisement
|
||||||
if route.get("protocol") in ["dhcp", "kernel", "ra"]:
|
if route.get("protocol") in ["dhcp", "kernel", "ra"]:
|
||||||
continue
|
continue
|
||||||
filtered.append(route)
|
filtered.append(route)
|
||||||
|
@ -70,7 +70,7 @@ def generate_networkd_units(
|
||||||
# they would be useful for internet connectivity anyway
|
# they would be useful for internet connectivity anyway
|
||||||
route_sections.append(route_section)
|
route_sections.append(route_section)
|
||||||
|
|
||||||
# FIXME in some networks we might not want to trust dhcp or router advertisments
|
# FIXME in some networks we might not want to trust dhcp or router advertisements
|
||||||
unit = f"""
|
unit = f"""
|
||||||
[Match]
|
[Match]
|
||||||
MACAddress = {interface["address"]}
|
MACAddress = {interface["address"]}
|
||||||
|
|
Loading…
Reference in a new issue