-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME-CHROOT
69 lines (54 loc) · 2.28 KB
/
README-CHROOT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Copied from bencher4, the venerable linux64 builder
---------------------------------------------------------
Buildslave runs in a chroot:
LANG=C chroot /extra1/xenial64 /bin/bash
su - buildslave
buildslave start /home/buildslave/build_dir
Commands to run once after a reboot to set the chroot:
>>> have been copied into /etc/rc.local
# from the older 14.04 chroot on /mnt/ubuntu
#mount --rbind /tmp /home/tmp
#mount --rbind /extra1 /home/extra1
#mount --rbind /proc /mnt/ubuntu/proc
#mount --rbind /sys /mnt/ubuntu/sys
#mount --rbind /dev /mnt/ubuntu/dev
#mount --rbind /run/lock /mnt/ubuntu/run/lock
#mount --rbind /run/shm /mnt/ubuntu/run/shm
# now use /extra1/xenial64
mount --bind /tmp /extra1/xenial64/tmp
mount --rbind /proc /extra1/xenial64/proc
mount --rbind /sys /extra1/xenial64/sys
mount --rbind /dev /extra1/xenial64/dev
mount --rbind /run/lock /extra1/xenial64/run/lock
mount --rbind /run/shm /extra1/xenial64/run/shm
---------------------------------------------------------
And here is the same for the 32-bit chroot
---------------------------------------------------------
32 bit buildslave runs in a ubuntu xenial chroot on benchmarker:
LANG=C chroot /opt/xenial32 /bin/bash
su - buildslave
Commands to run once after a reboot to set the chroot:
>>> have been copied into /etc/rc.local
mount --rbind /tmp /opt/xenial32/tmp
mount --rbind /proc /opt/xenial32/proc
mount --rbind /sys /opt/xenial32/sys
mount --rbind /dev /opt/xenial32/dev
mount --rbind /run/lock /opt/xenial32/run/lock
Commands to build the chroot
mkdir /opt/xenial32
sudo debootstrap --variant=buildd --arch=i386 stretch \
/opt/xenial32 http://archive.ubuntu.com/ubuntu/
# or use arch=amd64
LANG=C chroot /opt/xenial32
echo xenial32 > /etc/debian_chroot
adduser buildslave
# go back out out of the chroot and set buildslave's UID to the UID on the host
# by editing /opt/xenial32/passwd, /opt/xenial32/group
chown buildslave.buildslave -R /opt/xenial32/home/buildslave
# now inside the chroot
apt install virtualenv buildbot-slave python-pytest python-hypothesis \
netbase gdb ncurses-term pypy locales mercurial
and more from the instructions on https://foss.heptapod.net/pypy/buildbot
also, to make the rlocale tests work
dpkg-reconfigure locales
# choose to generate all encodings, choose en_US.UTF-8