Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| risc-v [2022/02/28 10:31] – [Generated image/boot/ artifacts] rpjday | risc-v [2022/03/01 14:09] (current) – [meta-riscv layer [abbreviated]] rpjday | ||
|---|---|---|---|
| Line 27: | Line 27: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| - | == meta-riscv layer [abbreviated] | + | == meta-riscv layer [abbreviated, unnecessary for QEMU] |
| * [[https:// | * [[https:// | ||
| Line 37: | Line 41: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| - | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| Line 88: | Line 91: | ||
| </ | </ | ||
| - | Why create a kernel containing-payload if you don't use it? | + | Why create a kernel containing-payload if you don't use it? Also, appears that the serial console is '' |
| == tmp/ | == tmp/ | ||
| Line 137: | Line 140: | ||
| == linux-yocto_5.15.bb | == linux-yocto_5.15.bb | ||
| - | Carefully selected snippets: | + | Snippets: |
| < | < | ||
| Line 145: | Line 148: | ||
| SRC_URI = " | SRC_URI = " | ||
| | | ||
| + | |||
| + | # Functionality flags | ||
| + | KERNEL_EXTRA_FEATURES ?= " | ||
| + | KERNEL_FEATURES: | ||
| + | KERNEL_FEATURES: | ||
| </ | </ | ||
| == Generated RISC-V image/boot/ artifacts | == Generated RISC-V image/boot/ artifacts | ||
| Line 249: | Line 257: | ||
| </ | </ | ||
| + | == On the running QEMU session | ||
| + | |||
| + | < | ||
| + | root@qemuriscv64:/ | ||
| + | CONFIG_RISCV=y | ||
| + | CONFIG_RISCV_SBI=y | ||
| + | CONFIG_RISCV_ERRATA_ALTERNATIVE=y | ||
| + | CONFIG_RISCV_ISA_C=y | ||
| + | CONFIG_RISCV_BASE_PMU=y | ||
| + | CONFIG_RISCV_SBI_V01=y | ||
| + | # CONFIG_SERIAL_EARLYCON_RISCV_SBI is not set | ||
| + | # CONFIG_HVC_RISCV_SBI is not set | ||
| + | CONFIG_RISCV_TIMER=y | ||
| + | CONFIG_RISCV_INTC=y | ||
| + | </ | ||
| = opensbi | = opensbi | ||
| Line 257: | Line 280: | ||
| RISCV_SBI_PLAT ?= " | RISCV_SBI_PLAT ?= " | ||
| RISCV_SBI_PAYLOAD ?= " | RISCV_SBI_PAYLOAD ?= " | ||
| + | |||
| + | UBOOT_ENTRYPOINT: | ||
| + | UBOOT_ENTRYPOINT: | ||
| </ | </ | ||
| Line 303: | Line 329: | ||
| < | < | ||
| + | require opensbi-payloads.inc | ||
| + | |||
| + | inherit autotools-brokensep deploy | ||
| + | |||
| + | SRCREV = " | ||
| + | SRC_URI = " | ||
| + | " | ||
| + | |||
| + | S = " | ||
| + | |||
| EXTRA_OEMAKE += " | EXTRA_OEMAKE += " | ||
| # If RISCV_SBI_PAYLOAD is set then include it as a payload | # If RISCV_SBI_PAYLOAD is set then include it as a payload | ||
| Line 330: | Line 366: | ||
| FILES:${PN} += "/ | FILES:${PN} += "/ | ||
| FILES:${PN} += "/ | FILES:${PN} += "/ | ||
| - | </ | ||
| + | COMPATIBLE_HOST = " | ||
| + | INHIBIT_PACKAGE_STRIP = " | ||
| + | |||
| + | SECURITY_CFLAGS = "" | ||
| + | </ | ||
| == bitbake -e opensbi | == bitbake -e opensbi | ||
| Line 347: | Line 387: | ||
| == git/ | == git/ | ||
| + | |||
| + | With (default) kernel payload: | ||
| < | < | ||
| Line 355: | Line 397: | ||
| -rwxr-xr-x. 1 rpjday rpjday 24799752 Feb 27 05:28 fw_payload.bin | -rwxr-xr-x. 1 rpjday rpjday 24799752 Feb 27 05:28 fw_payload.bin | ||
| -rwxr-xr-x. 1 rpjday rpjday 23640912 Feb 27 05:28 fw_payload.elf | -rwxr-xr-x. 1 rpjday rpjday 23640912 Feb 27 05:28 fw_payload.elf | ||
| + | </ | ||
| + | |||
| + | With '' | ||
| + | |||
| + | < | ||
| + | -rwxr-xr-x. 2 rpjday rpjday | ||
| + | -rwxr-xr-x. 2 rpjday rpjday | ||
| + | -rwxr-xr-x. 2 rpjday rpjday | ||
| + | -rwxr-xr-x. 2 rpjday rpjday | ||
| + | -rwxr-xr-x. 2 rpjday rpjday 2713192 Mar 1 06:10 fw_payload.bin | ||
| + | -rwxr-xr-x. 2 rpjday rpjday 1554336 Mar 1 06:10 fw_payload.elf | ||
| </ | </ | ||