Refactor `_add_systemd_bootloader()` loader configuration (#1911)
This commit is contained in:
parent
afaf42e646
commit
c67bb0b549
|
|
@ -733,24 +733,26 @@ class Installer:
|
||||||
# Modify or create a loader.conf
|
# Modify or create a loader.conf
|
||||||
loader_conf = loader_dir / 'loader.conf'
|
loader_conf = loader_dir / 'loader.conf'
|
||||||
|
|
||||||
|
default = f'default {self.init_time}_{self.kernels[0]}.conf\n'
|
||||||
|
|
||||||
try:
|
try:
|
||||||
with loader_conf.open() as loader:
|
with loader_conf.open() as loader:
|
||||||
loader_data = loader.read().split('\n')
|
loader_data = loader.readlines()
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
loader_data = [
|
loader_data = [
|
||||||
f"default {self.init_time}",
|
default,
|
||||||
"timeout 15"
|
'timeout 15\n'
|
||||||
]
|
]
|
||||||
|
else:
|
||||||
|
for index, line in enumerate(loader_data):
|
||||||
|
if line.startswith('default'):
|
||||||
|
loader_data[index] = default
|
||||||
|
elif line.startswith('#timeout'):
|
||||||
|
# We add in the default timeout to support dual-boot
|
||||||
|
loader_data[index] = line.removeprefix('#')
|
||||||
|
|
||||||
with loader_conf.open('w') as loader:
|
with loader_conf.open('w') as loader:
|
||||||
for line in loader_data:
|
loader.writelines(loader_data)
|
||||||
if line[:8] == 'default ':
|
|
||||||
loader.write(f'default {self.init_time}_{self.kernels[0]}\n')
|
|
||||||
elif line[:8] == '#timeout' and 'timeout 15' not in loader_data:
|
|
||||||
# We add in the default timeout to support dual-boot
|
|
||||||
loader.write(f"{line[1:]}\n")
|
|
||||||
else:
|
|
||||||
loader.write(f"{line}\n")
|
|
||||||
|
|
||||||
# Ensure that the $BOOT/loader/entries/ directory exists before we try to create files in it
|
# Ensure that the $BOOT/loader/entries/ directory exists before we try to create files in it
|
||||||
entries_dir = loader_dir / 'entries'
|
entries_dir = loader_dir / 'entries'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue