Difference between revisions of "Software projects/OS/Slackware/Build-system"

From Pandora Wiki
Jump to: navigation, search
Line 53: Line 53:
 
* Do the same with vrac2 and vrac3.
 
* Do the same with vrac2 and vrac3.
 
* Save all /tmp/*.t?z in the MYPKGS="/mnt/hd/sdb4/stockage/pandora/armed-pack/sbopkg/Aaa-vrac/" folder of the build system.
 
* Save all /tmp/*.t?z in the MYPKGS="/mnt/hd/sdb4/stockage/pandora/armed-pack/sbopkg/Aaa-vrac/" folder of the build system.
* Be careful with disk space, you may fill the card. If so, save and erase all /tmp/*.t?z between queues processing.
+
* Be careful with disk space, you may fill the card. If so, save and erase all /tmp/*.t?z, and sources inside /var/cache/sbopkg/ between queues processing.
  
 
= Final step =
 
= Final step =
* Create a new rootfs, with PHASE-1.sh and PHASE-2.sh
+
* Populate a new SD card, with PHASE-1.sh and PHASE-2.sh
 
* Edit /media/SLACK/etc/rc.d/rc.local to build the remaining packages to put in $MYPKGS/AAA-base/
 
* Edit /media/SLACK/etc/rc.d/rc.local to build the remaining packages to put in $MYPKGS/AAA-base/
 
* Put the SD card in the Pandora, and power it on.
 
* Put the SD card in the Pandora, and power it on.
Line 63: Line 63:
 
* Remove the card.
 
* Remove the card.
 
* Save all /media/SLACK/tmp/*.t?z in $MYPKGS/AAA-base/ folder of the build system.
 
* Save all /media/SLACK/tmp/*.t?z in $MYPKGS/AAA-base/ folder of the build system.
* Now, you can create a complete rootfs.
+
* Now, you can create a complete SL4P system.
 +
 
 +
= Creating a compressed rootfs =
 +
* Populate a SD card. Now you should know how to do it ;^).
 +
* Boot it on a Pandora.
 +
* Once the Pandora shuts down, remove the card, and follow [http://pandorawiki.org/How_to_back_up_a_Root_File_System_%28on_an_SD_Card%29_to_an_SD_Card this] procedure.
  
 
= Special packages =
 
= Special packages =

Revision as of 16:34, 9 April 2012

Disclaimer

  • Same as here.
  • The build system is GPL V3.

Principles

  • It's not a one run and go. You need time and patience if you want a full and complete release. Anyway, you can get a minimal alpha build relatively fast.
  • The target directory is likely to be a SD card. 8G recommended.
  • Phase 1 populates the target directory with the main ARMedslack Linux distribution.
  • Phase 2 populates the target directory with parts from official Open Pandora OS and tweaked stuff.
  • A specific part of rc.local is executed during the first boot on a Pandora.
  • The files folder contains tweaked stuff.
  • The pkg folder contains pre-built packages from a previous alpha builds.
  • The sources folder contains sources for essential programs.
  • Some proprietary stuff is missing, like 3D drivers. They are useful only if you want to compile your own kernel.

Get the build system

  • Get the archive here.
  • If you don't run a Slackware or a derivative, get the Slackware's installpkg script here. Put it in /sbin and make it executable.

Dependencies

  • You need to download the official Open Pandora rootfs: http://openpandora.org/firmware/pandora-rootfs.tar.bz2
  • Uncompress it as root anywhere and link it to the build directory as "pandora-rootfs".
  • Format a 8G or more SD card with the Ext2 filesystem. To make explanations clear, name it SLACK.
  • If you don't know how to format a drive, use GParted under Linux, or run their Live-CD. Here's the manual.
  • It's highly recommended to have a second partition formated as a swap. 256M or more is a good choice.

Bash knowledge

  • You need minimal bash knowledge in order to understand and succeed. This is a good start.
  • Each script contains comments. Read them.

Phase 1

  • Run as su -.
  • You'll see packages errors because it's a first run.

Phase 2

  • Run as su -.
  • For this very first alpha build, don't remove the SD card now, you have to edit ie.: /media/SLACK/etc/rc.d/rc.local

rc.local

  • Remove simple-comments in order to produce the needed packages during the first boot.
  • Put the SD card in the Pandora, and power it on.
  • The Pandora will generate all (or almost all) needed packages.
  • The Pandora will power off after having done the job. May last for one hour or two.
  • Remove the card.
  • Save all /media/SLACK/tmp/*.t?z in the PHASE-1.sh
 MYPKGS="/mnt/hd/sdb4/stockage/pandora/armed-pack/sbopkg/Aaa-base/"

folder of the build system.

  • Now, you can boot normally this alpha build.

In-between steps

  • Plug the net.
  • Launch sbopkg as su -, load the vrac1 queue file, process it saying yes (Q) to options and wait. This is gonna be very long. I really mean very.
  • Do the same with vrac2 and vrac3.
  • Save all /tmp/*.t?z in the MYPKGS="/mnt/hd/sdb4/stockage/pandora/armed-pack/sbopkg/Aaa-vrac/" folder of the build system.
  • Be careful with disk space, you may fill the card. If so, save and erase all /tmp/*.t?z, and sources inside /var/cache/sbopkg/ between queues processing.

Final step

  • Populate a new SD card, with PHASE-1.sh and PHASE-2.sh
  • Edit /media/SLACK/etc/rc.d/rc.local to build the remaining packages to put in $MYPKGS/AAA-base/
  • Put the SD card in the Pandora, and power it on.
  • The Pandora will generate final needed packages.
  • The Pandora will power off after having done the job. May last for one hour or two.
  • Remove the card.
  • Save all /media/SLACK/tmp/*.t?z in $MYPKGS/AAA-base/ folder of the build system.
  • Now, you can create a complete SL4P system.

Creating a compressed rootfs

  • Populate a SD card. Now you should know how to do it ;^).
  • Boot it on a Pandora.
  • Once the Pandora shuts down, remove the card, and follow this procedure.

Special packages

  • In the sources folder, you'll find some programs that aren't automatically generated by the build system.
  • I ship a light, but optimized version of mplayer. If you want a big bunch of new features, just compile it after having installed many dependencies from /extra.

I don't list those dependencies for now, because i do more useful things ^^.

  • Xmms may just needs libmikmod.
  • Qt3 is a bit long to build. It should be built before the big playlist. I will probably include it in the alpha building.

Notes

  • It may look a bit messy for now (and indeed, some part have to be cleaned), but it's versatile, as i intended from the start.
  • Depending on what you comment/uncomment, you can produce an alpha build, very minimal, or a full build.
  • Depending on what you edit, you can use it to port any *NIX to Open Pandora, and maintain your build very easily
  • The -current build system is under work and is not released yet.

Ask a question/Report a bug