Part 1: Rooting
First of all, you can root any android device, back it up, flash it, etc. The trick to rooting unknown devices is reverse engineer thinking applied to the problem, as in without opening the device, you can infer that one of the usb ports and the sd slots must be for debugging and administration. Moreover, all the proprietary software has to be backed up as well.
XDA is a great first start.
Over here at uncompiled, they have already broken down the basics of the windows shell most dynavins have.
Part 2: Developing a rom and apps for the TCC8902 board in my BMW 330xi (E46)
It currently runs WinCE 6 as the master OS and can use NAVI real button and MENU>GPS virtual button to switch views to a virtual Android 2.3 device on the same chip while running both OSes.
Ultimately, in order to save the CPU and RAM of the device, I want to get rid of WinCE 6, and flash the TCC89xx with my own custom Android build and apps.
Addl. Documentation and drivers
I don’t want to reinvent the wheel any more than I have to, so it is imperative I make a backup, a virtual device for proof of concept, and then actually implement and test my build on the virtual device before I reflash the existing device.
Open hardware and software
750mHZ single core cpu
1) Car Start
+12V Power On
Amp delay or limiter to prevent pop
Boot from S4
Bootloader Loads RTOS
RTOS Checks for OS selection
Bootloader Loads Ubuntu or (Android)
Ubuntu with Backtrack Framework resumes
Android with Busybox and SuperSU loads
Do the following:
1) Setup development environment
2) Create virtual devices based on exact specifications
3) Backup existing rom and apps from actual device to virtual device
4) Save virtual device
1) Root existing system (supersu, busybox, and mount r/w)
2) Install root toolbox, rom toolbox, and
3) Backup existing system to mnt/sd-ext
1) Push rom and apps to virtual system
1) Root existing system
2) Backup existing system completely
3) Wipe existing system
4) Bootload new rom