Buildroot and QuirkyHere are the instructions to build a complete root filesystem using Buildroot, which can then be used in the Quirky build system, to build a Quirky distro.The first time I did this was in November 2014: November 2014I downloaded the Buildroot 'buildroot-2014.08.tar.bz2' and expanded it in a Linux partition, inside a folder (in my case, I used sda5 on my laptop, inside folder 'buildroot'.Alongside the expanded 'buildroot-2014.08' folder, I also have folders 'bare-skeleton-rootfs' and 'BK-patches' -- see tarballs provided here. I also created folder 'pkg-sources', where sources will be downloaded to. So, the folder hierarchy will look like: buildroot bare-skeleton-rootfs BK-patches buildroot-2014.08 pkg-sources Copy 'DOTconfig-BUILDROOT-22NOV2014' inside folder 'buildroot-2014.08', and rename or copy it to '.config' Copy 'DOTconfig-BUSYBOX-1.22.1-21NOV2014 inside 'buildroot-2014.08', and rename or copy it to 'DOTconfig-BUSYBOX' Folder 'BK-patches' has essential patches. Copy the files inside 'BK-patches' to the same locations inside folder 'buildroot-2014.08' WARNING 1: I was running Quirky Unicorn 6.2, but the 'Mercurial' package is required to use Buildroot -- open the Quirky Package Manager and install it from the Ubuntu repos. WARNING 2: Buildroot requires the full 'getopt' utility from the 'util-linux' package, however Quirky Unicorn 6.2 has the Busybox version. If this is the situation with you, you will need to install the full 'getopt' utility first, before continuing. (for convenience, same folder as this readme file has 'getopt' for x86 Quirky Unicorn, copy to /bin) Open a terminal inside 'buildroot-2014.08', then: # make menuconfig ...don't change anything, just exit # make ...off you go. About 8 hours later, you will have buildroot-2014.08/output/images/rootfs.tar.gz, the complete binary root filesystem. Inside the top-level 'buildroot' folder, place the script 'extract4quirky', run it: # ./extract4quirky ...that will create '0buildroot-YYYYMMDD.txz', which is ready to be used in Quirky. The Quirky build system can be downloaded from here, at the time of writing, the file is quirky-20141124.tar.gz (19MB): http://distro.ibiblio.org/quirky/quirky6/project/ In a Linux partition somewhere, you will have the Quirky build system expanded (where this readme file is!). In my case, I have it in sdb11, in top-level folder 'projects': projects builds local-repositories pet-construction quirky ...where the 'quirky' folder is created from the expanded 'quirky-DATE.tar.gz' Quirky build system, that I have provided snapshots of online. Copy '0buildroot-YYYYMMDD.txz' to (sdb11) projects/local-repositories/x86/packages-buildroot-aug2014/ (create folders if necessary) In folder (sdb11) projects/quirky/woof-distro/x86/buildroot/erik/, there is file 'Packages-buildroot-aug2014-official', open in a text editor and append this line: 0buildroot-YYYYMMDD|0buildroot|YYYYMMDD||BuildingBlock|543576K||0buildroot-YYYYMMDD.txz||root filesystem compiled in buildroot, with X, gtk, X-apps|buildroot|aug2014|| ...where "YYYYMMDD" is the date you assigned earlier when creating the binary root filesystem file. ...or, more accurately, the script 'extract4quirky' has generated that DB line for you on stdout -- prefer use that. Edit the file (sdb11) projects/quirky/woof-distro/x86/buildroot/erik/DISTRO_PKGS_SPECS-buildroot-aug2014: ...you will see a line like this: yes|0buildroot|0buildroot-20141122*|exe,dev,doc,nls|compat:aug2014 ...change that to match your new tarball: yes|0buildroot|0buildroot-YYYYMMDD*|exe,dev,doc,nls|compat:aug2014 That's it, you are ready to use Quirky: Inside (sdb11) projects/quirky, open a terminal: # ./merge2out ...choose host x86 (you should be running on a 32-bit x86 Linux distro, I haven't tested a host of x86_64), choose x86 target, then 'buildroot', then 'erik'. ...this will create folder projects/builds/quirky_out_x86_x86_buildroot_erik One thing, you will need to use a Linux kernel PET package. Open file (sdb11) projects/builds/quirky-out_x86_x86_buildroot_erik/DISTRO_SPECS, you will see a line: DISTRO_KERNEL_PET='linux_kernel-3.16.6-nopae-builtin_aufs_f2fs_squashfs_zram-i586-unicorn.pet' ...the '1download' script should offer to download this, but you can also download it yourself, from (26.4MB): http://distro.ibiblio.org/quirky/quirky6/x86/packages/pet_packages-unicorn/linux_kernel-3.16.6-nopae-builtin_aufs_f2fs_squashfs_zram-i586-unicorn.pet ...download it to (sdb11) projects/local-repositories/x86/packages-pet/ Open a terminal inside folder 'quirky_out_x86_x86_buildroot_erik', and run the scripts '0setup', '1download', '2createpackages' and '3builddistro' in sequence. (c) Copyright Barry Kauler, Nov. 2014, all rights reserved |