1
0

Compare commits

...

5 Commits

Author SHA1 Message Date
6a89b5b4d4 qemu 9.2 won't start network devices without romfile option 2025-04-14 21:27:44 +01:00
d749538e9e remove qemu vga adapter
it doesn't work with qemu 9.2 (coming soon) but we don't need it
anyway
2025-04-14 21:27:44 +01:00
f728b584a2 add "nobody" user needed by rp-pppoe 2025-04-14 21:27:44 +01:00
e04724d7fc upgrade rp-pppoe 2025-04-14 21:27:44 +01:00
2721481ce1 fix qemu build in nixpksg unstable/25.05 2025-04-14 21:27:38 +01:00
5 changed files with 30 additions and 9 deletions

View File

@ -42,11 +42,11 @@
in in
{ {
wan = link.build { wan = link.build {
devpath = "/devices/pci0000:00/0000:00:13.0/virtio0"; devpath = "/devices/pci0000:00/0000:00:12.0/virtio0";
ifname = "wan"; ifname = "wan";
}; };
lan = link.build { lan = link.build {
devpath = "/devices/pci0000:00/0000:00:14.0/virtio1"; devpath = "/devices/pci0000:00/0000:00:13.0/virtio1";
ifname = "lan"; ifname = "lan";
}; };

View File

@ -132,6 +132,16 @@ in
description = "options supplied on ppp command line"; description = "options supplied on ppp command line";
}; };
}; };
# rp-pppoe attempts to drop privs by switching to user "nobody"
users.nobody = {
uid = 65534;
gid = 65534;
gecos = "Captain Nemo";
dir = "/run/";
shell = "/bin/false";
};
kernel = { kernel = {
config = { config = {
PPP = "y"; PPP = "y";

View File

@ -302,7 +302,6 @@ extraPkgs
}); });
overrides = overrides =
{ {
nixosTestRunner = true;
hostCpuTargets = map (f: "${f}-softmmu") [ hostCpuTargets = map (f: "${f}-softmmu") [
"arm" "arm"
"aarch64" "aarch64"
@ -320,6 +319,10 @@ extraPkgs
} }
// lib.optionalAttrs (lib.versionOlder lib.version "24.10") { // lib.optionalAttrs (lib.versionOlder lib.version "24.10") {
texinfo = null; texinfo = null;
nixosTestRunner = true;
}
// lib.optionalAttrs (lib.versionAtLeast lib.version "25.04") {
minimal = true;
}; };
in in
q.override overrides; q.override overrides;

View File

@ -6,13 +6,15 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rp-pppoe"; pname = "rp-pppoe";
version = "3.15"; version = "4.0-plus";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dfskoll"; owner = "dfskoll";
repo = "rp-pppoe"; repo = "rp-pppoe";
rev = "7cfd8c0405d14cf1c8d799d41d8207fd707979c1"; rev = "3c0f6c02279881d723743023634b19b77a7d9f82";
hash = "sha256-MFdCwNj8c52blxEuXH5ltT2yYDmKMH5MLUgtddZV25E="; hash = "sha256-RUUbP5j2I2DERQ7RE8xj4Xt1FoQOanMRoMiB1H6Wrdw=";
# rev = "7cfd8c0405d14cf1c8d799d41d8207fd707979c1";
# hash = "sha256-MFdCwNj8c52blxEuXH5ltT2yYDmKMH5MLUgtddZV25E=";
}; };
buildInputs = [ ppp ]; buildInputs = [ ppp ];

View File

@ -79,19 +79,25 @@
"-serial" (.. "unix:" sock ",server,nowait") "-serial" (.. "unix:" sock ",server,nowait")
"-monitor" (.. "unix:" monitor ",server,nowait")])) "-monitor" (.. "unix:" monitor ",server,nowait")]))
(local netrom (pad-file "/dev/null" 16384))
(fn access-net [override] (fn access-net [override]
[ [
"-netdev" (.. (or override "-netdev" (.. (or override
"socket,mcast=230.0.0.1:1234,localaddr=127.0.0.1") "socket,mcast=230.0.0.1:1234,localaddr=127.0.0.1")
",id=access") ",id=access")
"-device" "virtio-net,disable-legacy=on,disable-modern=off,netdev=access,mac=ba:ad:1d:ea:21:02" "-device"
(.. "virtio-net,disable-legacy=on,romfile=" netrom ",disable-modern=off,netdev=access,mac=ba:ad:1d:ea:21:02")
;; (.. "virtio-net,disable-legacy=on,disable-modern=off,netdev=access,mac=ba:ad:1d:ea:21:02")
]) ])
(fn local-net [override] (fn local-net [override]
[ [
"-netdev" (.. (or override "socket,mcast=230.0.0.1:1235,localaddr=127.0.0.1") "-netdev" (.. (or override "socket,mcast=230.0.0.1:1235,localaddr=127.0.0.1")
",id=lan") ",id=lan")
"-device" "virtio-net,disable-legacy=on,disable-modern=off,netdev=lan,mac=ba:ad:1d:ea:21:01" "-device"
(.. "virtio-net,disable-legacy=on,romfile=" netrom ",disable-modern=off,netdev=lan,mac=ba:ad:1d:ea:21:01")
;; (.. "virtio-net,disable-legacy=on,disable-modern=off,netdev=lan,mac=ba:ad:1d:ea:21:01")
]) ])
@ -132,7 +138,7 @@
options.u-boot options.disk-image)) options.u-boot options.disk-image))
(appendm (access-net options.wan)) (appendm (access-net options.wan))
(appendm (local-net options.lan)) (appendm (local-net options.lan))
(appendm ["-display" "none"]))) (appendm ["-display" "none" "-vga" "none"])))
(each [n a (ipairs exec-args)] (each [n a (ipairs exec-args)]
(print (.. (if (> n 1) " " "") (string.format "%q" a)))) (print (.. (if (> n 1) " " "") (string.format "%q" a))))