Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
61 lines (48 sloc) 3.19 KB
Pox_git (Puppylinux_Olpc_Xo_git), is a collection of scripts and files
needed to build Puppy linux for the OLPC XO laptops, starting from a
puppy ISO image and public sources
There are 7 build scripts and several modified puppy-scripts.
`XOpup_kernel_builder.sh' will build the 2.6.35.x or the 3.3.x kernels for
the XO-1 and/or the XO-1.5, the 3.0-wip kernel for the XO-1.75 and the
3.5.7 kernel for the XO-4, from the olpc-2.6 and the Aufs gits, with
puppy-specific config files.
`build_from_OLPC_git.sh' and `build_ARM_from_OLPC_git.sh' will download
sources from the OLPC git, patch them as needed and make the files relating
to the XO power management, fetch the wireless firmware from recent OLPC
builds and download and compile the XO-1.5 chrome video driver.
`create_xo_puppy.sh' and `build_ARMedDog_XO.sh' will use the XO-kernels and
sfs sources to modify a puppy ISO or IMG file, make the XO-compatible changes
for the XO-1/XO-1.5 and XO-1.75/XO-4, respectively, transfer them in a
USB/SDcard and make it ready to boot the XOs.
The associated `pkgs_remrc' files has the instructions for the files and
packages that will be either totally removed or moved from the main sfs
to an `extras.sfs' in x86 builds. It can be edited as needed.
`build_aufs_util.sh' will download the sources and build auf2-util or
aufs3-util (aufs utilities in puppies are pretty dated). Chances are that
will fail to compile in a lot of puppies since they are using the old aufs-2.1
branch or have unionfs instead of aufs. In this case just run the script
from within your XO build to make the new files.
`make_build' is the master script that calls the other scripts. The other
scripts can run also independent of each other and/or make_build.
For example, to make the kernels, aufs-utils or repackage a build.
The files in XO/XO_sfs folder are either modified puppy scripts or new ones
appropriate for OLPC's XOs needed to suit XOs special characteristics.
The XO/extra_pets (for x86 builds) and XO/extra_packs (for ARM builds) folders
can be used to included additional packages in the build. Just add them in the
corresponding folder.
The build scripts can run in any linux distro to build an XO-puppy, however
is highly suggested to use either the puppy version you want to build for
the XOs or a binary-compatible distro as building environment. On another
distro you may need to run as root to mount the sfs or run mksquashfs.
For the ARM versions you can use a cross-compiler but an ARM-native build
system is highly recommended.
It is suggested to use a recent puppy build as base, as older ones may not
have the geode driver and fail to compile the chrome driver.
It is also advised to add the full udev-151+ package from a compatible
distro in the build to get full power management and keyboard functionality.
Quick start: Clone or download Pox_git and from a level above the folder run
`./Pox_git_foldername/make_build -b /full_path_to/puppy.iso' for x86 builds or
`./Pox_git_foldername/make_build -ba /full_path_to/puppy.img' for ARM builds.
Make sure you have at least 3GB of free space if you are building everything.
We welcome patches and addition that will suit the XOs, either in the scripts
or the XO/XO_sfs/* files.