【OpenWrt On Milkv-duo】Milkv-duo 运行 OpenWrt 系统

先说结论,Openwrt在milk-duo上跑起来了!!

...
[    6.231321] kmodloader: - pppox - 1
[    6.261922] kmodloader: - slhc - 0
[    6.772273] random: crng init done
[    6.775805] random: 1 urandom warning(s) missed due to ratelimiting



BusyBox v1.36.1 (2023-12-05 01:46:36 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r24428-e294c7850c
 -----------------------------------------------------
=== 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:/# cat /proc/cp[   14.741947] bm-dwmac 4070000.ethernet eth0: PHY [stmmac-0:00] driver [Generic PHY] (irq=POLL)
[   14.778741] dwmac1000: Master AXI performs any burst length
[   14.784573] bm-dwmac 4070000.ethernet eth0: No Safety Features support found
[   14.791912] bm-dwmac 4070000.ethernet eth0: IEEE 1588-2002 Timestamp supported
[   14.799392] bm-dwmac 4070000.ethernet eth0: configuring for phy/rmii link mode
[   14.921863] br-lan: port 1(eth0) entered blocking state
[   14.927308] br-lan: port 1(eth0) entered disabled state
[   14.933073] device eth0 entered promiscuous mode
root@OpenWrt:/# cat /proc/cpuinfo 
processor       : 0
hart            : 0
isa             : rv64imafdvcsu
mmu             : sv39

root@OpenWrt:/# free -m
              total        used        free      shared  buff/cache   available
Mem:          24216        9456        5576          56        9184       10604
Swap:             0           0           0
root@OpenWrt:/# 

源码都在这里:

CI也建好了,固件也编译好了,在Action里面,写到SD卡里面去就可以启动了,如果后期失效了,可以看看最新的编译情况。

说一下想法,这个Openwrt基于Sophgo linux 5.10并且用的是官方SDK的toolchain,在跑应用的时候不存在不兼容的问题,理论上官方SDK buildroot里面sample都可以在这个系统里面通过ipk进行安装。
平台已经搭建好了,希望大家多讨论好的想法,我会尽可能满足大家。

另外这个软件也支持硬件十万为什么的huashanpi,同样的玩法,写到SD卡里面就能启动。

6 Likes

大佬牛啊,这个感觉玩头很大,感谢大佬的开源!

你好,小白请教,你这个仓库该怎么编译了,没看到feeds等等

小白请教能给一个编译方法吗?下载下来发现不是完整的openwrt

Follow the steps found here - https://github.com/Pillar1989/VizOS/blob/vizos/.github/workflows/main.yml

From
name: Compile Milk-V Duo Image

My Duo booted up:

1 Like

Great, thank you!

I was able to get it to build, but noticed there’s no default USB profile, like the buildroot image has.

Are you using the UART0 to connect? I’m having the problem some people are where TX works fine (I can see the boot messages), but RX doesn’t seem to work so I can’t login via console.

2 Likes

No, did not use UART at all with OpenWRT

1 Like

Did it come up in RNDIS or CDC mode automatically? I don’t see any USB activity at all using the OpenWRT build directions, but everything works fine when I build via buildroot, or flash the Alpine image

1 Like

No, it wont not included/enabled

1 Like

你好,这个编译方法及过程在仓库的/vizos/.github/workflows/main.yml里面。 :smiling_face_with_three_hearts:


Starting kernel ...

[    0.000000] Linux version 5.10.4 (zue@ubuntu) (riscv64-unknown-linux-musl-gcc                                                                          (Xuantie-900 linux-5.10.4 musl gcc Toolchain V2.6.1 B-20220906) 10.2.0, GNU ld                                                                          (GNU Binutils) 2.35) #0 Tue Dec 5 01:46:36 2023
[    0.000000] earlycon: sbi0 at I/O port 0x0 (options '')
[    0.000000] printk: bootconsole [sbi0] enabled
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000080000000-0x0000000083f3ffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x0000000083f3ffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x0000000083f3ffff]
[    0.000000] On node 0 totalpages: 16192
[    0.000000]   DMA32 zone: 253 pages used for memmap
[    0.000000]   DMA32 zone: 0 pages reserved
[    0.000000]   DMA32 zone: 16192 pages, LIFO batch:3
[    0.000000] SBI specification v0.3 detected
[    0.000000] SBI implementation ID=0x1 Version=0x9
[    0.000000] SBI v0.2 TIME extension detected
[    0.000000] SBI v0.2 IPI extension detected
[    0.000000] SBI v0.2 RFENCE extension detected
[    0.000000] riscv: ISA extensions acdfimsuv
[    0.000000] riscv: ELF capabilities acdfimv
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 15939
[    0.000000] Kernel command line: rootfstype=ext4 root=/dev/mmcblk0p2 rootwait rw console=ttyS0,115200 earlycon=sbi riscv.fwsz=0x80000 l               oglevel=9
[    0.000000] Dentry cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.000000] Sorting __ex_table...
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 24120K/64768K available (3655K kernel code, 3224K rwdata, 2048K rodata, 96K init, 273K bss, 40648K reserved, 0K cma               -reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] riscv-intc: 64 local interrupts mapped
[    0.000000] plic: interrupt-controller@70000000: mapped 101 interrupts with 1 handlers for 2 contexts.
[    0.000000] random: get_random_bytes called from start_kernel+0x2e6/0x42c with crng_init=0
[    0.000000] riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [0]
[    0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x5c40939b5, max_idle_ns: 440795202646 ns
[    0.000009] sched_clock: 64 bits at 25MHz, resolution 40ns, wraps every 4398046511100ns
[    0.008416] Calibrating delay loop (skipped), value calculated using timer frequency.. 50.00 BogoMIPS (lpj=250000)
[    0.019115] pid_max: default: 32768 minimum: 301
[    0.024087] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.031486] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.041189] ASID allocator initialised with 65536 entries
[    0.047467] devtmpfs: initialized
[    0.056679] early_time_log: do_initcalls: 4706754us
[    0.062502] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.072625] futex hash table entries: 256 (order: 0, 6144 bytes, linear)
[    0.080206] NET: Registered protocol family 16
[    0.085426] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.092722] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.114452] OF: /gpio@03020000/gpio-controller@0: could not find phandle
[    0.121406] OF: /gpio@03021000/gpio-controller@1: could not find phandle
[    0.128338] OF: /gpio@03022000/gpio-controller@2: could not find phandle
[    0.135350] OF: /gpio@03023000/gpio-controller@3: could not find phandle
[    0.142313] OF: /gpio@05021000/gpio-controller@4: could not find phandle
[    0.150810] clk reset: nr_reset=64 resource_size=8
[    0.211888] clocksource: Switched to clocksource riscv_clocksource
[    0.224215] NET: Registered protocol family 2
[    0.229465] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.238095] TCP established hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.245940] TCP bind hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.253181] TCP: Hash tables configured (established 512 bind 512)
[    0.259751] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.266499] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.273988] NET: Registered protocol family 1
[    0.282671] workingset: timestamp_bits=46 max_order=13 bucket_order=0
[    0.296544] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.302544] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.313422] Serial: 8250/16550 driver, 5 ports, IRQ sharing disabled
[    0.328474] printk: console [ttyS0] disabled
[    0.341966] printk: console [ttyS0] enabledx4140000 (irq = 14, base_baud = 1562500) is a 16550A
[    0.341966] printk: console [ttyS0] enabled
[    0.350516] printk: bootconsole [sbi0] disabled
[    0.350516] printk: bootconsole [sbi0] disabled
[    0.363910] libphy: Fixed MDIO Bus: probed
[    0.368593] bm-dwmac 4070000.ethernet: IRQ eth_wake_irq not found
[    0.374970] bm-dwmac 4070000.ethernet: IRQ eth_lpi not found
[    0.380915] bm-dwmac 4070000.ethernet: Hash table entries set to unexpected value 0
[    0.388972] bm-dwmac 4070000.ethernet: no reset control found
[    0.397761] bm-dwmac 4070000.ethernet: User ID: 0x10, Synopsys ID: 0x37
[    0.404656] bm-dwmac 4070000.ethernet:       DWMAC1000
[    0.409525] bm-dwmac 4070000.ethernet: DMA HW capability register supported
[    0.416755] bm-dwmac 4070000.ethernet: RX Checksum Offload Engine supported
[    0.423974] bm-dwmac 4070000.ethernet: COE Type 2
[    0.428839] bm-dwmac 4070000.ethernet: TX Checksum insertion supported
[    0.435603] bm-dwmac 4070000.ethernet: Normal descriptors
[    0.441184] bm-dwmac 4070000.ethernet: Ring mode enabled
[    0.446692] bm-dwmac 4070000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[    0.454448] bm-dwmac 4070000.ethernet: device MAC address a6:78:ef:99:99:d2
[    0.493058] libphy: stmmac: probed
[    0.497914] bm-dwmac 4070000.ethernet: Cannot get clk_500m_eth!
[    0.504154] bm-dwmac 4070000.ethernet: Cannot get gate_clk_axi4!
[    0.511797] sdhci: Secure Digital Host Controller Interface driver
[    0.518234] sdhci: Copyright(c) Pierre Ossman
[    0.522757] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.528803] cvi:sdhci_cvi_probe
[    0.578006] mmc0: SDHCI controller on 4310000.cv-sd [4310000.cv-sd] using ADMA 64-bit
[    0.586133] cvi_proc_init cvi_host 0x(____ptrval____)
[    0.592669] NET: Registered protocol family 10
[    0.606504] Segment Routing with IPv6
[    0.610397] NET: Registered protocol family 17
[    0.615117] 8021q: 802.1Q VLAN Support v1.8
[    0.634872] dw-apb-uart 4140000.serial: forbid DMA for kernel console
[    0.648755] Waiting for root device /dev/mmcblk0p2...
[    0.716472] mmc0: new high speed SDHC card at address 0001
[    0.723432] mmcblk0: mmc0:0001 SD16G 29.1 GiB
[    0.731049]  mmcblk0: p1 p2
[    0.782449] random: fast init done
[    0.851487] EXT4-fs (mmcblk0p2): recovery complete
[    0.857473] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    0.865936] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    0.873230] devtmpfs: mounted
[    0.876419] Freeing unused kernel memory: 96K
[    0.881556] Run /sbin/init as init process
[    0.885847]   with arguments:
[    0.888916]     /sbin/init
[    0.891711]   with environment:
[    0.894976]     HOME=/
[    0.897416]     TERM=linux
[    0.900214] early_time_log: run_init_process: 5550300us
[    0.969795] init: Console is alive
[    1.079414] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    1.090943] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    1.108896] init: - preinit -
[    1.354802] random: jshn: uninitialized urandom read (4 bytes read)
[    1.403613] random: jshn: uninitialized urandom read (4 bytes read)
[    1.430444] random: jshn: uninitialized urandom read (4 bytes read)
[    1.538753] bm-dwmac 4070000.ethernet eth0: PHY [stmmac-0:00] driver [Generic PHY] (irq=POLL)
[    1.559493] dwmac1000: Master AXI performs any burst length
[    1.565315] bm-dwmac 4070000.ethernet eth0: No Safety Features support found
[    1.572639] bm-dwmac 4070000.ethernet eth0: IEEE 1588-2002 Timestamp supported
[    1.580609] bm-dwmac 4070000.ethernet eth0: configuring for phy/rmii 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
[    3.643091] bm-dwmac 4070000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[    3.651676] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    3.712368] mount_root: mounting /dev/root
[    3.717154] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[    3.745092] urandom-seed: Seeding with /etc/urandom.seed
[    3.780045] bm-dwmac 4070000.ethernet eth0: Link is Down
[    3.793449] procd: - early -
[    4.360715] procd: - ubus -
[    4.414573] urandom_read: 3 callbacks suppressed
[    4.414581] random: ubusd: uninitialized urandom read (4 bytes read)
[    4.426894] random: ubusd: uninitialized urandom read (4 bytes read)
[    4.433590] random: ubusd: uninitialized urandom read (4 bytes read)
[    4.441930] procd: - init -
Please press Enter to activate this console.
[    4.998278] kmodloader: loading kernel modules from /etc/modules.d/*
[    5.036218] kmodloader: 40 modules could not be probed
[    5.041734] kmodloader: - crc-ccitt - 0
[    5.062114] kmodloader: - libcrc32c - 0
[    5.066291] kmodloader: dependency not loaded nf_defrag_ipv6
[    5.082117] kmodloader: dependency not loaded nf_defrag_ipv4
[    5.088161] kmodloader: - nf_conntrack - 2
[    5.102115] kmodloader: - nf_defrag_ipv4 - 0
[    5.106728] kmodloader: - nf_defrag_ipv6 - 0
[    5.111342] kmodloader: dependency not loaded nf_conntrack
[    5.132110] kmodloader: - nf_flow_table - 1
[    5.136636] kmodloader: dependency not loaded nf_flow_table
[    5.152114] kmodloader: dependency not loaded nf_tables
[    5.157713] kmodloader: - nf_flow_table_inet - 2
[    5.172117] kmodloader: dependency not loaded nf_flow_table
[    5.178075] kmodloader: dependency not loaded nf_tables
[    5.202109] kmodloader: - nf_flow_table_ipv4 - 2
[    5.207083] kmodloader: dependency not loaded nf_flow_table
[    5.222114] kmodloader: dependency not loaded nf_tables
[    5.227713] kmodloader: - nf_flow_table_ipv6 - 2
[    5.242118] kmodloader: dependency not loaded nf_conntrack
[    5.247987] kmodloader: - nf_nat - 1
[    5.251922] kmodloader: - nf_reject_ipv4 - 0
[    5.272109] kmodloader: - nf_reject_ipv6 - 0
[    5.276725] kmodloader: dependency not loaded nfnetlink
[    5.292114] kmodloader: dependency not loaded libcrc32c
[    5.297713] kmodloader: - nf_tables - 2
[    5.301918] kmodloader: - nfnetlink - 0
[    5.322121] kmodloader: dependency not loaded nf_nat
[    5.327452] kmodloader: dependency not loaded nf_tables
[    5.342116] kmodloader: - nft_chain_nat - 2
[    5.346644] kmodloader: dependency not loaded nf_tables
[    5.362116] kmodloader: - nft_counter - 1
[    5.366463] kmodloader: dependency not loaded nf_tables
[    5.382116] kmodloader: dependency not loaded nf_conntrack
[    5.387984] kmodloader: - nft_ct - 2
[    5.391930] kmodloader: dependency not loaded nf_tables
[    5.412110] kmodloader: - nft_fib - 1
[    5.416101] kmodloader: dependency not loaded nft_fib
[    5.421520] kmodloader: dependency not loaded nf_tables
[    5.442112] kmodloader: dependency not loaded nft_fib_ipv4
[    5.447981] kmodloader: dependency not loaded nft_fib_ipv6
[    5.462108] kmodloader: - nft_fib_inet - 4
[    5.466546] kmodloader: dependency not loaded nft_fib
[    5.482002] kmodloader: dependency not loaded nf_tables
[    5.487607] kmodloader: - nft_fib_ipv4 - 2
[    5.502090] kmodloader: dependency not loaded nft_fib
[    5.507515] kmodloader: dependency not loaded nf_tables
[    5.532110] kmodloader: - nft_fib_ipv6 - 2
[    5.536547] kmodloader: dependency not loaded nf_tables
[    5.552119] kmodloader: dependency not loaded nf_flow_table
[    5.558081] kmodloader: dependency not loaded nf_conntrack
[    5.572111] kmodloader: - nft_flow_offload - 3
[    5.576908] kmodloader: dependency not loaded nf_tables
[    5.592115] kmodloader: - nft_hash - 1
[    5.596197] kmodloader: dependency not loaded nf_tables
[    5.601793] kmodloader: - nft_limit - 1
[    5.622159] kmodloader: dependency not loaded nf_tables
[    5.627759] kmodloader: - nft_log - 1
[    5.631748] kmodloader: dependency not loaded nf_nat
[    5.662105] kmodloader: dependency not loaded nf_tables
[    5.667707] kmodloader: dependency not loaded nf_conntrack
[    5.702110] kmodloader: - nft_masq - 3
[    5.706190] kmodloader: dependency not loaded nf_tables
[    5.711787] kmodloader: dependency not loaded nf_nat
[    5.742105] kmodloader: dependency not loaded nf_conntrack
[    5.747971] kmodloader: - nft_nat - 3
[    5.771990] kmodloader: dependency not loaded nf_tables
[    5.777593] kmodloader: - nft_numgen - 1
[    5.781853] kmodloader: dependency not loaded nf_tables
[    5.822133] kmodloader: - nft_objref - 1
[    5.826393] kmodloader: dependency not loaded nf_tables
[    5.851991] kmodloader: - nft_quota - 1
[    5.856167] kmodloader: dependency not loaded nf_tables
[    5.861764] kmodloader: dependency not loaded nf_nat
[    5.892103] kmodloader: dependency not loaded nf_conntrack
[    5.897972] kmodloader: - nft_redir - 3
[    5.922106] kmodloader: dependency not loaded nf_tables
[    5.927706] kmodloader: - nft_reject - 1
[    5.932796] urngd: v1.0.2 started.
[    5.952006] kmodloader: dependency not loaded nft_reject
[    5.957714] kmodloader: dependency not loaded nf_tables
[    5.992114] kmodloader: dependency not loaded nf_reject_ipv4
[    5.998168] kmodloader: dependency not loaded nf_reject_ipv6
[    6.022115] kmodloader: - nft_reject_inet - 4
[    6.026828] kmodloader: dependency not loaded nft_reject
[    6.052024] kmodloader: dependency not loaded nf_tables
[    6.057528] kmodloader: dependency not loaded nf_reject_ipv4
[    6.092007] kmodloader: - nft_reject_ipv4 - 3
[    6.096616] kmodloader: dependency not loaded nft_reject
[    6.122007] kmodloader: dependency not loaded nf_tables
[    6.127509] kmodloader: dependency not loaded nf_reject_ipv6
[    6.152010] kmodloader: - nft_reject_ipv6 - 3
[    6.156617] kmodloader: dependency not loaded ppp_generic
[    6.192015] kmodloader: dependency not loaded crc-ccitt
[    6.197518] kmodloader: - ppp_async - 2
[    6.201582] kmodloader: dependency not loaded slhc
[    6.232005] kmodloader: - ppp_generic - 1
[    6.236258] kmodloader: dependency not loaded pppox
[    6.241395] kmodloader: dependency not loaded ppp_generic
[    6.272012] kmodloader: - pppoe - 2
[    6.275724] kmodloader: dependency not loaded ppp_generic
[    6.281398] kmodloader: - pppox - 1
[    6.312048] kmodloader: - slhc - 0



BusyBox v1.36.1 (2023-12-05 01:46:36 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|[    6.858915] random: crng init done
  |_
 |   -   ||  _  |  -__|   [    6.864245] random: 1 urandom warning(s) missed due to ratelimiting
  ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r24428-e294c7850c
 -----------------------------------------------------
=== 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@(none):/#
root@(none):/#
root@OpenWrt:/#

本地虚拟机+Ubuntu可以顺利编译通过,同时可以在Milkv-duo启动运行,唯一遗憾的没有luci界面

我移植了luci,烧写到tf卡中,使用浏览器打开,没法开发luci配置页面,一直转圈

1 Like

你好,请问你是怎么将luci编译进去的呀?我这边将luci勾选进去发现编译失败了。请问你是怎么编译的呀?

安装luci

openwrt$ ./scripts/feeds update packages luci
openwrt$ ./scripts/feeds install -a -p luci

在 make menuconfig 选择以下项目

LuCI →
Collections →
< * > luci

1 Like

大佬,我照着您的配置勾选了这一项以后再次编译会报错诶,会出现缺少变量resolv的错误 :rofl:,而且我也不知道这怎么解决。如果您的配置文件还在的话,希望您能分享一下您当初的配置文件,十分感谢。还有啊,您当时使用有网络连接吗?当时能检测到网线连接和断开,但是无法连接上网络。时隔一个月再次打扰您,真不好意思。

Please. Imagen for download , tanks