[IMAGE] A13(-WIFI) Debian (now Ubuntu) + xfce flashable (Updated: 08 Mar: R18)

Started by jwischka, December 17, 2012, 06:36:15 AM

Previous topic - Next topic

jwischka

There are a variety of images running around, but all of them seem to have some issues right out of the box. Additionally, most of the instructions for making cards require Linux, which can be a pain if you don't have it. To streamline the process a bit, I decided to put together a Debian Ubuntu image that has working support for WPA, xfce installed, and a VNC server set to start on boot. All packages are updated as of today (25 January). Additionally, security has been improved a bit, as you are no longer signing into root all the time, but have a separate user account.

Additionally, there are two different kernels installed in the image, and they are now switchable via a script on the card. The card will boot with the "video" kernel, which enables output to the VGA port, at the expense of about 100MB of memory headed to the MALI and the CEDAR video decoder. The second kernel is the "headless" version, which gives no video output, but gives you all of the memory on the board. Your choice. You can switch between them using two scripts - "go-headless" and "go-video" in the user folder - note these need to be run with sudo (i.e., "sudo ./go-headless").

This requires a 4GB card. Do not ask if you can flash it on a 2GB card, or if I can make one for a 2GB card. If you want to use a larger card, you can use resize2fs to increase the main partition.

Included features:

wpa-supplicant (change /etc/network/interfaces to enter your ssid/key)
xfce4
tightvncserver (starts on boot)
various dev tools (python, gcc, etc)
sudo
g++
500mb swap file
custom (non-debug) kernel
swappable kernels to give more memory for those of us who need it
Support for somewhat close to 512MB memory (actually 512MB in the headless release).

Version history and changelog:
R1 (16 Dec 2012): Initial release
R2 (17 Dec 2012): Re-zipped so people can actually use it, switched to a non-debug kernel, added make (how the crap did I not think to do that the first time?!?), added sysstat, removed screensaver from xfce (was causing lock-up), updated packages, cleared apt-get cache
R3 (8 Jan 2013): Updated kernel to 3.0.57. Changed rootfs to ext4. Journaling is still enabled, as it's a really good idea on embedded systems. All packages updated.
R4 (9 Jan 2013): Recompiled kernel with correct speed for I2C. Did not install i2c-tools, but that will be in the next release, if I think about it. Also should have working VGA support now - though this may disappear going forward. Also, recompiled u-boot to give us an additional 64MB of RAM.
R5 (17 Jan 2013): Recompiled kernel with module support for various USB ethernet adapters. Updated all packages.
R6 (19 Jan 2013): Recompiled kernel with (hopefully) UVC support. Added ntp, wicd, and a few other goodies.
R7 (19 Jan 2013): Recompiled kernel / u-boot. Now have ~480MB usable RAM. Highly recommended upgrade for all users.
R8 (20 Jan 2013): Moved kernel to 3.4.24. Please report any instability. Also now offering video version (with VGA support) and headless version (no output except to serial console). Upgraded packages, blah blah.
R9 (21 Jan 2013): Rebuilt kernel after I accidentally deleted everything. Oops. Somehow USB networking support got lost along the way, but should be working now. R8 is officially deprecated, and will not be available going forward. At some point I'm going to start deprecating some of these other images, but will keep them online for now.
R10 (23 Jan 2013): Kernel changes to disable powersave for onboard wireless, and onboard wireless support built into kernel. Should see greater wireless stability, though may not be perfect. Report any wireless issues.
R11 (25 Jan 2013): We are now on Ubuntu. Specifically a build based on the linaro-developer branch. Image sizes will now be smaller downloads, owing to me building the card from scratch. Still requires a 4GB card, though. Both kernels are now included in the same release, and you can switch between them using "go-headless" and "go-video" scripts in the user folder (video kernel default). Various packages may be missing now, due to building more or less from scratch. If I'm missing one of your packages, let me know. Firefox and Filezilla are now installed by default.
R12 (27 Jan 2013): LCD support got lost along the way. My apologies, but it should be back in now. Also enabled framebuffer support, which should improve video performance, but also eats some extra memory. We are down to about 330MB now, which is not nearly so much as I'd like, but I don't see much that can be done about it, other than asking Olimex for a 1GB board. A bug was causing the board to not be able to boot, which has been fixed by setting u-boot's boot delay to zero. Not the best solution, but one that works. A few minor package updates. As always, let me know what doesn't work.
R13-14: Existed on my boards, but not on yours. Merging various changes into R15.
R15 (09 Feb 2013): Updated kernel to 3.4.29. Video kernel now compiled with Mali/Cedar support baked in, rather than as a module. Hopefully this will fix video problems. Please report.
R17 (14 Feb 2013): Added support for USB->serial adapter.
R18 (08 Mar 2013): Added FTDI support. Added wireless drivers for video kernel. Added preliminary cpufreqd support, but not working at the moment. Don't hold your breath.


Downloading image:
Get current version (R18) here.

Old images: 
Get previous version (R17) here.
Get previous version (R15) here.
Get previous version (R12) here.
Get previous version (R11) here.
Get previous video version (R10) here.
Get previous headless version (R10) here.
R9 images have flaky wireless, and are deprecated as well. Get R10.
R8 images are deprecated. Get R10 instead.
Get previous version (R7) here.
Get previous version (R6) here.
Get previous version (R5) here.
Get previous version (R4) here.
Get previous version (R3) here.
Get previous version (R2) here.

Kernels: (for those who don't want to flash the whole image every time).
R18 Video Kernel
R18 Headless Kernel

How to install:

Windows:
Download Win32 Disk Imager.
Insert card
Start program
Select file
Click "write"

Linux:
dd to card

Logging in
User and password are olinuxino/olinuxino. Sudo has been included, so you shouldn't have any problems becoming su. Password for VNC is "password".


Obligatory information
This is provided with absolutely zero warranty. If it screws up your card, your board, or your life, that's not my fault. I am not responsible if you put this on a mission critical application and it costs you money, or causes someone harm. This was made for my personal use, and I'm sharing it with you in case it is helpful. If you are planning on using it in an industrial application, do your own due diligence.

I'll try to fix stuff that doesn't work and update it, if you tell me what it is. That being said, I have a day job, and this is being done on the side. I'll try to be responsive, but don't expect things to be fixed tomorrow.


My XXXXXX stopped working
Tough cookies. Let me know, and I'll see if I can get a fix. I don't make any promises, but I'm trying to keep a better record of what I've changed.

Can you add XXXXXX feature?
Maybe. If it doesn't break other stuff. And if it's not too much effort. Post / send me a PM and we'll see what we can do.

Does XXXXXX work?
I have a Rev. B board and a power supply. I do not know if ethernet adapters, LCD screens, USB keyboards, daq's, etc work. Download, flash, try, report back. If it doesn't work, see previous two questions.

My video isn't working!?!
You are probably using the headless kernel. "sudo /home/olinuxino/go-video"

Why would anyone want a headless version?!?
Because many of us plan on using our boards for applications where having an extra 32-64MB of memory would be a lot more useful than video output that (literally) no one will ever look at. Because some people are planning on using video, I will attempt to maintain that branch, but it will not be my primary concern.

My board doesn't boot!
You made a backup, right? No, seriously. I don't guarantee this will work on your board. I don't guarantee that the next revision will work on your board either. There seem to be gremlins out there that are making some boards behave in what I might call a non-deterministic manner. I'll do my best to get things working for you, but again, this is not my day job, and it's on the side.

I tried to compile XXXXXX driver, but it gives me an error
You need to compile your whole kernel. There are instructions!

Do you get paid for this?
No. So be nice to me, please.

Things I'd like to do in the future:
Fix the wireless packet dropping issues
Figure out why we have such a high IO wait rate. Seems a little excessive, even for an SD card.
Boot messages to VGA during bootup.
?

Feedback and comments welcome.

jwischka

Update (17 Dec):

It appears as though XFCE's screensaver may be causing the whole system to hang. I am investigating, but if this turns out to be the case I will update the image with a non-screensaver enabled version.

Let me know if you encounter any stability problems.

dangerous1

Hi
   Great idea preparing ready-to-go images, I've done a little of that with the R-PI.

However after several attempts of using this image I have the same error messages with winrar, any suggestions?


!   C:\Downloads\olinuxino_xfce.zip: Unknown method in olinuxino_xfce.img
!   C:\Downloads\olinuxino_xfce.zip: No files to extract

Dangerous1

jwischka

Quote from: dangerous1 on December 17, 2012, 08:36:19 PM
Hi
   Great idea preparing ready-to-go images, I've done a little of that with the R-PI.

However after several attempts of using this image I have the same error messages with winrar, any suggestions?


!   C:\Downloads\olinuxino_xfce.zip: Unknown method in olinuxino_xfce.img
!   C:\Downloads\olinuxino_xfce.zip: No files to extract

Dangerous1

The file was compressed with 7-zip in what I think should be a standard zip archive. I know it's annoying for the response to be "can you try with 7-zip and see if it works", but if you can and it does, then I'll try to re-zip with something a little more standard (like the standard Windows zip). If not, it may be a bad download.

If you could check, I would certainly appreciate it.

Thanks


dangerous1

Hi jwischka
   Thanks for the lightening response and the advice, yep, 7-zip worked perfectly, this is the first time I've come-across incompatability with Winrar but we learn everyday.

I will try the image and give some feedback later.

Many thanks Brian

jwischka

Quote from: dangerous1 on December 17, 2012, 09:02:00 PM
Hi jwischka
   Thanks for the lightening response and the advice, yep, 7-zip worked perfectly, this is the first time I've come-across incompatability with Winrar but we learn everyday.

I will try the image and give some feedback later.

Many thanks Brian

Thanks. I'll update the link with something that will work for everyone. Appreciate the feedback.

jwischka

Image (and link) updated.

Changes:
Using Dropbox instead of Google Drive (faster upload).
Used a zip format that hopefully everyone can open.
Added make (seriously... how did I not do that in R1?)
Update all packages (as of 17 Dec)
Added sysstat package
Default kernel parameters are for compiling the kernel in debug mode. No more of that. Hopefully will see some speed improvements.


bennybap

Hi jwischka,

I flashed your image to an 4 gb SD card. It does not work, keeps hanging after the kernel has started.
The image from the wiki works ok.


jwischka

Can you give me the error message? It's working fine on a freshly flashed card here.

Thanks

dangerous1

Hi jwischka
   It works very well for me, after the 7-zip thing flashed image and it worked first time.
I just added some utilities I needed and bingo.


Many thanks for taking some of the pain out it.
Dangerous1

mike1968

Hello jwischka,
Thank you for you work.

Output from terminal at uart works, but how can i enable vga?
Iam new in linux

Best regards
Michael

jwischka

Mike - I suspect that may be a kernel option that isn't being set properly. My first thought would be (if you're able) to compile your own Kernel, or possibly replace it with one from another image. I'm primarily running this headless, so I don't have a VGA monitor to connect it to - I just use uart and SSH.

If you aren't able to compile your own kernel, let me know and I'll see what I can do, though I may / may not be able to do a lot of debugging from where I am for the next week or so (I can build images, but not necessarily verify that they're fully working, since my board is back at home).




mike1968

Hello jwischka,
thank you for your quick answer.

sorry,iam not able to compile my own kernel at the moment.

The 2th problem is, when i want to use ssh over wifi,i get this error and cant use wifi:

[....] Waiting for /dev to be fully populated...[    5.340000] usbcore: registered new interface driver rtl8192cu
[    5.370000] udevd[182]: renamed network interface wlan0 to wlan1
done.
[ ok ] Setting preliminary keymap...done.
[ ok ] Setting parameters of disc: (none).
[ ok ] Cleaning up temporary files... /tmp.
[....] Activating lvm and md swap...[    9.770000] Adding 524284k swap on /mnt/512mb.swap.  Priority:-1 extents:820 across:3792928k SS
done.
[....] Checking file systems...fsck from util-linux 2.20.1
done.
[ ok ] Mounting local filesystems...done.
[ ok ] Activating swapfile swap...done.
[ ok ] Cleaning up temporary files....
[ ok ] Setting kernel variables ...done.
[....] Configuring network interfaces...Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Cannot find device "eth0"
Bind socket to interface: No such device
Failed to bring up eth0.
wpa_supplicant: /sbin/wpa_supplicant daemon failed to start
run-parts: /etc/network/if-pre-up.d/wpasupplicant exited with return code 1
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Cannot find device "wlan0"
Bind socket to interface: No such device
Failed to bring up wlan0.
done.


best regards
Michael

jwischka

Michael -

I suspect the wireless interface may be different on your board for some reason. From the command prompt type:

sudo ifconfig

You should see all your interfaces listed. Then edit /etc/network/interfaces with the correct information. Let me know if you have problems.

lordlothar