Generate U-Boot commands
This commit is contained in:
parent
66e3c36f77
commit
bf767d623b
@ -61,10 +61,12 @@
|
||||
build = nixosconf.config.system.build;
|
||||
in pkgs.mkShell {
|
||||
pname = "lagarto-hun-shell";
|
||||
TOPLEVEL = build.toplevel;
|
||||
OPENSBI = syspkgs.opensbi;
|
||||
KERNEL = build.kernel;
|
||||
INITRD = build.initialRamdisk;
|
||||
ROOTFS = build.sdImage;
|
||||
UBOOT_ENV = syspkgs.uboot-env;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ rsync -a fpga/env.sh "$dst"
|
||||
rsync "$OPENSBI/share/opensbi/lp64/fpga/openpiton/firmware/fw_payload.bin" "$dst/opensbi.bin"
|
||||
rsync "$KERNEL/Image" "$dst/kernel.bin"
|
||||
rsync "$INITRD/initrd" "$dst/initrd.bin"
|
||||
rsync "$ROOTFS/rootfs.img" "$dst/rootfs.img"
|
||||
rsync "$ROOTFS/sd-image/rootfs.img" "$dst/rootfs.img"
|
||||
rsync "$UBOOT_ENV" "$dst/uboot.env"
|
||||
|
||||
echo "Now go to $dst and run ./boot.sh"
|
||||
|
@ -81,6 +81,30 @@
|
||||
'';
|
||||
};
|
||||
|
||||
uboot-env = let
|
||||
init = "${config.system.build.toplevel}/init";
|
||||
initrd = "${config.system.build.initialRamdisk}/initrd";
|
||||
in prev.runCommand "uboot.txt" {} ''
|
||||
cat > $out <<EOF
|
||||
# Create pmem
|
||||
fdt mknode / pmem@0x180000000
|
||||
fdt set /pmem@0x180000000 compatible "pmem-region"
|
||||
fdt set /pmem@0x180000000 reg <0x1 0x80000000 0x0 0x80000000>
|
||||
|
||||
# Reduce memory
|
||||
fdt set /memory@80000000 reg <0x00000000 0x80000000 0x00000001 0x00000000>
|
||||
|
||||
# Set kernel options
|
||||
setenv bootargs "root=/dev/ram0 loglevel=7 debug rw earlycon=sbi boot.trace console=hvc0 init=${init}"
|
||||
|
||||
EOF
|
||||
|
||||
# Populate the bood commands from the initrd size
|
||||
echo "# Boot system" >> $out
|
||||
echo "setenv ramdisk_size $(stat --format %s $(readlink -f ${initrd}))" >> $out
|
||||
echo 'booti ''${kernel_addr_r} ''${ramdisk_addr_r}:''${ramdisk_size} ''${fdtcontroladdr}' >> $out
|
||||
'';
|
||||
|
||||
opensbi = prev.opensbi.overrideAttrs (old: {
|
||||
makeFlags = old.makeFlags ++ [
|
||||
"PLATFORM=fpga/openpiton"
|
||||
|
Loading…
Reference in New Issue
Block a user