Archive for April, 2010

Pour notre communauté d’utilisateurs français!

Saturday, April 24th, 2010

http://www.openaos.org/wp-upload/menu-beta/fr/initramfs.cpio.gz

DualBoot : La Recette  (Archoslounge)

How to replace an broken harddrive in an gen6 unit with original firmware

Wednesday, April 21st, 2010

I’ve seen several cases where people report in to Archos related forums with an broken hard-drive. In most cases the firmware is Archos original, so it won’t accept a new hard-drive. You can install the firmware but it will refuse to boot…
Archos will replace the hard-drive on most of their units for a fee. There are some constraints though. As far as I know they will only replace it with identical capacity drives and it takes time to send the device in.

Today Archosfans user peterq finally confirmed unwittingly what I was suspecting all along:
If your original hard-drive failed you can swap the hard-drive yourself and get an working unit also with AVOS by then installing the SDE and subsequently flashing our Boot-Menu!
This comes also with some drawback: if your device is still covered by an Archos granted warranty then this is void. There is no way to hack the boot-loader to enable full write to flash – but besides for an custom boot logo, what would you need that for?

Also you will need to create the hidden partition yourself and populate it with the contents of an Archos firmware upgrade file. But that sure should still beat not having your Archos for a month, right?

To sum up. Good news for all Archos5 and Archos7 owners if their hard-drive ever dies!

If you have some time on your hands to play around: Please send in your guide how to create an hidden partition from scratch on an gen6 device. I might prepare another post on how to create the hidden partition from scratch myself, but that is very low on my priority list unless someone wants to motivate me buy “buying me a beer or two”. ;)

UPDATE: Problem solved! See peterq’s answer to my suggestion. All you need to do is to install an regular firmware first (don’t worry that it doesn’t boot!) and then proceed with the regular guide to installing the boot menu.

PS: I suspect this will also work on gen7, Archos5IT units but don’t have it confirmed.

Serial console on gen6 and gen7 using the Archos DVR Station

Wednesday, April 21st, 2010

The serial console is an extremely powerful tool while working on embedded systems on an low level. Rewriting the init process to enable the openAOS Boot-Menu would have been virtually impossible without this.
So, due to some requests for information on how to access the serial console on Archos generation 6 and 7 devices I put together this posting. Thanks also to those who contributed the Pictures to make this post possible!
What will you need?

  • A soldering iron with a fine tip (capable of soldering SMD parts)
  • Some thin, insulated wire
  • A level converter 1,8V ⇄ RS232 (this is very important, more on that later)
  • An Archos DVR station for gen6/7

Once you have everything prepared on a clean surface:

  1. First open the DVR-station. The screws on the back are not important, the ones hidden below the pads on the bottom are.
  2. You should now see something like this:
    Overview of the DVR-station PCB, click for larger version

    Overview of the DVR-station PCB. Click image for larger version

    Notice how some parts are highlighted in red. Those are convenient spots to grab the serial TX, RX signals and an nearby ground pad.

  3. To have an interference free serial interface you will have to sacrifice the IR receiver and transmitter. Or to fit a switch; though this goes beyond the scope of this guide so that design and implementation are left to the discretion of the interested reader.The following picture shows the two resistors that need to be removed while hilighting the appropriate solder pad to attach an wire. To the Right you also can see an easily accessible large ground pad which needs no further preparation.
    Closeup of the DVR-station PCB, with resistors, click for larger version

    Closeup of the DVR-station PCB, with resistors still in place. Click image for larger version

  4. After unsoldering the resistors you can proceed to soldering on the three wires.

    Closeup of the DVR-station PCB, with wires, click for larger version

    Closeup of the DVR-station PCB, with wires soldered on and resistors removed. Click image for larger version

    Notice how the TX and RX wire are soldered to the lower of the two pads where once the SMD resistor was located.

  5. Apply some tape so there is no mechanical stress on the solder joints
  6. Find a way to route the wires outside the case
  7. Please notice that TX and RX is respective to each device, this means you need to wire: TX → RX and RX → TX!
  8. Attach your 1,8V ⇄ RS232 converter to the three wires!I will emphasize this once again:
    This converter is a MUST! If you connect your Device directly to an RS-232 port you are going to cause irreversible damage to it!

    Alternatively you could use one of these USB converters. I heard that you can get away without modifying VCCIO for 1,8V and just leaving it at the 3,3V default.

  9. Congratulations! You can now directly debug your Archos running an custom kernel!

Some further notes on this topic:

  • This does not work with the original Archos firmware!
  • Advanced users can connect an USB-to-serial converter chip that is capable of 1,8V directly to the port. This is not something you can buy off the shelf. Regular converters use RS232 levels → irreversible damage!
  • If you are connecting an cheap USB-to-serial converter to the level converter use a “moderate” baud rate! Cheap converters usually contain an prolific-2303 chip. It works ok for 115k2 but won’t work reliable at 1M. I can recommend FTDI converters, they work just fine at 1M.
  • A similar modification should be possible using the HDMI-Dock as I’ve been told it has two docking connectors (TX is on the left, RX on the right).

I will add some more notes here later on.

And once again. NEVER connect RS232 directly to the bare wires! You have been warned.

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

Monday, April 19th, 2010

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. ;-)