Difference between revisions of "Build FOG file system with BuildRoot"
(→Download Buildroot) |
(→Debian 7 (and Ubuntu 12.x and newer)) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
=== Debian 7 (and Ubuntu 12.x and newer) === | === Debian 7 (and Ubuntu 12.x and newer) === | ||
− | + | Install the latest partclone information to allow build to work | |
− | + | * Add repositories | |
+ | ** <pre>deb http://free.nchc.org.tw/drbl-core drbl stable testing unstable dev</pre> | ||
+ | ** <pre>deb-src http://free.nchc.org.tw/drbl-core drbl stable testing unstable dev</pre> | ||
+ | * Add repository key | ||
+ | ** <pre>wget http://drbl.nchc.org.tw/GPG-KEY-DRBL; apt-key add GPG-KEY-DRBL</pre> | ||
+ | * Update repos to allow easier integration. | ||
+ | ** <pre>apt-get update</pre> | ||
+ | * Install the files | ||
+ | ** <pre>sudo apt-get install build-essential subversion git bison bc flex gettext texinfo zlib1g-dev uuid-dev ncurses-dev unzip libpci-dev libssl-dev rsync build-dep partclone</pre> | ||
== Download the relevant FOG source == | == Download the relevant FOG source == | ||
Line 18: | Line 26: | ||
== Copy source files inside Buildroot's tree == | == Copy source files inside Buildroot's tree == | ||
− | cp -r fogsrc/buildroot/* buildroot-2014. | + | cp -r fogsrc/buildroot/* buildroot-2014.11/ |
− | cd buildroot-2014. | + | cd buildroot-2014.11 |
mv fog.buildroot.config.32 .config # or config.64 for 64 bits | mv fog.buildroot.config.32 .config # or config.64 for 64 bits | ||
Line 27: | Line 35: | ||
# This will download all the required packages from their sources, it's around 300 MB | # This will download all the required packages from their sources, it's around 300 MB | ||
make source | make source | ||
− | # All packages are now in buildroot-2014. | + | # All packages are now in buildroot-2014.11/dl/ So we compile. |
# Go get some coffee, this takes a long time, depending on your config. | # Go get some coffee, this takes a long time, depending on your config. | ||
make | make | ||
Line 34: | Line 42: | ||
cd .. | cd .. | ||
− | copy init.xz to your FOG server / | + | copy init.xz to your FOG server /var/www/fog/service/ipxe/init_32.xz (or init.xz for 64 bits) |
Latest revision as of 15:46, 13 December 2014
In order for the FOG Client to boot on the hosts, it requires a kernel and a filesystem image containing its filesystem. Buildroot helps building the toolchain (uclibc) and generate that image with busybox and all the packages we need. This page will tell you how to build the filesystem on your own from SVN.
Contents
Dependencies
Debian 7 (and Ubuntu 12.x and newer)
Install the latest partclone information to allow build to work
- Add repositories
-
deb http://free.nchc.org.tw/drbl-core drbl stable testing unstable dev
-
deb-src http://free.nchc.org.tw/drbl-core drbl stable testing unstable dev
-
- Add repository key
-
wget http://drbl.nchc.org.tw/GPG-KEY-DRBL; apt-key add GPG-KEY-DRBL
-
- Update repos to allow easier integration.
-
apt-get update
-
- Install the files
-
sudo apt-get install build-essential subversion git bison bc flex gettext texinfo zlib1g-dev uuid-dev ncurses-dev unzip libpci-dev libssl-dev rsync build-dep partclone
-
Download the relevant FOG source
svn checkout https://svn.code.sf.net/p/freeghost/code/trunk/src fogsrc
Download Buildroot
wget http://buildroot.uclibc.org/downloads/buildroot-2014.11.tar.bz2 tar xjf buildroot-2014.11.tar.bz2
Copy source files inside Buildroot's tree
cp -r fogsrc/buildroot/* buildroot-2014.11/ cd buildroot-2014.11 mv fog.buildroot.config.32 .config # or config.64 for 64 bits
build FOG file system
# A chance to see what's inside the buildroot, and change options in a graphical UI : make menuconfig # This will download all the required packages from their sources, it's around 300 MB make source # All packages are now in buildroot-2014.11/dl/ So we compile. # Go get some coffee, this takes a long time, depending on your config. make # Here is our init.xz cp output/images/rootfs.ext2.xz ../init.xz cd ..
copy init.xz to your FOG server /var/www/fog/service/ipxe/init_32.xz (or init.xz for 64 bits)