Leapster Explorer Root File System
This is a work in progress. Follow at your own risk!
On the didj if we wanted to build a working kernel and filesystem with all necessary apps/libs and devices we could use a simple script called make_rootfs.sh located in the /scripts folder of the kernel source. Unfortunately the LX kernel sources didn't ship with make_rootfs.sh so we have adapted the didj one to do the job for us.
There are a few things to note.
1. When you run make_rootfs.sh it builds the kernel, sets up all the folders and device nodes, it also installs libs/apps from /packages, the script knows what apps/libs to install via 2 files complete-package-list and embedded-package-list, the LX only ships with the embedded-package-list, so we will have to make our own complete-package-list file. The embedded-package-list is sufficient for building a kernel with everything that is needed for a stock kernel/fs (without brio), you should leave the embedded-packge-list in its default state. the complete-package-list will do the same job but will keep any headers, I copied the contents of the embedded-package-list to a file called complete-package-list and worked from there.
2. There are a couple of ways of running make_rootfs.sh:
this will do a clean install of the whole lot, it will re-download libs/apps in the package library and when its all done you will have the full rootfs + kernel + headers, all packages are installed via the complete-package-list
CLEAN=1 ./make_rootfs.sh -e
Almost the same as the last one, except this one will remove the headers when its finished, this is building yourself a stock install, the -e is for embedded, so this one uses the embedded-package-list
This one doesn't re-download the package files but still keeps the headers when done (complete-package-list)
and this one doesn't re-download the package files and removes the headers when done (embedded-package-list)
3. if you want to automatically build and install extra packages take a look at the install.sh scripts in the /packages/sub-folders, they'll give you an idea of what is required, once you've created your own install.sh in its own folder in /packages you can add your extra package folder name to either the embedded or complete-package-list and they should install for you. bear in mind that if your package/app depends on another lib/app then it will need to be lower in the list than the libs/apps it depends on. If you want to remove any packages from either list just put a # at the beginning of the line, this will comment it out and stop make_rootfs.sh from building that app/lib, again you need to consider whether the app/lib you are commenting out is needed by anything else, for instance not installing busybox would be a big mistake.
Save the following to your /scripts folder.
- ( Link to Make_RootFS.sh )
- ( Link to complete-package-list )
chmod 777 Make_RootFS.sh chmod 777 functions
Download the following and extract to the packages/uclibc folder
- (link to Missing_uclibc_stuff.rar )
- Copy host_tools from the didj kernel sources and put it in the your project folder
- Make the folders in your build environment /target/tftp
complete-package-list -anything with a # next to it won't be installed
There is stuff missing in /bin that needs addressing
To attempt a build run
This will compile your kernel using the .config file you have set up.