Puppy linux building for the OLPC XO laptops
Shell Forth Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


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.