diff --git a/index.ts b/index.ts index e899e21..1da3715 100644 --- a/index.ts +++ b/index.ts @@ -10,6 +10,7 @@ import { sudoChownToRunningUser } from "./helpers/sudo.js"; import { setupKernel } from "./kernel.js"; import { runQemu } from "./qemu.js"; import { Runit } from "./runit/index.js"; +import { setupDhcpcd } from "./services/dhcpcd.js"; if (process.argv[2] === "generate-secrets") { await generateForgejoSecretsFile(); @@ -30,6 +31,7 @@ if (process.argv[2] === "generate-secrets") { await alpine.addPackages(["helix", "iproute2-ss", "socat"]); const runit = await Runit.setup(alpine); + await setupDhcpcd(alpine, runit); await setupForgejo(alpine, runit); const kernel = await setupKernel(alpine, kernelDir); diff --git a/services/dhcpcd.ts b/services/dhcpcd.ts new file mode 100644 index 0000000..4ee02ec --- /dev/null +++ b/services/dhcpcd.ts @@ -0,0 +1,16 @@ +import { Alpine } from "../alpine.js"; +import { Runit } from "../runit/index.js"; + +export async function setupDhcpcd(alpine: Alpine, runit: Runit) { + await alpine.addPackages(["dhcpcd"]); + + await alpine.symlink("/run/resolv.conf", "/etc/resolv.conf"); + await alpine.fstab.addTmpfs("/var/lib/dhcpcd"); + + await runit.addService( + "dhcpcd", + `#!/bin/sh +exec dhcpcd --nobackground +` + ); +}