Difference between revisions of "Setting up the build environment in a chroot"

From Alpine Linux
Jump to: navigation, search
(Create a build environment: Need sudo rights)
(Fix double redirect)
(Tag: Redirect target changed)
 
(17 intermediate revisions by 7 users not shown)
Line 1: Line 1:
= Introduction  =
+
#REDIRECT [[Alpine Linux in a chroot]]
 
 
The Build Environment will be called [[#Create_a_build_environment|BE]] from now on.<br> You will need a few Gigabytes to have enough pace for kernel compiling and storing all the binary packages and iso image.
 
 
 
= Create a build environment  =
 
 
 
We are setting up our [[#Create_a_build_environment|BE]] in chroot.<br>
 
 
 
'''Note:''' The variables below:
 
 
 
*'''${build_dir}''' = You can name it whatever you like.
 
*'''${mirror}''' = Should be replaced with one of the available alpine-mirrors:
 
 
 
{{Mirrors}}
 
 
 
<br> Lets start by geting the latest apk static binary:
 
 
 
wget ${mirror}/v1.9/apk.static
 
chmod +x ./apk.static
 
 
 
We are setting up a basic chroot:
 
 
 
mkdir ${build_dir}
 
sudo ./apk.static --repo ${mirror}/v1.9/packages/core --root $PWD/${build_dir} add --initdb build-base git abuild
 
mkdir -p ./${build_dir}/proc
 
sudo mount --bind /proc ./${build_dir}/proc
 
 
 
Lets setup our needed devices:
 
 
 
sudo mknod -m 666 ./${build_dir}/dev/full c 1 7
 
sudo mknod -m 777 ./${build_dir}/dev/null c 1 3
 
sudo mknod -m 666 ./${build_dir}/dev/ptmx c 5 2
 
sudo mknod -m 644 ./${build_dir}/dev/random c 1 8
 
sudo mknod -m 644 ./${build_dir}/dev/urandom c 1 9
 
sudo mknod -m 666 ./${build_dir}/dev/zero c 1 5
 
sudo mknod -m 666 ./${build_dir}/dev/tty c 5 0
 
 
 
We need or dns servers and root dir:
 
 
 
sudo cp /etc/resolv.conf ./${build_dir}/etc/
 
mkdir -p ./${build_dir}/root
 
 
 
We are setting up apk mirrors:
 
 
 
mkdir -p ./${build_dir}/etc/apk
 
su
 
echo "${mirror}/v1.9/packages/core" > ./${build_dir}/etc/apk/repositories
 
echo "${mirror}/v1.9/packages/extra" >> ./${build_dir}/etc/apk/repositories
 
exit
 
 
 
At this point you should be able to enter your chroot:
 
 
 
sudo chroot ./${build_dir} /bin/sh
 

Latest revision as of 01:15, 2 April 2020