lowrisc-chip icon indicating copy to clipboard operation
lowrisc-chip copied to clipboard

ariane-v0.7 build issue

Open mathmax12 opened this issue 5 years ago • 51 comments

Dear Dr. Jonathan,

I tried to clone the ariane-v0.7 with "git clone -b ariane-v0.7 --recursive https://github.com/lowRISC/lowrisc-chip.git" And then got this issue:

Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb' Cloning into 'capstone'... fatal: unable to connect to git.qemu.org: git.qemu.org[0: 172.99.69.163]: errno=Connection timed out

fatal: clone of 'git://git.qemu.org/capstone.git' into submodule path 'capstone' failed Failed to recurse into submodule path 'qemu'

I checked the qemu folder under "https://github.com/lowrisc/qemu/tree/7ae23bc1974f8738b5009125873e43e6a8b1d848" The capstone @ 22ead3e and dtc @ e543880 are not accessible.
It seems these two links are expired.

Where can I get them?

mathmax12 avatar Sep 06 '19 18:09 mathmax12

Any recent version of QEMU would do here. The QEMU user executable is needed for the Debian bootstrap, originally the thread was about using buildroot. You can also download a prerelease of the complete root file system from the release area of GitHub.

jrrk avatar Sep 06 '19 19:09 jrrk

Thanks for the prompt reply. I manually download the qemu and remove the update operation. The qemu build passed.

Then another error happened.

make -C debian-riscv64 cpio
make[1]: Entering directory '/home/riscv_project/temp/lowrisc-chip2/lowrisc-chip/debian-riscv64'
make[1]: Warning: File 'work/makefile.inc' has modification time 34 s in the future
sudo debootstrap --arch=riscv64 --variant=minbase --keyring=/etc/apt/trusted.gpg \
      --include=gnupg --exclude=cgmanager sid work/debian-riscv64-chroot \
          http://deb.debian.org/debian-ports || exit 1
I: Retrieving InRelease 
I: Checking Release signature
E: **Release signed by unknown key (key id DA1B2CEA81DCBC61)**
work/makefile.inc:28: recipe for target 'work/debian-riscv64-chroot/usr/bin/apt' failed
make[1]: *** [work/debian-riscv64-chroot/usr/bin/apt] **Error** 1
make[1]: Leaving directory '/home/riscv_project/temp/lowrisc-chip2/lowrisc-chip/debian-riscv64'
Makefile:55: recipe for target 'linux-5.1.3-lowrisc/initramfs.cpio' failed
make: *** [linux-5.1.3-lowrisc/initramfs.cpio] **Error** 2

After added "--no-check-gpg" to the debootstrap, it unblocked me but gave me another error:

I: Extracting util-linux...
I: Extracting zlib1g...
W: Failure trying to run: chroot /home/riscv_project/lowrisc-chip_ariane0d7/lowrisc-chip2/debian-riscv64/work/debian-riscv64-chroot mount -t proc proc /proc
W: See /home/riscv_project/lowrisc-chip_ariane0d7/lowrisc-chip2/debian-riscv64/work/debian-riscv64-chroot/debootstrap/debootstrap.log for details
work/makefile.inc:28: recipe for target 'work/debian-riscv64-chroot/usr/bin/apt' failed
make[1]: *** [work/debian-riscv64-chroot/usr/bin/apt] Error 1
make[1]: Leaving directory '/home/riscv_project/lowrisc-chip_ariane0d7/lowrisc-chip2/debian-riscv64'
Makefile:55: recipe for target 'linux-5.1.3-lowrisc/initramfs.cpio' failed
make: *** [linux-5.1.3-lowrisc/initramfs.cpio] Error 2
"

The "debian-riscv64-chroot/debootstrap/debootstrap.log" shows:

chroot: failed to run command 'mount': Exec format error

I can see the mount command format is wrong but cann't find where is this command is used. Did I do something wrong?

mathmax12 avatar Sep 06 '19 20:09 mathmax12

There should be a command in the Makefile or subsidiary shell scripts to import any necessary keys. You can add any missing keys here. I’m away just now and not in a position to update it.

jrrk avatar Sep 07 '19 04:09 jrrk

It already added that key ( key id DA1B2CEA81DCBC61) in line 24 of https://github.com/lowRISC/debian-riscv64/blob/031543c7f555c23d8dfa588983d5e404d7fc7fbf/work/makefile.inc#L24.

mathmax12 avatar Sep 09 '19 07:09 mathmax12

Perhaps your version of O/S stores its keyring in a different location. You can also disable the key checking on the command line, but not recommended.

jrrk avatar Sep 09 '19 10:09 jrrk

Thank you for always giving my help.

It seems these key are not exist on the keyserver or expired?

lowrisc-chip3$sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 8B48AD6246925553 7638D0442B90D010 04EE7237B7D453EC DA1B2CEA81DCBC61
Executing: /tmp/tmp.PX9r48K7Op/gpg.1.sh --recv-keys
--keyserver
keyserver.ubuntu.com
8B48AD6246925553
7638D0442B90D010
04EE7237B7D453EC
DA1B2CEA81DCBC61
gpg: requesting key 46925553 from hkp server keyserver.ubuntu.com
gpg: requesting key 2B90D010 from hkp server keyserver.ubuntu.com
gpg: requesting key B7D453EC from hkp server keyserver.ubuntu.com
gpg: requesting key 81DCBC61 from hkp server keyserver.ubuntu.com

gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error

I tried to disable the key checking with --no-check-gpg and it passed the key checking.

Then I got another error:

I: Extracting util-linux...
I: Extracting zlib1g...
W: Failure trying to run: chroot /home/riscv_project/lowrisc-chip_ariane0d7/lowrisc-chip3/debian-riscv64/work/debian-riscv64-chroot **mount -t proc proc /proc**
W: See /home/riscv_project/lowrisc-chip_ariane0d7/lowrisc-chip3/debian-riscv64/work/debian-riscv64-chroot/debootstrap/debootstrap.log for details
work/makefile.inc:28: recipe for target 'work/debian-riscv64-chroot/usr/bin/apt' failed
make[1]: *** [work/debian-riscv64-chroot/usr/bin/apt] Error 1
make[1]: Leaving directory '/home/riscv_project/lowrisc-chip_ariane0d7/lowrisc-chip3/debian-riscv64'
Makefile:55: recipe for target 'linux-5.1.3-lowrisc/initramfs.cpio' failed
make: *** [linux-5.1.3-lowrisc/initramfs.cpio] Error 2

Here is the content of the debootstrap.log file: chroot: failed to run command 'mount': Exec format error How could I around this issue? Is there any user documentation for the ariane-v0.7 branch at this moment?

mathmax12 avatar Sep 09 '19 18:09 mathmax12

Sorry, I haven’t written the v0.7 specific stuff but the Debian configuration stuff is similar to the v0.6 release. Perhaps you forgot the riscv misc filesystem stuff?

jrrk avatar Sep 09 '19 20:09 jrrk

If you follow the step by step instructions for the Debian build on v0.6, you should be good for v0.7, or in the first instance use it instead. However both releases were based on Debian unstable so there is always going to be an issue with keys being updated. The latest fork was in August but I don’t think the riscv architecture made it into the mainline.

jrrk avatar Sep 10 '19 07:09 jrrk

Thanks, Dr. Jonathan. I followed the v0.6 and here is what I got,

sudo cp work/sources.list work/debian-riscv64-chroot/etc/apt
sudo chroot work/debian-riscv64-chroot apt-key adv --recv-keys --keyserver keyserver.ubuntu.com DA1B2CEA81DCBC61
Warning: apt-key output should not be parsed (stdout is not a terminal)
Executing: /tmp/apt-key-gpghome.uaN3Ah9ZVX/gpg.1.sh --recv-keys --keyserver keyserver.ubuntu.com DA1B2CEA81DCBC61
gpg: keyserver receive failed: Connection timed out
work/makefile.inc:28: recipe for target 'work/debian-riscv64-chroot/usr/bin/apt' failed
make: *** [work/debian-riscv64-chroot/usr/bin/apt] Error 2

root@msl-mip-dev18:/home/riscv_project/lowrisc-chip_ariane0d7/lowrisc-chip3/debian-riscv64$make cpio
rm -rf bin etc dev home lib proc sbin sys tmp usr mnt nfs root run init
mkdir -p bin etc dev home lib proc sbin sys tmp usr mnt nfs root run usr/bin usr/lib usr/sbin usr/share/perl5 usr/share/udhcpc lib/riscv64-linux-gnu usr/lib/riscv64-linux-gnu # usr/share/sysvinit
cp -p work/usr-share-udhcpc-default.script usr/share/udhcpc/default.script
cp -p work/debian-riscv64-chroot/sbin/mount.nfs ./sbin
cp: cannot stat 'work/debian-riscv64-chroot/sbin/mount.nfs': No such file or directory
work/makefile.inc:272: recipe for target 'init' failed
make: *** [init] Error 1

It seems the key hasn't been put into the mainline. But at the second time run of the "map cpio", a new error appears.

Thanks.

mathmax12 avatar Sep 10 '19 18:09 mathmax12

There are other key servers you can consult. Eg keyring.debian.org

jrrk avatar Sep 10 '19 19:09 jrrk

Sorry for bothering you so many times. But is still doesn't work... Is there a version without depending on the key?

mathmax12 avatar Sep 10 '19 22:09 mathmax12

You can use the lowrisc-quickstart repository to download pre-built images of Debian and anything else you need instead of building from upstream repositories. I will investigate the issues you have noticed on my return. Sorry for any instability.

jrrk avatar Sep 11 '19 04:09 jrrk

Thank you very much for always giving me help.

I have an idea to achieve my goal but not sure about it. The goal is booting the Linux system from the QSPI flash on the FPGA.

I know the lowrisc-chip/ariane-v0.7 has achieved this. Reading from the Makefile of the pulp-platform/ariane, I found the FPGA bitstream building and the building of bbl + Linux kernel are two independent steps. Is that correct? For my case, I already build the bbl + Linux kernel before with buildroot and it works with the pulp-platform/ariane FPGA bitstream. The only thing that doesn't work for me is pulp-platform/ariane FPGA bitstream doesn't support booting OS from QSPI flash.

So I am thinking to build the bitstream with the lowrisc-chip/ariane-v0.7. After that, use /write_cfgmem.tcl to generate the final .msc file for(bitstream + bbl + linux image).

Do you think this work?

Thanks.

mathmax12 avatar Sep 11 '19 23:09 mathmax12

You can mix and match the Ariane buildroot based root filing system with the bitstream from the LowRISC ariane-v0.7 release, provided that you ensure that the combined size is less than the maximum QSPI size. You need to use my bitstream or copy my QSPI peripheral to the main Ariane repository. You need to use my boot loader also. After that you can make the modifications for your target board. There is no requirement to use the Debian root file system, and indeed it will be difficult to cut it down to a suitable size. You will also need to remove any missing peripherals from the XML config file that the bootloader uses.

jrrk avatar Sep 12 '19 04:09 jrrk

ariane-v0.7 contains the more up to date material.

Sent from my iPhone

On 12 Sep 2019, at 20:05, mathmax12 [email protected] wrote:

Thanks, I will try with this.

BTW, I noticed there are two branches under the lowrisc-chip, i.e. ariane-v0.7 and lowrisc-chip-ariane-v0.7. Which one do you suggest?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

jrrk avatar Sep 12 '19 18:09 jrrk

Thanks.

I start with using the pre-build files from Lowrisc with dual Rocket/Ariane support and X-windows. The flow in https://www.lowrisc.org/docs/getting-started/ is followed. genesys2_ariane_xilinx.bit is used to program the genesys2 board.

But a hang happened. It seems it doesn't find A DHCP server. Do we need this one during booting?

[....] Configuring network interfaces...Internet Systems Consortium DHCP Client                                                                                                                                                                                                                                              4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

[  159.792450] Open device, request interrupt 3
Listening on LPF/eth0/00:18:3e:02:e3:c1
Sending on   LPF/eth0/00:18:3e:02:e3:c1
Sending on   Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
[  165.175628] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 19
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 12
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 12
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 1
No DHCPOFFERS received.
No working leases in persistent database - sleeping.
done.
[ ok ] Starting RPC port mapper daemon: rpcbind.
[FAIL] Starting NFS common utilities: statd idmapd failed!
[ ok ] Cleaning up temporary files....
[FAIL] startpar: service(s) returned failure: nfs-common ... failed!
INIT: Entering runlevel: 2
[info] Using makefile-style concurrent boot in runlevel 2.
[ ok ] Starting NTP server: ntpd.
Recovering nvi editor sessions.
none found.
[ ok ] Starting OpenBSD Secure Shell server: sshd.

mathmax12 avatar Sep 13 '19 00:09 mathmax12

If you know or suspect networking doesn’t work, you can disable the network start task and anything else you don’t want by modifying the root filing system on the workstation using a chroot - it will work similar to a native Debian system. When you chroot into your SD-Card the QEMU user mode executable should launch automatically if you followed the instructions to enable it in the misc filesystem.

jrrk avatar Sep 13 '19 05:09 jrrk

Thanks. I set up a DHCP server on the host. Now the connection between the GenesysII board (Ariane) and host works.


DHCPREQUEST for 10.1.30.44 on eth0 to 255.255.255.255 port 67
DHCPACK of 10.1.30.44 from 10.1.30.250
bound to 10.1.30.44 -- renewal in 19760 seconds.
done.
[ ok ] Starting RPC port mapper daemon: rpcbind.
[FAIL] Starting NFS common utilities: statd idmapd failed!
[ ok ] Cleaning up temporary files....
[FAIL] startpar: service(s) returned failure: nfs-common ... failed!
INIT: Entering runlevel: 2
[info] Using makefile-style concurrent boot in runlevel 2.
[ ok ] Starting NTP server: ntpd.
Recovering nvi editor sessions.
none found.
[ ok ] Starting OpenBSD Secure Shell server: sshd.

But it stopped there. No login line. I can ssh [email protected] to the board and it required a password to log in. I know the first time we can not ssh to log in the board system. But this at least tells me the Ethernet connection is good. Why I didn't get a login interface? Any suggestions will be appreciated.

mathmax12 avatar Sep 17 '19 00:09 mathmax12

sshd does not allow root to login without a secret key exchange. You could copy your public key to /root/.ssh/authorized_keys on the SD-Card (partition 2) to see if it helps. Also test your configuration with genesys2_rocket_xilinx.bit to see if you have an older version of Ariane with the floating point divider bug. You can also modify your root filing system to boot straight into a shell. And you will in due course want to build your own bitstream from the latest sources, in which case you can substitute your own custom startup script. Finally I haven’t got X windows working in Ariane yet, it only boots to the command line. You might prefer to work with the root filing system that comes with the ariane-sdk repository.

jrrk avatar Sep 17 '19 04:09 jrrk

Thanks a lot for always giving me suggestions. I appreciate that. I replaced the root filing system with the one from ariane-sdk and it worked.

I want to build the FPGA RTL and regenerate the bitstream. But I can not find the definition of $(ariane_pkg) $(util) $(src) $(fpga_src) in line https://github.com/lowRISC/lowrisc-chip/blob/64986933820090fb647ac7066079a100e62b66f4/Makefile#L72. Where can I find the definition for them in the branch ariane-v0.7?

Thanks.

mathmax12 avatar Sep 18 '19 21:09 mathmax12

This Makefile contains the statement

include sources.inc

It should get included and defined automatically if you do

make genesys2_ariane

in this directory. If this doesn't work perhaps your version of make is incompatible.

jrrk avatar Sep 19 '19 05:09 jrrk

Thanks. I noticed that I missed that file on my local. Sorry about that.

When I run the "make genesys2_ariane", an error was thrown at the [line ](riscv-pk/serial/vmlinux-serial: riscv-pk/serial/Makefile $(LINUX)/.config) in the Makefile.

make -C linux-5.1.3-lowrisc ARCH=riscv CROSS_COMPILE=/opt/riscv/bin/riscv64-unknown-elf- CONFIG_SERIAL_8250_CONSOLE=y CONFIG_VT_CONSOLE=n CONFIG_LOWRISC_VGA_CONSOLE=n -j 4 make[1]: Entering directory '/home/riscv_project/lowrisc-chip_ariane0d7/lowrisc-chip4/linux-5.1.3-lowrisc' HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o ... ... VDSOLD arch/riscv/kernel/vdso/vdso-dummy.o CC init/init_task.o CC arch/riscv/kernel/cpu.o VDSOLD arch/riscv/kernel/vdso/vdso.so.dbg /opt/riscv/lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: -shared not supported collect2: error: ld returned 1 exit status LD arch/riscv/kernel/vdso/vdso-syms.o OBJCOPY arch/riscv/kernel/vdso/vdso.so /opt/riscv/bin/riscv64-unknown-elf-objcopy: 'arch/riscv/kernel/vdso/vdso.so.dbg': No such file arch/riscv/kernel/vdso/Makefile:50: recipe for target 'arch/riscv/kernel/vdso/vdso.so' failed make[3]: *** [arch/riscv/kernel/vdso/vdso.so] Error 1 scripts/Makefile.build:486: recipe for target 'arch/riscv/kernel/vdso' failed make[2]: *** [arch/riscv/kernel/vdso] Error 2 make[2]: *** Waiting for unfinished jobs.... CC init/version.o Makefile:1051: recipe for target 'arch/riscv/kernel' failed make[1]: *** [arch/riscv/kernel] Error 2 make[1]: *** Waiting for unfinished jobs.... AR init/built-in.a make[2]: warning: Clock skew detected. Your build may be incomplete. make[1]: *** wait: No child processes. Stop. Makefile:48: recipe for target 'riscv-pk/serial/vmlinux-serial' failed make: *** [riscv-pk/serial/vmlinux-serial] Error 2

This may be related to the cross-compiler from riscv-gnu-toolchain-1. I noticed the riscv-gnu-toolchain is different from the riscv-gnu-toolchain. I tried to build the cross-compiler with both toolchains but get the error as above.

Did I miss something?

mathmax12 avatar Sep 20 '19 18:09 mathmax12

My version of the tool chain incorporates a hack for this problem (on certain host O/S) which unfortunately is not worthy to upstream. If you build my version it should solve the problem.

jrrk avatar Sep 20 '19 20:09 jrrk

From the Ariane-SDK make file I found the riscv64-unknown-linux-gnu- is recommended.

CROSS_COMPILE=/opt/riscv/bin/riscv64-unknown-elf- is an embedded elf toolchain. riscv64-unknown-linux-gnu- instead should be used from Linux toolchain.

This works.

mathmax12 avatar Sep 20 '19 22:09 mathmax12

The Unknown-linux-gnu- variant is intended to compile programs that run under Linux, the unknown-elf- variant is for bare metal programs such as the boot loader and Linux itself. This distinction prevents programs from making use of facilities such as system calls that are not available under bare metal environments. Of course the Linux kernel never does this, so it is safe to use the same compiler for kernel and userland. Linux under RISCV occasionally traps into machine mode, so it is not totally true to describe it as running on bare metal.

jrrk avatar Sep 21 '19 05:09 jrrk

I see. Thanks a lot!

mathmax12 avatar Sep 23 '19 22:09 mathmax12

I wonder is there a way to emerge the boot.bin and rootfs.tar.xz to one file. I want to use the write_cfgmem.tcl to combine the above-generted file and the FPGA bitstream file into one *.mcs file.

mathmax12 avatar Sep 24 '19 19:09 mathmax12

The existing build environment already merges the .bit file and boot.bin into a single file, you probably noticed that already. When you build Linux, you can replace the .cpio file with any root filing system of your choice. However, beware size limits on the combined .mcs file, on the Genesys2, the total including bitstream will be limited to 16MBytes or so (from memory, check this figure) if it needs to fit in QSPI memory.

jrrk avatar Sep 24 '19 19:09 jrrk

Thanks a lot.

I didn't find the command line to generate the "boot.bin" , but in the Build Berkeley boot loader page I noticed that the riscv-pk/serial/bbl actually is the "boot.bin".

If this is correct, then the write_cfgmenm.tcl in the lowrisc-chip/ariane-v0.7 generates a *mcs file contains everything (bitstream, linux kernel, initramfs, Berkeley boot loader) except the real rootfs. Is that corret?

I use the makefile under the arianev0.7+ relased initramfs.cpio build a bbl (riscv-pk/serial/bbl) and cp this to the SD card as the boot.bin instead of the release one. But the booting stopped at the below:

`Hello from Ariane! Please wait a moment...
Relocating to DDR memory
Hello World!
swp[0] = 0
swp[1] = DEADBEEF
swp[2] = 0
swp[3] = 0
swp[4] = 0
Setup MAC addr
QSPI OEM[0] = 0
QSPI OEM[1] = 18
QSPI OEM[2] = 3e
QSPI OEM[3] = 2
QSPI OEM[4] = e3
QSPI OEM[5] = c1
Switch setting = 0,0
Random seed = 0
Switch setting = 0,0
Random seed = 0
Switch setting = 0,0
Random seed = 0
Switch setting = 0,0
Random seed = 0
SD boot

u-boot based first stage boot loader
MMC:   mmc created at 86800248, host = 86800200
lowrisc_sd: 0
Device: lowrisc_sd
Manufacturer ID: 3
OEM: 5344
Name: SC16G 
Bus Speed: 5000000
High Capacity: Yes
Capacity: 14.8 GiB
Bus Width: 4-bit

0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
100:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
120:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
140:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
160:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
180:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1a0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ef be ad de 00 00 80 00
1c0:  01 01 0c 3f 1f 20 00 08 00 00 ff ff 00 00 00 00 01 21 83 3f 20 20 00 08 01 00 00 00 40 00 00 00
1e0:  01 21 82 3f a0 20 00 08 41 00 00 00 10 00 00 00 81 21 83 1f e0 59 00 08 51 00 00 c4 89 01 55 aa
Load boot.bin into memory
load elf to DDR memory
|Section[0]: elfn(80000000,0x1000,0x6f38);
|Section[1]: elfn(80007000,0x8000,0x10a0);
|memset(800080a0,0,0x9fe0);
|Section[2]: elfn(80200000,0x200000,0x820f2c);
|Boot the loaded program at address 80000000...

Am I right? or did I miss something?

mathmax12 avatar Sep 25 '19 01:09 mathmax12

The boot sequence looks to be valid, but BBL never prints anything. I would expect the machine configuration to be printed if that option is enabled. I cannot comment further as I don’t know what, if anything, has been changed. For example, if the wrong version of riscv-pk was checked out, it might not recognise the UART hardware configuration, and so stuff could be happening, but it would be invisible.

jrrk avatar Sep 25 '19 07:09 jrrk