Today I decided to continue hacking this linux-based PDA. Since I’m completely fed up with dream rom image, I decided to build my own one. For that purpose, there is a tool available called vrdeb. The tool is based on a patched version of dpkg and fakeroot with an awful tcl/tk GUI interface for choosing packages and executing specific build options.
I’ve fetched a recent vrdeb version from cvs. It includes setup.sh script that can do all the magic: download all the software along with the patches, create directory tree, unpack and build the tools there. vrdeb seems to be orphaned, at least a link to gcc mipsel cross-compiler was broken. I fixed it manually. Generally, the tool does its job. It works somehow and simplifies building rom images a lot.
When I started it out, I was asked to fetch a package list for core vrdeb repository, I confirmed and was presented with a list of available packages the same way as synaptic do, but with much more ugly user interface. There is an interface for managing repositories, surprisingly, it had a button to automagically fetch repository list from a wiki page. When it did, some of repositories were not available, but existing ones expanded available package list to a big degree.
When particular packages choose, you can fetch all of them from repositories and dpkg-install them to the build tree on your hard disk. I need to note mips’ XIP (eXecute In Place) feature. It allows to run software directly from a flash disk without loading the code into RAM, it’s a little bit slower, but consumes less memory. The XIP mode can be selected on per-package basis, so you can choose which ones will be XIP and which will be loaded into memory.
When the tree is built (I had some problems with that also, due to incorrect dependencies and/or broken packages. Playing with package list I resolved those issues and the tree was dpkg-installed fine) you can choose to build cramfs image that can be vrflashed to PDA using special vrflash tool. Than it’s a time to reboot your PDA into newly created ROM disk and rsync your data back. That’s all.
So, the software is packed into striped out deb files from which you can automagically build rom images using vrdeb. Easier than I thought about, now I’m going to write replacements for some software I’m unhappy with, than vrdeb will do all the trick rebuilding rom disks with my new packages.