36 lines
1.3 KiB
Plaintext
36 lines
1.3 KiB
Plaintext
Booting Yggdrasil OS on SiFive HiFive Unmatched Rev B RISC-V board:
|
|
|
|
* TODO: proper format for initrd image
|
|
|
|
Prerequisites:
|
|
|
|
* OpenSBI + u-boot (can use the u-boot from the Freedom U SDK that comes with the board)
|
|
* yggdrasil-kernel.bin
|
|
* initrd.img
|
|
|
|
Steps:
|
|
|
|
1. Copy yggdrasil-kernel.bin and initrd.img into some directory and start a TFTP server there
|
|
2. Connect to HFU's serial port, ethernet and enter u-boot
|
|
3. Run the following commands in u-boot:
|
|
|
|
### If using DHCP
|
|
|
|
=> setenv autoload no
|
|
=> setenv initrd_addr_r 0x90000000
|
|
=> dhcp
|
|
=> tftpboot ${initrd_addr_r} <SERVER IP>:initrd.img
|
|
=> tftpboot ${loadaddr} <SERVER IP>:yggdrasil-kernel.bin
|
|
=> tftpboot ${fdt_addr_r} <SERVER IP>:hifive-unmatched-a00.dtb
|
|
=> fdt resize
|
|
=> booti ${loadaddr} ${initrd_addr_r}:60000000 ${fdt_addr_r}
|
|
|
|
Two-liner (server is 13.0.0.1, board is 13.0.0.2):
|
|
|
|
setenv ipaddr 13.0.0.2;setenv initrd_addr_r 0x90000000;tftpboot ${initrd_addr_r} 13.0.0.1:initrd.img;tftpboot ${loadaddr} 13.0.0.1:yggdrasil-kernel.bin;tftpboot ${fdt_addr_r} 13.0.0.1:hifive-unmatched-a00.dtb;fdt resize
|
|
booti ${loadaddr} ${initrd_addr_r}:60000000 ${fdt_addr_r}
|
|
|
|
One-liner without initrd
|
|
|
|
setenv ipaddr 13.0.0.2;tftpboot ${loadaddr} 13.0.0.1:yggdrasil-kernel.bin;tftpboot ${fdt_addr_r} 13.0.0.1:hifive-unmatched-a00.dtb;fdt resize;booti ${loadaddr} - ${fdt_addr_r}
|