Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Terminology

Buildroot is the tool that we use to build the kernel, kernel modules, user tools, and root file system for our Linux RT machines.

...

Code Block
languagebash
egumtow@aird-b50-srv01 /scratch/egumtow> mkdir buildroot
egumtow@aird-b50-srv01 /scratch/egumtow> cd buildroot
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot> mkdir buildroot-2019.08-2
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot> cd buildroot-2019.08-2
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2> mkdir host
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2> mkdir download
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2> git clone https://github.com/slaclab/buildroot-site.git site-top
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2> cd site-top
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2/site-stop> git checkout origin/br-2019.08
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2/site-stop> cd ..
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2> wget https://buildroot.org/downloads/buildroot-2019.08.tar.gz
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2> tar xzvf buildroot-2019.08.tar.gz
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2> mv buildroot-2019.08 buildroot-2019.08-2-x86_64
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2> cd buildroot-2019.08-2-x86_64/
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2/buildroot-2019.08-2-x86_64> ln -s ../site-top site
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2/buildroot-2019.08-2-x86_64> site/scripts/br-installconf.sh -a x86_64
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2/buildroot-2019.08-2-x86_64> make
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2/buildroot-2019.08-2-x86_64> ls -l output/images
total 58256
-rw-r--r-- 1 egumtow gu  3796944 Sep 19 16:36 bzImage
-rw-r--r-- 1 egumtow gu 62914560 Sep 19 16:36 rootfs.ext2
-rw-r--r-- 1 egumtow gu 17510981 Sep 19 16:36 rootfs.ext2.gz
drwxr-xr-x 2 egumtow gu     4096 Sep 19 16:34 syslinux/

...

Code Block
languagebash
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2/buildroot-2019.08-2-x86_64> make clean
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2/buildroot-2019.08-2-x86_64> cp output/build/busybox-1.31.0/.config site/config/bb-1.31.0.config
egumtow@aird-b50-srv01 /scratch/egumtow/buildroot/buildroot-2019.08-2/buildroot-2019.08-2-x86_64> make

SLAC properties

There is a SLAC-specific file in the file system skeleton (fs_skeleton).  The file system skeleton exists in the site directory.  The file is at /etc/SLAC_properties.  The syntax is

Code Block
PROPERTY=value

One property per line.  This file can be read by human users or scripts to determine behavior.  For example, if HAVE_ROOT_PASSWORD is set, then scripts know that if they use "su" then a password is required - the implication being "su" can't be used during the boot process when humans are not involved.

Buildroot documentation

Buildroot has ample documentation.  Be careful that the version of the documentation matches the version your buildroot.  The documentation that you should read comes with the download of buildroot at docs/manual/manual.text.

...