This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to jumpstart an ARM9 board from its SD slot?

I have found a low priced ($47 qty. 1) ARM-A9 Dual Core 1GHz Thin Client board that currently has an Embedded Linux OS along with an RDP 7.1 client.  There is an SD slot used to upgrade this board with different firmware.  Is the process for jumpstarting this type of board generic based upon ARM chip?  The manufacturer says that they are ok with my installing a different Thin Client program than RDP, but due to the small nature of the quantity I would be buying, they aren't particularly interested in helping with the project.

First, does anyone know a different, commercial ARM product in this price range with 3 USB, audio/mike, HDMI, VGA, Ethernet, 512M RAM, 512M Flash, SD slot etc.?  If so, is it programmable to allow new programs to be written to its flash memory?

If a different board is not comparable by price and features, is it possible to experiment with different ways to boot the device using uboot or some other tool?  I'm a complete beginner with ARM, so if the questions have inconsistencies or exhibit a lack of knowledge, please forgive...  The basic goal is to add a different Thin Client (Cendio's ThinLinc) instead of RDP.  I'm comfortable as a programmer, but I've never before tackled anything embedded like this.  The company that makes these boards is Chinese, and there is a huge communication barrier in speaking with their technicians, so I'm hoping that the ARM development community can shed light on this as to whether I need to give up, or whether jumpstarting these boards and reprogramming them is a reasonable proposition

Thanks,

Bill_VH

Parents
  • I've learned a little more since I posted the last reply.

    Some devices are shipped with Android (for instance, TV-boxes), and the vendor "locks" the device, so it can not be updated.

    An often used "expression" for this is that the device is "bricked". Eg. a cell-phone would be worth the same as a brick, if you can't really do anything with it.

    -To unlock or "unbrick" a device, some tools exists. I recommend searching the Web for tools. Also try searching for "Moborobo" and "TPSarky"; these might help unlocking the device if it's locked.

Reply
  • I've learned a little more since I posted the last reply.

    Some devices are shipped with Android (for instance, TV-boxes), and the vendor "locks" the device, so it can not be updated.

    An often used "expression" for this is that the device is "bricked". Eg. a cell-phone would be worth the same as a brick, if you can't really do anything with it.

    -To unlock or "unbrick" a device, some tools exists. I recommend searching the Web for tools. Also try searching for "Moborobo" and "TPSarky"; these might help unlocking the device if it's locked.

Children
  • I don't believe the device is locked due to my interaction with the manufacturer.  They WANT to sell their boards.  Since my last post, I have recently received the files from the device manufacturer which are supposedly the correct ones to burn onto an SD card, to then use to boot the device from the card and not the soldered on Flash.  Unfortunately, I have been unsuccessful at booting the device from an SD card which I burned using 'dd' and the boot image file.  I also copied the included embedded linux operating system files to the SD card, but still I saw nothing which led me to believe I was booting off of the SD card. 

    When I power up the device with the SD card in the slot, it boots up like it always does into the UI which allows networking configuration, and then launching an RDP (Remote Desktop Protocol) client.  If I were to attach the files they sent to me, do you think you or someone else might be able to give me some advice as to how I need to be burning them onto an SD card to successfully boot the device?  My main problem is communication with the company, as the technical people only speak Mandarin.  I think this forum may be my best hope for suggestions on what to do with the files they sent me to make a bootable SD card.

    Any ideas?

  • I'm sorry that I've not responded earlier; I've been away for two weeks by now.

    Writing the image using the 'dd' utility is correct; I believe you're going forward, even though it (sometimes) might not feel like much. Hang in there; you might be close to getting it running.

    I think the people who can help the best, would be Low-level Linux-people. Perhaps imrehg would know.

  • Hi, sorry for following up this late, thanks for the ping jensbauer!

    I read through the notes so far, here are some thoughts:

    • If your board is an Cortex-A9 (ARMv7), then the RaspberryPi image will not work with it (as far as I know) since the RPi is ARMv6
    • Instead, if you are using Arch Linux ARM, I'd try the ARMv7 Multi-Platform image from Downloads | Arch Linux ARM
    • The SD card preparation is important, different boards require different things. If you have so little internal storage (flash), then it is likely that the system can be run from the SD card. In that case usually two partitions are used on the card: one small FAT partition for the boot (uboot needs that, I think), and a large partition for the file system. "dd" is used, because then inside the image the software's distributor can prepare these partitions, and writing it with dd it will create the right partitions for you.
    • Usually looking at the original software image from the manufacturer can give you hints how to modify it to load a different system instead. It's really difficult to do it blindly like now.
    • Another reason why starting from the existing image can be helpful: all ARM boards need their specific kernel support implemented, every board is different. That means that the kernel your manufacturer gives you will work, but the kernel in the community images will probably not! Especially if it's a not-for-sale developer board. Thus you might have better luck keeping the manufacturer's kernel, and switching out the system around it. An example of using the manufacturer's Board Support Package (BSP) and modifying it to run ArchLinux is written up in this blogpost: Enabling Arch Linux ARM on Springboard | VIA Springboard Blog Your experience will definitely be different, but this might give hints!
    • You should check out whether you can just take the original system image by the manufacturer, install it, and modify it to run the thin client that you prefer. This might be the simplest way to set things up.

    Let me know if you need more explanation for any of the points. I'm still just learning this myself by doing it. The more specific you can be about the board the more help you are likely to get.

    Software support for ARM boards is an interesting topic, and that is one area where vendors can distinguish themselves! Personally I would also recommend looking at this aspect when buying a board, not just the price. A board you choose might be $10 cheaper than another one, but in the end could cost much more because of the developer time you have to spend on it.