Posts Tagged ‘build’

openAOS Boot-Menu for gen7 Archos devices is here! Get the beta version now!

Monday, April 19th, 2010

UPDATE:

This guide is outdated, please do not use it anymore! There is a new and updated procedure that is easy to follow. The files linked to in this guide will be no longer available.

After spending most of the weekend reimplementing the init-script and cutting out everything that needed Archos binaries I spent this whole monday adapting the bitbake recipes and fixing minor bugs.

Ladies and Gentlemen! I present the public beta version of the openAOS Boot Menu for generation 7 hardware!

The openAOS Boot Menu now runs on 7th generation Archos devices!

The openAOS Boot Menu now runs on 7th generation Archos devices!

As this is just a beta version  (in the true meaning of this word!) some functionality around it is still missing. For now you have to set up most things yourself. For today just a short introduction (prerequisite is an Linux PC and an unpacked Archos Android firmware):

  1. Install the gen7 SDE on your device. Make sure Ångström boots.
  2. Reboot your device while holding down the [VOL -] button.
    • Press the [VOL -] button 5 times to reach the “Developer Edition Menu”. Then Press [Power]
    • Press the [VOL -] button 2 times to reach the “Flash Kernel and Initramfs” entry. Then Press [Power] ONCE. Wait 2 seconds.
    • The screen now should say “connect your device…” – Please do so and mount the device on your desktop PC.
  3. Download those four prepared files into the main directory of your device.
  4. Copy the previously unpacked androidroot.cramfs.secure and bitmapfs.cramfs.secure into the main directory of your device.
  5. Unmount the device safely. (Else you might damage the files!)
  6. Press the [Power] button – The screen will flash briefly and say “Kernel and initramfs updated”.
  7. Press the [Power] button – The device will now reboot.
  8. The Boot menu should now appear. Select Ångström or just wait 10s.
  9. Press Other then Root shell – a root terminal appears
  10. Now execute the following commands (this should be easy if you have some previous shell experience). Be very careful while typing on the on-screen keyboard. If you have one attach an USB-keyboard or see update at the bottom! ;)
    • tar -xvzf /mnt_data/ubitools.tar.gz
    • chattr -c /mnt_data/androidroot.cramfs.secure
    • chattr -c /mnt_data/bitmapfs.cramfs.secure
    • ./ubidetach /dev/ubi_ctrl -m 5
    • ./ubiformat /dev/mtd5 -y
    • ./ubiattach /dev/ubi_ctrl -m 5 -d 0 -O 2048 Make sure you get that right: …-d [ZERO] -[CAPITAL-O]
    • ./ubimkvol /dev/ubi0 -N system -m
    • mkdir /mnt/ubi
    • mount -t ubifs -o rw ubi0:system /mnt/ubi
    • cp /mnt_data/androidroot.cramfs.secure /mnt/ubi/
    • cp /mnt_data/bitmapfs.cramfs.secure /mnt/ubi/
  11. Now reboot the unit and go back into recovery (see step 2, this time select “Access HDD using a PC“)
  12. Connect it to your Linux PC and fire up a partition manager
  13. Make sure you are editing the right drive!
  14. Create an new ext3 partition in the empty space at the end of the drive. Make sure it is created as type primary and is the second partition (e.g. /dev/sdc2)! The unit will not boot Android if the partition is e.g. sdc3 or sdc5!
  15. Now mount that partition and copy some of the remaining contents of the firmware onto it (lang*.alz and the upselling directory)
  16. Unmount the drive and reboot your Archos device.
  17. Congratulations you should now have an dual-booting gen7 device!

The final version will hopefully automate 99% of the above process. If you know some shell scripting and want to help. Please let me know. I won’t have much time over the next few weeks myself.

PS: I should have mentioned that you can of course also generate an script put it onto your device together with the other four files in step 3 and then run it instead of step 10. /bin/sh  script
PPS: I’m working on an clean commit of the sources used to build the files. Please allow me a day or two as I currently have other priority tasks.

openAOS overlay for Ångström updated with support for gen7 devices (Archos5IT)

Wednesday, April 14th, 2010

I finally took the time to merge the Archos overlay into our overlay. This also includes a patch updating the kernel with the latest sources and config from Archos (more about that later on).

Please note that if you want to compile for gen7 you have to set the MACHINE variable to “archos5it” e.g. in the file build/profiles/openaos/conf/local.conf. Note that you can build gen6 and gen7 from the same environment. So if you already have the openAOS overlay you just need to “svn up” in the build directory. You can switch between building both on the fly. For more information please refer to the Ångström documentation.

As for possible issues related to gen7 pleas use the new milestone when filing issues/wishlist-items. Please note though that the gen7 support will be under heavy development for the near future so some breakage might occur while we catch up to where gen6 currently is. After accomplishing that we’ll hopefully be able to move in sync.

The kernel patch I mentioned earlier was given to me by Archos. It should be now in sync with what they currently use to build the Android releases you can download. With that I also had success with dual-boot of Ångström and Android using the same kernel – as you’ve read. I’m grateful that Archos is really eager to help with something that doesn’t directly translate in an revenue stream.

Please let us know about your experience with the updated overlay.

And now enjoy!

Thomas

for the openAOS team

PS: In theory this newer kernel should also boot on gen6 devices. Go ahead and try it if you want to experiment! There are a few people on IRC already working on that, so you can join them. Ultimately you might be able to find out how slow Android can run on gen6. ;-)

WiFi working on gen7 under Ångström (binary only now, GPL hopefully soon) – part 2

Monday, April 12th, 2010

So, here is what you’ve been waiting for. We’re trying to make it as easy as possible. Though currently you’ll have to bring some previous Linux command line experience.

With the help of Archos we have prepared a few binaries you are free to download and use on your gen7 devices.

UPDATE: Fixed an issue where the wifi was deactivated. Now the ti-load script always enables wifi. Also the libssl package form the Ångström repository which is needed for wpa_supplicant is now included. – Thanks to johnsq for  bringing those to my attention.

Before you start you need to copy one or two files while running Android (or mount the ubifs, but that is probably not possible under stock SDE) the most important file is /data/misc/wifi/wlanconf.nvs and – if you want to have the wireless networks configured under android – also the wpa_supplicant.conf file located in the same directory. Just put them somewhere on /storage.

  • Now download our tarball, copy it onto the device and under sde as root unpack it into /home/root. This should create a directory wifi and an wpa_supplicant package inside /home/root.
  • Uninstall the previously installed supplicant by issuing “opkg remove wpa-supplicant“.
  • Install the archos-patched wpa_supplicant “opkg install libssl0.9.8_0.9.8j-r2.1_armv7a.ipk
  • Install the archos-patched wpa_supplicant “opkg install wpa-supplicant_0.5.10-r2.1_armv7a.ipk
  • Now go to the TI WI1271 Firmware website and download “TI_Connectivity_Package_Firmware_and_InitScripts_RLS25_11.tar.gz”. Unpack it and run it under Linux. Take the firmware.bin file and copy it onto your device into “/home/root/wifi/”. (The other option is to copy the Archos wifi firmware which resides under android in /usr/share/firmware.bin ; though I’m not sure about the legal status of doing so and hence do not recommend it)
  • Now copy your wlanconf.nvs to “/home/root/wifi/” (this file is specific to each device! It contains the device mac address and calibration data!)
    If you put it into “/storage/wlanconf.nvs” it is now to be found as “/mnt_data/wlanconf.nvs”.
  • You’re done with preparations. Time to test this!

To start wifi you have to cd to “/home/root/wifi/” and run “./ti-load”. Then you can start wpa_supplicant as follows. (I’ll assume you left it where you put it under android. Please delete the first line in that file with an editor, else it won’t work!) “wpa_supplicant -Dwext -itiwlan0 -c/mnt_data/wpa_supplicant.conf

Now it should start spitting out all sorts of messages and connect to your AP.

Now while wpa_supplicant is running you can issue “udhcpc -i tiwlan0″ (that’s tiwlan[ZERO]) to obtain an DHCP lease and establish an IP network connection.

Congratulations!

A few more words:

  1. This is just for the very eager people who want to try it out and know what they are doing.
  2. There is no need to build scripts to automate this process as the whole WiFi-driver is about to be upgraded and most likely the way how to enable WiFi will change completely.
  3. When 2. happens it will most likely go into the openAOS overlay and will be incorporated into an gen7 image.
  4. No you can’t have the sources right now, even we don’t have the sources for most of this. We don’t like this either. We are working on an OSS release and it will happen as soon as the new driver is done by Archos.
  5. The current boot-menu zImage as of writing this comment only allows the root user to access the network. This will be fixed soon.
WiFi works for our user Ian58

WiFi works for our user Ian58

Install the archos-patched wpa_supplicant “opkg install wpa-supplicant_0.5.10-r2.1_armv7a.ipk

WiFi working on gen7 under Ångström (binary only now, GPL hopefully soon)

Monday, April 12th, 2010

Something I wanted to write about already a few days ago but didn’t manage for private reasons.

We have the tiwlan driver working under Ångström. Currently we use the kernel module from the Archos Android image and userspace binaries kindly provided by Archos. I was told that the goal is to have an working (possibly newer version) GPL of driver and userspace. TI has its driver available as source for their ZOOM development platform, there might be slight differences to the Archos hardware though. I was informed that part of the code is already dual licensed GPL/Apache, thus a binary release is fine before anyone asks, the further source is under investigation and parties involved are hopeful to have an OSS release soon.

I will be updating this posting later today with the binaries and hopefully a script to get the essential data out of the device (each has specific calibration data).

update: As the whole writeup got a little longer I’ve put it in a second posting.

No Android / Ångström boot menu yet for gen7

Thursday, April 1st, 2010

If you’re wondering why there is no working boot menu yet. I can tell you. Things are stalled since shortly after my last post. I found the problem and ran into the next one. But this time it proves to be a tough one:

init: can't open '/dev/null': No such file or directory

Looks totally innocent. But trust me I checked each and every file-system involved and they all have a /dev/null device node. I’ve tried countless things. Also rebuilt the kernel with an almost identical CMDLINE like the Archos kernel. Nope.

My last hope is that I can build a zImage from a patchset for the linux kernel source I have recieved from Archos (thanks!). Maybe that will finally and magically work… but for now I’m calling it a day and will try that tomorrow.

PS: On an unrelated note. Looks like we’re going to have WiFi working on gen7 soon. Got it working today but now have to wait for the patches I received to be open sourced. If somebody wants to play with binaries I might be able to give those away right now. Just contact me on IRC.