diff options
-rw-r--r-- | docs/platform/sifive_fu540.md | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/docs/platform/sifive_fu540.md b/docs/platform/sifive_fu540.md index 286abdd..96be734 100644 --- a/docs/platform/sifive_fu540.md +++ b/docs/platform/sifive_fu540.md @@ -23,13 +23,8 @@ This will let the board boot only hart1 instead of default 1-4. Building SiFive Fu540 Platform ----------------------------- -As of this writing, the required Linux kernel and U-Boot patches are not -accepted in mainline. Please follow the below instructions to cherry-pick -them into your repository. - -[U-Boot patches](../firmware/payload_uboot.md) - -[Linux kernel patches](../firmware/payload_linux.md) +In order to boot SMP Linux in U-Boot, Linux kernel higher than v.5.1-rc1 and +latest U-Boot(at least HEAD should ffb269ab30db or after) should be used. **Linux Kernel Payload** @@ -54,6 +49,13 @@ Without SMP support enabled in U-Boot: make PLATFORM=sifive/fu540 FW_PAYLOAD_PATH=<u-boot_build_dir>/u-boot.bin FU540_ENABLED_HART_MASK=0x02 ``` +Generate the uImage from Linux Image. +``` +mkimage -A riscv -O linux -T kernel -C none -a 0x80200000 -e 0x80200000 -n Linux -d \ + <linux_build_directory>/arch/riscv/boot/Image \ + <linux_build_directory>/arch/riscv/boot/uImage +``` + **U-Boot & Linux Kernel as a single payload** A single monolithic image containing both U-Boot & Linux can also be used if network boot setup is @@ -62,7 +64,7 @@ not available. 1. Generate the uImage from Linux Image. ``` mkimage -A riscv -O linux -T kernel -C none -a 0x80200000 -e 0x80200000 -n Linux -d \ - <linux_build_directory>arch/riscv/boot/Image \ + <linux_build_directory>/arch/riscv/boot/Image \ <linux_build_directory>/arch/riscv/boot/uImage ``` @@ -148,7 +150,7 @@ setenv gatewayip <ipaddress of the network gateway> 5. Load the Linux kernel image from the tftp server. ``` -tftpboot ${kernel_addr_r} /sifive/fu540/uImage +tftpboot ${kernel_addr_r} <uImage path in tftpboot directory> ``` 6. Load the ramdisk image from the tftp server. This is only required if ramdisk @@ -156,7 +158,7 @@ tftpboot ${kernel_addr_r} /sifive/fu540/uImage of the kernel or loaded from an external storage by kernel. ``` -tftpboot ${ramdisk_addr_r} /sifive/fu540/uRamdisk +tftpboot ${ramdisk_addr_r} <ramdisk path in tftpboot directory> ``` 7. Set the boot command-line arguments. |