HiFive Unleashed

Please refer to soc.sifive, pull request is at https://github.com/openwrt/openwrt/pull/9980

  • First Linux-capable RISC-V development board
  • Four RISC-V cores
  • 8Gb DDR4 memory
  • 1Gbit ethernet
  • SD-slot
  • 32Mb QSPI (for FSBL/devicetree)
  • FMC port for later expansion (i.e. Microsemi PCIe expansion board)
  • Console via microUSB port

You can build an SD card image directly from buildroot for your device. The process below assumes your SD-card is at /dev/sdc.

  • Run make menuconfig
  • Select Target → SiFive U-based RISC-V boards
  • If you want to use the glibc-based build, go to Advanced configuration options → Toolchain options → C Library implementation, select Use glibc
  • Start the build
  • The built SD card image will be in bin/targets/sifiveu/generic (or generic-glibc)
  • zcat if=bin/targets/sifiveu/generic/openwrt-sifiveu-generic-sifive_unleashed-ext4-sdcard.img.gz |dd of=/dev/sdc

Serial is available via the microUSB port of the Unleashed board. Use the second serial port (i.e. ttyUSB1).

U-Boot SPL 2022.10-OpenWrt-r23110+6-dc2d4d7393 (May 27 2023 - 19:53:56 +0000) Trying to boot from MMC1 U-Boot 2022.10-OpenWrt-r23110+6-dc2d4d7393 (May 27 2023 - 19:53:56 +0000) CPU: rv64imafdc Model: SiFive HiFive Unleashed A00 DRAM: 8 GiB Core: 35 devices, 22 uclasses, devicetree: separate MMC: spi@10050000:mmc@0: 0 Loading Environment from SPIFlash... SF: Detected is25wp256 with page size 256 Bytes, erase size 4 KiB, total 32 MiB *** Warning - bad CRC, using default environment In: serial@10010000 Out: serial@10010000 Err: serial@10010000 Net: sifive-reset reset: failed to get cltx_reset reset eth0: ethernet@10090000 Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:3... Found U-Boot script /boot.scr 358 bytes read in 3 ms (116.2 KiB/s) ## Executing script at 8c100000 4640158 bytes read in 2834 ms (1.6 MiB/s) 8060 bytes read in 10 ms (787.1 KiB/s) Uncompressing Kernel Image Moving Image from 0x84000000 to 0x80200000, end=81327000 ## Flattened Device Tree blob at 8c000000 Booting using the fdt blob at 0x8c000000 Using Device Tree in place at 000000008c000000, end 000000008c004f7b Starting kernel ... [ 0.000000] Linux version 5.15.113 (builder@buildhost) (riscv64-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r23110+6-dc2d4d7393) 12.3.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Sat May 27 19:53:56 2023 [ 0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000 [ 0.000000] Machine model: SiFive HiFive Unleashed A00 [ 0.000000] earlycon: sbi0 at I/O port 0x0 (options '') [ 0.000000] printk: bootconsole [sbi0] enabled [ 0.000000] efi: UEFI not found. [ 0.000000] Zone ranges: [ 0.000000] DMA32 [mem 0x0000000080200000-0x00000000ffffffff] [ 0.000000] Normal [mem 0x0000000100000000-0x000000027fffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000080200000-0x000000027fffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x000000027fffffff] [ 0.000000] SBI specification v1.0 detected [ 0.000000] SBI implementation ID=0x1 Version=0x10002 [ 0.000000] SBI TIME extension detected [ 0.000000] SBI IPI extension detected [ 0.000000] SBI RFENCE extension detected [ 0.000000] SBI SRST extension detected [ 0.000000] SBI v0.2 HSM extension detected [ 0.000000] CPU with hartid=0 is not available [ 0.000000] CPU with hartid=0 is not available [ 0.000000] riscv: ISA extensions acdfim [ 0.000000] riscv: ELF capabilities acdfim [ 0.000000] percpu: Embedded 16 pages/cpu s24920 r8192 d32424 u65536 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 2063880 [ 0.000000] Kernel command line: console=ttySIF0,115200 earlycon=sbi root=/dev/mmcblk0p4 rootwait [ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear) [ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB) [ 0.000000] Memory: 8158108K/8386560K available (5804K kernel code, 4871K rwdata, 4096K rodata, 2120K init, 328K bss, 228452K reserved, 0K cma-reserved) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] rcu: Hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] CPU with hartid=0 is not available [ 0.000000] riscv-intc: unable to find hart id for /cpus/cpu@0/interrupt-controller [ 0.000000] riscv-intc: 64 local interrupts mapped [ 0.000000] plic: interrupt-controller@c000000: mapped 53 interrupts with 4 handlers for 9 contexts. [ 0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [4] [ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns [ 0.000001] sched_clock: 64 bits at 1000kHz, resolution 1000ns, wraps every 2199023255500ns [ 0.008642] Console: colour dummy device 80x25 [ 0.012997] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=10000) [ 0.023199] pid_max: default: 32768 minimum: 301 [ 0.029206] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear) [ 0.036433] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear) [ 0.047980] ASID allocator disabled [ 0.050942] rcu: Hierarchical SRCU implementation. [ 0.056018] EFI services will not be available. [ 0.060848] smp: Bringing up secondary CPUs ... [ 0.067816] smp: Brought up 1 node, 4 CPUs [ 0.075096] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.084262] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) [ 0.093179] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.099092] thermal_sys: Registered thermal governor 'step_wise' [ 0.117555] vgaarb: loaded [ 0.126033] SCSI subsystem initialized [ 0.129949] usbcore: registered new interface driver usbfs [ 0.135130] usbcore: registered new interface driver hub [ 0.140472] usbcore: registered new device driver usb [ 0.145701] pps_core: LinuxPPS API ver. 1 registered [ 0.150565] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.159797] PTP clock support registered [ 0.163811] EDAC MC: Ver: 3.0.0 [ 0.168604] clocksource: Switched to clocksource riscv_clocksource [ 0.178736] NET: Registered PF_INET protocol family [ 0.185771] IP idents hash table entries: 131072 (order: 8, 1048576 bytes, linear) [ 0.204830] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear) [ 0.212917] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.220524] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear) [ 0.230495] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear) [ 0.240580] TCP: Hash tables configured (established 65536 bind 65536) [ 0.246897] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear) [ 0.253764] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear) [ 0.261436] NET: Registered PF_UNIX/PF_LOCAL protocol family [ 0.266437] PCI: CLS 0 bytes, default 64 [ 0.271793] workingset: timestamp_bits=46 max_order=21 bucket_order=0 [ 0.289050] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.294493] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.366813] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249) [ 0.373744] io scheduler mq-deadline registered [ 0.378118] io scheduler kyber registered [ 3.876153] sifive_spi 10040000.spi: mapped; irq=14, cs=1 [ 3.881574] spi-nor spi0.0: is25wp256 (32768 Kbytes) [ 3.887829] sifive_spi 10050000.spi: mapped; irq=15, cs=1 [ 3.894391] macb 10090000.ethernet: Registered clk switch 'sifive-gemgxl-mgmt' [ 3.900951] macb 10090000.ethernet: GEM doesn't support hardware ptp. [ 3.909106] macb 10090000.ethernet eth0: Cadence GEM rev 0x10070109 at 0x10090000 irq 16 (70:b3:d5:92:f0:67) [ 3.918391] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 3.924690] ehci-pci: EHCI PCI platform driver [ 3.929295] usbcore: registered new interface driver usb-storage [ 3.935819] EDAC DEVICE0: Giving out device to module Sifive ECC Manager controller sifive_edac.0: DEV sifive_edac.0 (INTERRUPT) [ 3.946795] sdhci: Secure Digital Host Controller Interface driver [ 3.952821] sdhci: Copyright(c) Pierre Ossman [ 3.981574] mmc_spi spi1.0: SD/MMC host mmc0, no DMA, no WP, no poweroff [ 3.987606] sdhci-pltfm: SDHCI platform and OF driver helper [ 3.993728] hid: raw HID events driver (C) Jiri Kosina [ 3.998453] usbcore: registered new interface driver usbhid [ 4.003838] usbhid: USB HID core driver [ 4.008943] NET: Registered PF_INET6 protocol family [ 4.015312] Segment Routing with IPv6 [ 4.018287] In-situ OAM (IOAM) with IPv6 [ 4.022235] NET: Registered PF_PACKET protocol family [ 4.027181] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. [ 4.040283] 8021q: 802.1Q VLAN Support v1.8 [ 4.047039] Waiting for root device /dev/mmcblk0p4... [ 4.064521] mmc0: host does not support reading read-only switch, assuming write-enable [ 4.071769] mmc0: new SDHC card on SPI [ 4.076927] mmcblk0: mmc0:0000 SD4GB 3.71 GiB [ 4.098313] Alternate GPT is invalid, using primary GPT. [ 4.102899] mmcblk0: p1 p2 p3 p4 [ 4.192529] EXT4-fs (mmcblk0p4): mounted filesystem without journal. Opts: (null). Quota mode: disabled. [ 4.201295] VFS: Mounted root (ext4 filesystem) readonly on device 179:4. [ 4.213723] Freeing unused kernel image (initmem) memory: 2120K [ 4.248661] Run /sbin/init as init process [ 4.674267] init: Console is alive [ 5.416789] kmodloader: loading kernel modules from /etc/modules-boot.d/* [ 5.434573] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 5.442693] init: - preinit - [ 5.973130] random: jshn: uninitialized urandom read (4 bytes read) [ 6.003057] random: jshn: uninitialized urandom read (4 bytes read) [ 6.023128] random: jshn: uninitialized urandom read (4 bytes read) [ 6.087306] macb 10090000.ethernet eth0: PHY [10090000.ethernet-ffffffff:00] driver [Generic PHY] (irq=POLL) [ 6.096403] macb 10090000.ethernet eth0: configuring for phy/gmii link mode Press the [f] key and hit [enter] to enter failsafe mode Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level [ 8.194428] mount_root: mounting /dev/root [ 8.570577] EXT4-fs (mmcblk0p4): re-mounted. Opts: (null). Quota mode: disabled. [ 8.736905] urandom-seed: Seed file not found (/etc/urandom.seed) [ 8.789072] procd: - early - [ 9.509080] procd: - ubus - [ 9.539284] random: ubusd: uninitialized urandom read (4 bytes read) [ 9.561497] random: ubusd: uninitialized urandom read (4 bytes read) [ 9.567252] random: ubusd: uninitialized urandom read (4 bytes read) [ 9.575298] procd: - init - Please press Enter to activate this console. [ 9.903680] urngd: jent-rng init failed, err: 2 [ 9.913477] kmodloader: loading kernel modules from /etc/modules.d/* [ 10.313761] PPP generic driver version 2.4.2 [ 10.318133] NET: Registered PF_PPPOX protocol family [ 10.328260] kmodloader: done loading kernel modules from /etc/modules.d/* [ 11.391842] random: jshn: uninitialized urandom read (4 bytes read) [ 11.418778] random: jshn: uninitialized urandom read (4 bytes read) [ 11.438855] random: jshn: uninitialized urandom read (4 bytes read) [ 12.641110] random: jshn: uninitialized urandom read (4 bytes read) [ 19.278623] random: crng init done [ 19.281249] random: 65 urandom warning(s) missed due to ratelimiting [ 22.372371] macb 10090000.ethernet eth0: PHY [10090000.ethernet-ffffffff:00] driver [Generic PHY] (irq=POLL) [ 22.381560] macb 10090000.ethernet eth0: configuring for phy/gmii link mode [ 22.389763] br-lan: port 1(eth0) entered blocking state [ 22.394218] br-lan: port 1(eth0) entered disabled state [ 22.399859] device eth0 entered promiscuous mode BusyBox v1.36.1 (2023-05-27 19:53:56 UTC) built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- OpenWrt SNAPSHOT, r23110+6-dc2d4d7393 ----------------------------------------------------- === WARNING! ===================================== There is no root password defined on this device! Use the "passwd" command to set up a new password in order to prevent unauthorized SSH logins. -------------------------------------------------- root@OpenWrt:/#


This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2023/05/28 14:26
  • by wigyori