I don't understand Milk-V Duo

Hi I’m a teenager messing around with SBCs for the first time and I am not much technical. I am technical enough to understand what’s the purpose of the Duo and Risc V in general. Non-technical in the sense that I am new to coding or even compiling anything at all.
I don’t understand how to use the milk-v duo! I bought this back in june or july and I have been able to ssh into this check how much storage it has or how “cat /proc/cpuinfo” but from I haven’t gotten any progress, how will I do any development on this? It overwhelms me. I tried doing sudo apt update but sudo isn’t recognised “not found”. This is pretty much alien to me. Though I wish to learn the risc v assembly, i want to learn low level coding for a change! I absolutely love the idea that computers work by compiling high level langauges into low level like C or something then ASM and if i can learn risc v ASM, i would love to run code on this.

But I don’t understand milk v duo! I would appreciate support :slight_smile:

Sincerly
Reset

alien is a tool to port RPM packages to Debian-based systems, or something.
You have your expectations, and without understanding what you’re doing and/or what to expect, you’re pretty much guessing around.

Yes, you do not understand. No, it is not Milk-V Duo you don’t understand. No matter which SBC you’re trying, you’re talking about some OS’s components. Not the board, nor the SoC.

By the way, it’d be good to start in the docs first, right?

3 Likes

Hi @reset7396 ,
I think, without offending anyone, it save to say that the Milk V Duo is not the most beginner friendly SBC out there. RaspberryPi and OrangePi etc are much more beginner friendly and you will find many more guides and resources for these boards. That being said, Milk V Duo exposures you to more of what is going on under the hood and can serve as really good platform to get a more detailed understanding of embedded Linux.

What would you like to build with your Duo? You mentioned you wonna work (play) directly Risc V assembler language. I guess in principle you should be able to do this with the system you already have?

As to your question on why sudo apt update returns not found. I assume that you are using the Milk V Linux image on your device. Bear in mind that this image is compiled with Buildroot (it is not Linux distribution) so programs like apt will not be included. Working directly with Buildroot can be very rewarding in terms of knowledge but it can also be a bit tidius. To add additional programs to your Buildroot image, you can either include them when you compile your Buildroot image or compile them interactively on your running system with tinyCC or other available compiler. As alternative, you may want to consider using an image based on one of many popular Linux distros available for Milk V, see this link. If you want a distro that uses apt as package manager I would recommend the Debian image (I use this one on my DuoS boards with emmc) or alternatively the Ubuntu image.

Good luck!

3 Likes

Hello,
I understand reset7396’s frustration, the Duo is a neat little package but the Linux image is not very friendly, at least for me who am a Raspberry Pi and Pine64 user. I plan to build an image where I can install software and compile directly from the board, but is someone knows about an image like that it would be great. You also cannot access the Internet from the Duo, that would also help a lot.

3 Likes

First, you can actually access the internets from a Duo board; yet it may be not very safe.
One option is soldering an 8p8c connector to the Ethernet port pins — a short cut of a patch cord, or a jack, or a mini Ethernet extension board.
Can also use the IO Expansion board (existing on the market or made yourself) as well.
Alternatively, can utilize the USB networking we already have and route traffic thru the computer you’re connecting your Duo board to.
There can be other ways too.

1 Like

Thr Milk-V DUO buildroot modified kernel mixed with Ubuntu 24.04.1 riscv64 rootfs for use with Meshtastic

sudo apt-get update works just found some bug

2 Likes

The Alpine Linux image that’s available from the various 3rd party links can be configured to use the ethernet on the IOB (or the onboard ethernet on the Duo S) fairly easily, and has apk available. From there you need to set it to pull the correct date via ntp (each time it starts) and then you can update apk and install software and do work on it via SSH.

2 Likes

Hello.

If you want to do something with Milk-V Duo, You must build your own custom Buildroot OS image.
The buildroot OS is an embedded Linux distribution, It doesn’t include sudo and something as default image.
If you want to install software you want to use, You need to refer this article(Japanese) or this official documentation to build your own image.

and, you said that you want to learn about RISC-V Development, I recommend that you create a virtual machine(or WSL2 or something), install linux, then install the RISC-V toolchains to develop. (If you want a native development environment, you can choose a more powerful sbc than duo, like VisionFive2, Milk-V Jupiter etc.)

4 Likes

@reset7396 : There are a lot of good comments so far.

But compared to you, I am at the opposite end of things, being a 70+ yr old retired Unix programmer and looking to gain some new and interesting skills.

The irony is, that I find this difficult too. As a programmer writing C language data parsers and then mostly ever increasing in size data processing systems using Shell scripts and awk code, I knew my business problems and I could solve them writing programs.

I had taken some classes about OS design and thought I knew how computers worked. For being a programmer, yes I did, but I had no clue to how much skill and work is required to get a system up and running for production (stuff that makes money for a business and you get in trouble if it stops working (-; ).

All the computing systems I used were either sold as a ready-to-use package (think PCs etc) OR when working with Sun hardware, there was a team of sysadmins that ordered, unboxed, assembled, configured, tested, re-tested, deployed and supported the advance hardware machines I was programing. (I likely missing many other sysadmin sub-specialties (-; )

So the issue you’re facing is that you need to learn a lot about a lot of things (assembly, Linux cmd-line use AND all the tools available there, as well asconfiguring many subsystems and systemd, etc, AND the particulars of Assembly for Risc-V.

My experience is that once you understand the underlying concepts AND get good on one system, it is much easier to transfer this skill to another system.

Personally, I am pushing forward to learn more about Single Board Computer (SBCs), and have two books that I think are high quality, BUT are not directly about Milk-V or even Risc-V…

Mastering Embedded LInux Programming : Third Edition by Frank Vasquez and Chris Simmonds : 708 pages plus the index! — while you may be able to dig directly into assembly coding, you still need a system to run it on, so you need to learn some basics besides asm. This book is about the build tool chain needed for building a Linux system that will work on a (small) SBC using the Yocto build system. While it is a relatively generic resource, it is designed to work with the available resources and code found on the BeagleBone Black SBC.

What I said about learning it well on one system applies here. You do need a 700+ page book to understand all the parts needed to build a system that will run on an SBC and unless someone assembles tools to work for the Milk-V as a drop in replacement for instructions in this book, you’ll have an extra layer of deduction required at all steps as you read a book like this.

OR, slightly shorter, at 539 pages (plus index), (-;! is

Exploring Beaglebone : Tools and Techniques for Building with Embedded Linux by Derek Molloy.

Again, another BeagleBone focused book, but much should be transferable once you gain some mastery. I have spent less time with this book, but as the publisher is Wiley, my experience with Wiley books is they are very high quality and very well edited. (This book also gets good reviews)

Other posters here will, I’m sure have feedback on what I’m saying, (I could be wrong on a scale of 1-10 anywhere along that scale, as I’m still digging in).

OK, that’s enough for one go. I may come back with a hierarchy of skills, but how anyone decides to acquire various tech skills has a lot of variables to it: 1) what is your end goal, 2) what paths can you see, working your way to an end goal, 3) what skills to all paths need, 4) what skills does your end goal need, 5) what skills for the various alternate paths. OK, OK, ouch! sorry you asked, right (-;? Good luck!

2 Likes

I first became aware of the Milk-V Duo from this YouTube posting.

It does mention and discuss (briefly) the Risc-V code.

1 Like