The device sounds like a little computer with a colour display, USB connection, SD card and bluetooth wireless (I would have liked a wireless lan, but never mind!). Most significantly, Amazon are selling them for less than £10, so I thought it was worth getting one to play with. It arrived very quickly so I started to play with it yesterday.
The instructions at http://sites.google.com/site/repurposelinux/df3120 fall into two distinct parts:
- Produce a cross compiler for the board, and use it to compile a Linux kernel, busybox and other things needed to construct a basic root filesystem. This is all done by a single clever script (minifs). It actually took a bit of doing to get it to work on my Ubuntu 10.10 system - when it fails you have to look at the log files to see why it has failed. The most noticeable thing was that I had to install gtk-doc from a source tarball because Ubuntu does not have a package for it - everything else (bison, flex etc.) were installed from ubuntu packages.
The script produced an iso image of a root filesystem. - Install a boot loader on the device. The instructions have you download and compile the u-boot boot loader for the device, and package it into a false firmware upgrade file (.plf) file. There is some black magic required to copy the file file onto the device in the right directory etc.
The boot loader installation apparently worked. If you just switch on the device without touching anything, it boots normally. If you hold down the centre and left buttons (when viewed from the front of the device) as you power it on, the screen goes blank, which is what the instructions said would happen if u-boot tries to boot linux.
In the 'black screen' mode, connecting the device to my computer creates a /dev/ttyACM0 device, which sounds promising for this being the u-boot serial console.
I have tried using a terminal emulator program to connect to the device via ttyACM0 (picocom /dev/ttyACM0, or cu -l /dev/ttyACM0). In both cases the program connects without error, but I do not see anything on the display or in the terminal.
The copy of u-boot seems to have come from openMoko, so I tried their wiki (http://wiki.openmoko.org/wiki/U-boot). It sounds like what I am doing should have worked - tried a few baud rates, but I am getting nothing, rather than gibberish - I think I'll read through the u-boot configuration that I just installed and try to work it out.....
Did you get this to boot?
ReplyDeleteI am in the same situation. I have the linux image on ext2 SD card, but it still doesnt boot. I am considering opening the thing to add a serial port so I can watch the boot log...
You have to write the img file to the SD card using something like dd in linux. What you've basically done is the same as saving an ISO file to a CD.
ReplyDeleteThank you (both?) for your comments. No I did not get it working (just slipped off my 'current projects' list and I forgot about it...).
ReplyDeleteThe answer may well be the way I copied the filesystem onto the SD card - I will have another look into it.
Sorry, the second comment was me.
ReplyDeleteSomeone on HaD mentioned that the minifs.img file when dd'd to the SD card was an EXT3 partition and he had to copy everything off, format to EXT2 and copy it back (I think) before uboot would recognise it and boot up and show the framebuffer with Tux.
Hope that helps.
I wrote an article in spanish explaining how to install linux and access to the shell: http://www.sistemasorp.es/2012/01/19/probando-el-marco-digital-parrot-df3120-parte-1/
ReplyDelete1-Format the SD to ext2 using makefs.ext2.
2-Copy the .img file to the SD card using dd.
3-Without the SD card inserted, turn on the frame, connect the usb and create the update folder in the root of the mounted disk. Then copy the .plf file into the directory and quit the usb securely. You will see the four squares.
4-Turn off the frame.
5-Insert the SD card, press the two buttons, turn on the frame and release the two buttons. You will see in a few seconds to Tux.
6-Connect the usb wire to the frame and to your computer.
7-A new ethernet card named Ethernet Gadget will be added to your operating system. Configure it with 172.16.61.2 ip and 255.255.255.0 netmask.
8-Do a telnet to 172.16.61.1 ip and you will have a shell session waiting for commands.
I think I will have to investigate further another day - I get the ethernet device, and configure it to the 172.16.61.2 ip address as you suggest, but I can not see a 172.16.61.1. I suppose the firmware I have got could be using a different ip address - will have to investigate...
ReplyDeleteUmmm, I don't know what is happening. Try to turn on the frame, wait a few seconds, plug the usb wire and try again to ping that IP. The firmware I used is the same that is published in the web page now.
ReplyDeleteThanks for the tips, it helped me out with my frame. Currently I can get it to the step that it is detected as Internet wired device, but I can't telnet yet. I will try to pu some tips soon.
ReplyDeleteHello,
ReplyDeletegreat! my parrot now works under linux!
Is there any way to force it to boot automaticaly linux and not to have to press the left¢er buttons?
thanks