forked from DGNum/liminix
add wifi firmware, move things around in ram
* at the base address we were using, the filesystem was getting corrupted presumably because the kernel unpacked into it * leave a little more space between compressed kernel and squashfs. this is probably ineffective but also harmless
This commit is contained in:
parent
f50b0627a2
commit
d83bcc643e
2 changed files with 17 additions and 2 deletions
|
@ -15,6 +15,8 @@
|
||||||
let
|
let
|
||||||
inherit (pkgs.liminix.networking) interface;
|
inherit (pkgs.liminix.networking) interface;
|
||||||
inherit (pkgs.liminix.services) oneshot;
|
inherit (pkgs.liminix.services) oneshot;
|
||||||
|
inherit (pkgs.pseudofile) dir symlink;
|
||||||
|
|
||||||
openwrt = pkgs.fetchFromGitHub {
|
openwrt = pkgs.fetchFromGitHub {
|
||||||
name = "openwrt-source";
|
name = "openwrt-source";
|
||||||
repo = "openwrt";
|
repo = "openwrt";
|
||||||
|
@ -26,7 +28,18 @@
|
||||||
drivers = ["mt7603e"];
|
drivers = ["mt7603e"];
|
||||||
klibBuild = config.outputs.kernel.modulesupport;
|
klibBuild = config.outputs.kernel.modulesupport;
|
||||||
};
|
};
|
||||||
|
wlan_firmware = builtins.fetchurl {
|
||||||
|
url = "https://github.com/openwrt/mt76/raw/f24b56f935392ca1d35fae5fd6e56ef9deda4aad/firmware/mt7628_e2.bin";
|
||||||
|
sha256 = "sha256:1dkhfznmdz6s50kwc841x3wj0h6zg6icg5g2bim9pvg66as2vmh9";
|
||||||
|
};
|
||||||
in {
|
in {
|
||||||
|
filesystem = dir {
|
||||||
|
lib = dir {
|
||||||
|
firmware = dir {
|
||||||
|
"mt7628_e2.bin" = symlink wlan_firmware;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
hardware = {
|
hardware = {
|
||||||
defaultOutput = "tftproot";
|
defaultOutput = "tftproot";
|
||||||
loadAddress = "0x80000000";
|
loadAddress = "0x80000000";
|
||||||
|
@ -77,7 +90,9 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
boot.tftp = {
|
boot.tftp = {
|
||||||
loadAddress = "0x00A00000";
|
# 20MB seems to give enough room to uncompress the kernel
|
||||||
|
# without anything getting trodden on. 10MB was too small
|
||||||
|
loadAddress = "0x1400000";
|
||||||
};
|
};
|
||||||
|
|
||||||
kernel = {
|
kernel = {
|
||||||
|
|
|
@ -62,7 +62,7 @@ in {
|
||||||
in
|
in
|
||||||
pkgs.buildPackages.runCommand "" {} ''
|
pkgs.buildPackages.runCommand "" {} ''
|
||||||
uimageSize=$(($(stat -L -c %s ${config.outputs.uimage}) + 0x1000 &(~0xfff)))
|
uimageSize=$(($(stat -L -c %s ${config.outputs.uimage}) + 0x1000 &(~0xfff)))
|
||||||
squashfsStart=0x$(printf %x $((${cfg.loadAddress} + $uimageSize)))
|
squashfsStart=0x$(printf %x $((${cfg.loadAddress} + 0x100000 + $uimageSize)))
|
||||||
squashfsBytes=$(($(stat -L -c %s ${config.outputs.squashfs}) + 0x100000 &(~0xfffff)))
|
squashfsBytes=$(($(stat -L -c %s ${config.outputs.squashfs}) + 0x100000 &(~0xfffff)))
|
||||||
squashfsMb=$(($squashfsBytes >> 20))
|
squashfsMb=$(($squashfsBytes >> 20))
|
||||||
cmd="mtdparts=phram0:''${squashfsMb}M(nix) phram.phram=phram0,''${squashfsStart},''${squashfsMb}Mi memmap=''${squashfsMb}M\$''${squashfsStart} root=1f00";
|
cmd="mtdparts=phram0:''${squashfsMb}M(nix) phram.phram=phram0,''${squashfsStart},''${squashfsMb}Mi memmap=''${squashfsMb}M\$''${squashfsStart} root=1f00";
|
||||||
|
|
Loading…
Reference in a new issue