= Cocoboot Loader = [[Image(cocoboot.jpg)]] Cocoboot allows you to load and run a Linux kernel on a PalmOS 5 based handheld. It is conceptially based on the Garux loader but attempts to autodetect all the information that is required so that one binary can be used for all handhelds, without any need for modification. Cocoboot is currently developed and maintained by members of the Hack&Dev project. == Download == Binaries: http://releases.hackndev.com/tools/cocoboot/ Source: http://git.hackndev.com/?p=cocoboot;a=summary == Supported Machines == Currently Cocoboot knows about the following devices. It may actually work on other devices as well, you will just have to specify the [http://www.arm.linux.org.uk/developer/machines/ Linux machine id] manually in the top left corner of the main window. || POS id || Linux id || Consumer name || || TunX|| 835|| Palm LifeDrive || || H102|| 909|| Palm Treo 650 || || D053|| 1230|| Palm Treo 680 || || D052|| 1421|| Palm Treo 700p || || D061|| 1944|| Palm Centro (GSM)|| || D062|| 1944|| Palm Centro (CDMA)|| || MT64|| 918|| Palm Tungsten C || || Cct1|| 817|| Palm Tungsten E || || Zir4|| 844|| Palm Tungsten E2 || || Frg1|| 839|| Palm Tungsten T || || Frg2|| 834|| Palm Tungsten T2 || || Arz1|| 829|| Palm Tungsten T3 || || TnT5|| 917|| Palm Tungsten T5 || || D050|| 885|| Palm TX || || Zi22|| 1090|| Palm Zire 31 || || Zpth|| 993|| Palm Zire 71 || || Zi72|| 904|| Palm Zire 72 || == Compiling == You will need prc-tools, pilrc and the Palm OS SDK installed. Then simply use "make" to build. You might need to adjust the paths in the Makefile if your SDK is in a non-standard place. == USB Console == Cocoboot includes a primitive USB console which you can use for dumping memory and other debugging pruposes. Enable it from Cocoboot's Tools menu. Plug your PDA's USB into your PC, make sure you have the visor.ko kernel module loaded and you should see two serial ports appear as /dev/ttyUSB0 and /dev/ttyUSB1. Connect to /dev/ttyUSB0 using minicom with a baud rate of 115200 to access the console. Note: You may need to use ttyUSB1 on some devices such as the LD. == Configuration file (cocoboot.conf) == Place in root directory of SD card (or HDD). {{{ # cocoboot.conf.exaple - example configuration file for Cocoboot ## cmdline # The value of cmdline is the default kernel command-line. The user can # edit this via the GUI unless noprompt is enabled. # # Default: [blank] cmdline = root=/dev/mmcblk0p1 ## kernel # Filename of the kernel zImage. Cocoboot will look for this file on all # attached VFS disks. # # Defaut: /zImage kernel = /zImage-2.6.21 ## initrd # Filename of the initrd or initramfs ramdisk image. # # Default: /initrd.gz initrd = /initramfs_cpio.gz ## noprompt # When this option is 1, Cocoboot will not prompt for the kernel # command-line and will instead boot Linux immediately when it is started. # # Default: 0 noprompt = 0 ## openserial # Set this to the serial (or USB) port to open before booting. # # Cradle: 0x8000 # IR: 0x8001 # Console: 0x8002 # CradleRS232: 0x8003 # CradleUSB: 0x8004 # # Default: 0 (disabled) # openserial = 0 }}}