Linux

From Milkymist Wiki

Jump to: navigation, search

Right now Milkymist ships with the RTEMS operating system. Linux actually does boot on the device, but the special capabilities of the Milkymist are not ported to work. We hope that this can be made to happen.

Our Linux development is focused here: https://github.com/milkymist/linux-milkymist

Contents

[edit] The Importance of Linux

From Werner:

200% agreed on the importance of having Linux - already for escaping
USB driver hell. (Well, the major hell. You'll still get the minor
hell of fishing exciting new bugs out of the host controller.)

But I think you're putting the cart before the horse when it comes to
the distribution. The choice of distribution should be driven by the
availability of able hands who will do all that messy maintenance work.
That may be OpenWrt, but maybe it's OE, Debian, or such.

I wouldn't worry so much about which distribution you end up with, as
long as someone else is taking care of maintaining it ;-)

[edit] Latest

Here is what I know about Linux on Milkymist One:

For over a year, Takeshi Matsuya in Japan worked on it, but I
haven't seen commits from him after March 2011.
Sources are here
https://github.com/tmatsuya/linux-2.6/commits/master
Lars started doing some work in December/January, and lately
has been continuing, I think. You can see Lars committing stuff
just yesterday... There may also have been others helping, Michael
Walle maybe? I am not sure.

Many people told me they think Linux only make sense and will take
off with an MMU, which first has to be added to the Milkymist SoC.
Latest status was that there was some planning, but afaik nobody
started implementing yet
http://lists.milkymist.org/pipermail/devel-milkymist.org/2011-April/001418.html
http://lists.milkymist.org/pipermail/devel-milkymist.org/2011-April/001472.html

I am pretty sure that Linux will boot on M1 today, it did already
many months ago and Lars and others have been doing more work since
then. However, I am not sure about the status of peripheral support
(drivers) on M1. It could be that quite a few are missing -
video-in, mimi, dmx, ?

That's all I know, hope it helps.
Wolfgang

[edit] OpenWrt

From Lars Peter Clausen:


Well it works more or less, I can boot a kernel and run my OpenWrt userland.
Though peripheral support is limited to the basics. So VGA, Keyboard and
network will work but none of the fancy stuff that makes the milkymist unique,
like dmx or rendering.

you can find openwrt images, SDK, etc. here with folder name openwrt-milkymist.minimal-yyyymmdd-HHMM. source code is here

[edit] boot OpenWrt

  1. wget http://fidelio.qi-hardware.com/~xiangfu/build-milkymist/milkymist-openwrt.minimal-20120127-1251/openwrt-lm32-root.ext4 -O initrd.bin
  2. wget http://fidelio.qi-hardware.com/~xiangfu/build-milkymist/milkymist-openwrt.minimal-20120127-1251/simpleImage.milkymist_one -O boot.bin
  3. copy them to your tftp folder like /var/lib/tftpboot, change your IP to 192.168.0.14
  4. press 'ESC' while m1 booting. type 'netboot'
  5. boot log
I: MAC address: 10:e2:d5:00:00:00
I: Press Q or ESC to abort boot
I: Booting from network...
I: MAC      : 10:e2:d5:00:00:00
I: Local IP : 192.168.0.42
I: Remote IP: 192.168.0.14
I: Successfully downloaded 2257896 bytes from boot.bin over TFTP
I: Unable to download cmdline.txt over TFTP
I: No command line parameters found
I: Successfully downloaded 4217856 bytes from initrd.bin over TFTP
I: Booting...
P�b
B�K
P
D�I�M�N�C
c
inux version 3.0.0+ (xiangfu@fidelio) (gcc version 4.5.4 20110526 (prerelease) (Linaro GCC 4.5-2011.06-0) ) #1 Thu Aug 4 17:54:19 CEST 2011
bootconsole [early0] enabled
... ...
NET: Registered protocol family 15
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 4096KiB [1 disk] into ram disk... done.
VFS: Mounted root (ext2 filesystem) readonly on device 1:0.
devtmpfs: mounted
Freeing unused kernel mem: 104k freed
init started: BusyBox v1.18.5 (2011-08-04 17:45:52 CEST)

BusyBox v1.18.5 (2011-08-04 17:45:52 CEST) hush - the humble shell
Enter 'help' for a list of built-in commands.

/ # help
Built-in commands:
------------------
.         Run commands in a file
bg        Resume a job in the background
break     Exit from a loop
cd        Change directory
continue  Start new loop iteration
... ...

[edit] TODO

Please help us by listing what needs to be done and what you want to help with.

  • MMU
  • Minimac2 driver (current uclinux support old version)
  • AC97 driver
  • USB device/host driver (also need work around softusb core)
  • Memorycard driver
  • VGA frame-buffer driver
This section is incomplete. You can help by expanding it.
Personal tools