@@ -105,6 +105,9 Enable IPv6 support. The network interface configuration is managed via systemd- | |||||
105 | ##### `ENABLE_SSHD`=true |
|
105 | ##### `ENABLE_SSHD`=true | |
106 | Install and enable OpenSSH service. The default configuration of the service doesn't allow `root` to login. Please use the user `pi` instead and `su -` or `sudo` to execute commands as root. |
|
106 | Install and enable OpenSSH service. The default configuration of the service doesn't allow `root` to login. Please use the user `pi` instead and `su -` or `sudo` to execute commands as root. | |
107 |
|
107 | |||
|
108 | ##### `ENABLE_NONFREE`=false | |||
|
109 | Allow the installation of non-free Debian packages that do not comply with the DFSG. This is required to install closed-source firmware binary blobs. | |||
|
110 | ||||
108 | ##### `ENABLE_RSYSLOG`=true |
|
111 | ##### `ENABLE_RSYSLOG`=true | |
109 | If set to false, disable and uninstall rsyslog (so logs will be available only |
|
112 | If set to false, disable and uninstall rsyslog (so logs will be available only | |
110 | in journal files) |
|
113 | in journal files) |
@@ -5,13 +5,22 | |||||
5 | # Load utility functions |
|
5 | # Load utility functions | |
6 | . ./functions.sh |
|
6 | . ./functions.sh | |
7 |
|
7 | |||
8 | # Base debootstrap (unpack only) |
|
8 | VARIANT="" | |
|
9 | COMPONENTS="main" | |||
|
10 | ||||
|
11 | # Use non-free Debian packages if needed | |||
|
12 | if [ "$ENABLE_NONFREE" = true ] ; then | |||
|
13 | COMPONENTS="main,non-free" | |||
|
14 | fi | |||
|
15 | ||||
|
16 | # Use minbase bootstrap variant which only includes essential packages | |||
9 | if [ "$ENABLE_MINBASE" = true ] ; then |
|
17 | if [ "$ENABLE_MINBASE" = true ] ; then | |
10 | http_proxy=${APT_PROXY} debootstrap --arch="${RELEASE_ARCH}" --foreign --variant=minbase --include="${APT_INCLUDES}" "${RELEASE}" "${R}" "http://${APT_SERVER}/debian" |
|
18 | VARIANT="--variant=minbase" | |
11 | else |
|
|||
12 | http_proxy=${APT_PROXY} debootstrap --arch="${RELEASE_ARCH}" --foreign --include="${APT_INCLUDES}" "${RELEASE}" "${R}" "http://${APT_SERVER}/debian" |
|
|||
13 | fi |
|
19 | fi | |
14 |
|
20 | |||
|
21 | # Base debootstrap (unpack only) | |||
|
22 | http_proxy=${APT_PROXY} debootstrap --arch="${RELEASE_ARCH}" --foreign ${VARIANT} --components="${COMPONENTS}" --include="${APT_INCLUDES}" "${RELEASE}" "${R}" "http://${APT_SERVER}/debian" | |||
|
23 | ||||
15 | # Copy qemu emulator binary to chroot |
|
24 | # Copy qemu emulator binary to chroot | |
16 | install_exec "${QEMU_BINARY}" "${R}${QEMU_BINARY}" |
|
25 | install_exec "${QEMU_BINARY}" "${R}${QEMU_BINARY}" | |
17 |
|
26 |
@@ -17,7 +17,7 if [ "$BUILD_KERNEL" = false ] ; then | |||||
17 |
|
17 | |||
18 | # Install APT sources.list |
|
18 | # Install APT sources.list | |
19 | install_readonly files/apt/sources.list "${ETCDIR}/apt/sources.list" |
|
19 | install_readonly files/apt/sources.list "${ETCDIR}/apt/sources.list" | |
20 |
echo "deb |
|
20 | echo "deb ${COLLABORA_URL} ${RELEASE} rpi2" >> "${ETCDIR}/apt/sources.list" | |
21 |
|
21 | |||
22 | # Upgrade collabora package index and install collabora keyring |
|
22 | # Upgrade collabora package index and install collabora keyring | |
23 | chroot_exec apt-get -qq -y update |
|
23 | chroot_exec apt-get -qq -y update | |
@@ -31,6 +31,11 else # BUILD_KERNEL=true | |||||
31 | sed -i "s/ jessie/ ${RELEASE}/" "${ETCDIR}/apt/sources.list" |
|
31 | sed -i "s/ jessie/ ${RELEASE}/" "${ETCDIR}/apt/sources.list" | |
32 | fi |
|
32 | fi | |
33 |
|
33 | |||
|
34 | # Allow the installation of non-free Debian packages | |||
|
35 | if [ "$ENABLE_NONFREE" = true ] ; then | |||
|
36 | sed -i "s/ contrib/ contrib non-free/" "${ETCDIR}/apt/sources.list" | |||
|
37 | fi | |||
|
38 | ||||
34 | # Upgrade package index and update all installed packages and changed dependencies |
|
39 | # Upgrade package index and update all installed packages and changed dependencies | |
35 | chroot_exec apt-get -qq -y update |
|
40 | chroot_exec apt-get -qq -y update | |
36 | chroot_exec apt-get -qq -y -u dist-upgrade |
|
41 | chroot_exec apt-get -qq -y -u dist-upgrade |
@@ -21,7 +21,7 if [ "$BUILD_KERNEL" = true ] ; then | |||||
21 | fi |
|
21 | fi | |
22 | else # KERNELSRC_DIR="" |
|
22 | else # KERNELSRC_DIR="" | |
23 | # Fetch current raspberrypi kernel sources |
|
23 | # Fetch current raspberrypi kernel sources | |
24 |
git -C "${R}/usr/src" clone --depth=1 |
|
24 | git -C "${R}/usr/src" clone --depth=1 "${KERNEL_URL}" | |
25 | fi |
|
25 | fi | |
26 |
|
26 | |||
27 | # Calculate optimal number of kernel building threads |
|
27 | # Calculate optimal number of kernel building threads | |
@@ -142,13 +142,13 if [ "$BUILD_KERNEL" = true ] ; then | |||||
142 | cp ${FIRMWAREDIR}/boot/start_x.elf ${BOOTDIR}/start_x.elf |
|
142 | cp ${FIRMWAREDIR}/boot/start_x.elf ${BOOTDIR}/start_x.elf | |
143 | else |
|
143 | else | |
144 | # Install latest boot binaries from raspberry/firmware github |
|
144 | # Install latest boot binaries from raspberry/firmware github | |
145 |
wget -q -O "${BOOTDIR}/bootcode.bin" |
|
145 | wget -q -O "${BOOTDIR}/bootcode.bin" "${FIRMWARE_URL}/bootcode.bin" | |
146 | wget -q -O "${BOOTDIR}/fixup.dat" https://github.com/raspberrypi/firmware/raw/master/boot/fixup.dat |
|
146 | wget -q -O "${BOOTDIR}/fixup.dat" "${FIRMWARE_URL}/fixup.dat" | |
147 |
wget -q -O "${BOOTDIR}/fixup_cd.dat" |
|
147 | wget -q -O "${BOOTDIR}/fixup_cd.dat" "${FIRMWARE_URL}/fixup_cd.dat" | |
148 | wget -q -O "${BOOTDIR}/fixup_x.dat" https://github.com/raspberrypi/firmware/raw/master/boot/fixup_x.dat |
|
148 | wget -q -O "${BOOTDIR}/fixup_x.dat" "${FIRMWARE_URL}/fixup_x.dat" | |
149 | wget -q -O "${BOOTDIR}/start.elf" https://github.com/raspberrypi/firmware/raw/master/boot/start.elf |
|
149 | wget -q -O "${BOOTDIR}/start.elf" "${FIRMWARE_URL}/start.elf" | |
150 |
wget -q -O "${BOOTDIR}/start_cd.elf" |
|
150 | wget -q -O "${BOOTDIR}/start_cd.elf" "${FIRMWARE_URL}/start_cd.elf" | |
151 | wget -q -O "${BOOTDIR}/start_x.elf" https://github.com/raspberrypi/firmware/raw/master/boot/start_x.elf |
|
151 | wget -q -O "${BOOTDIR}/start_x.elf" "${FIRMWARE_URL}/start_x.elf" | |
152 | fi |
|
152 | fi | |
153 |
|
153 | |||
154 | else # BUILD_KERNEL=false |
|
154 | else # BUILD_KERNEL=false |
@@ -13,7 +13,7 fi | |||||
13 | # Fetch and build U-Boot bootloader |
|
13 | # Fetch and build U-Boot bootloader | |
14 | if [ "$ENABLE_UBOOT" = true ] ; then |
|
14 | if [ "$ENABLE_UBOOT" = true ] ; then | |
15 | # Fetch U-Boot bootloader sources |
|
15 | # Fetch U-Boot bootloader sources | |
16 | git -C "${R}/tmp" clone git://git.denx.de/u-boot.git |
|
16 | git -C "${R}/tmp" clone "${UBOOT_URL}" | |
17 |
|
17 | |||
18 | # Build and install U-Boot inside chroot |
|
18 | # Build and install U-Boot inside chroot | |
19 | chroot_exec make -C /tmp/u-boot/ ${UBOOT_CONFIG} all |
|
19 | chroot_exec make -C /tmp/u-boot/ ${UBOOT_CONFIG} all |
@@ -7,7 +7,7 | |||||
7 |
|
7 | |||
8 | if [ "$ENABLE_FBTURBO" = true ] ; then |
|
8 | if [ "$ENABLE_FBTURBO" = true ] ; then | |
9 | # Fetch fbturbo driver sources |
|
9 | # Fetch fbturbo driver sources | |
10 | git -C "${R}/tmp" clone https://github.com/ssvb/xf86-video-fbturbo.git |
|
10 | git -C "${R}/tmp" clone "${FBTURBO_URL}" | |
11 |
|
11 | |||
12 | # Install Xorg build dependencies |
|
12 | # Install Xorg build dependencies | |
13 | chroot_exec apt-get -q -y --no-install-recommends install xorg-dev xutils-dev x11proto-dri2-dev libltdl-dev libtool automake libdrm-dev |
|
13 | chroot_exec apt-get -q -y --no-install-recommends install xorg-dev xutils-dev x11proto-dri2-dev libltdl-dev libtool automake libdrm-dev |
@@ -47,6 +47,13 DTB_FILE=${DTB_FILE:=bcm2709-rpi-2-b.dtb} | |||||
47 | UBOOT_CONFIG=${UBOOT_CONFIG:=rpi_2_defconfig} |
|
47 | UBOOT_CONFIG=${UBOOT_CONFIG:=rpi_2_defconfig} | |
48 | QEMU_BINARY=${QEMU_BINARY:=/usr/bin/qemu-arm-static} |
|
48 | QEMU_BINARY=${QEMU_BINARY:=/usr/bin/qemu-arm-static} | |
49 |
|
49 | |||
|
50 | # URLs | |||
|
51 | KERNEL_URL=${KERNEL_URL:=https://github.com/raspberrypi/linux} | |||
|
52 | FIRMWARE_URL=${FIRMWARE_URL:=https://github.com/raspberrypi/firmware/raw/master/boot} | |||
|
53 | COLLABORA_URL=${COLLABORA_URL:=https://repositories.collabora.co.uk/debian} | |||
|
54 | FBTURBO_URL=${FBTURBO_URL:=https://github.com/ssvb/xf86-video-fbturbo.git} | |||
|
55 | UBOOT_URL=${UBOOT_URL:=git://git.denx.de/u-boot.git} | |||
|
56 | ||||
50 | # Build directories |
|
57 | # Build directories | |
51 | BASEDIR="$(pwd)/images/${RELEASE}" |
|
58 | BASEDIR="$(pwd)/images/${RELEASE}" | |
52 | BUILDDIR="${BASEDIR}/build" |
|
59 | BUILDDIR="${BASEDIR}/build" | |
@@ -93,6 +100,7 APT_SERVER=${APT_SERVER:="ftp.debian.org"} | |||||
93 | ENABLE_CONSOLE=${ENABLE_CONSOLE:=true} |
|
100 | ENABLE_CONSOLE=${ENABLE_CONSOLE:=true} | |
94 | ENABLE_IPV6=${ENABLE_IPV6:=true} |
|
101 | ENABLE_IPV6=${ENABLE_IPV6:=true} | |
95 | ENABLE_SSHD=${ENABLE_SSHD:=true} |
|
102 | ENABLE_SSHD=${ENABLE_SSHD:=true} | |
|
103 | ENABLE_NONFREE=${ENABLE_NONFREE:=false} | |||
96 | ENABLE_SOUND=${ENABLE_SOUND:=true} |
|
104 | ENABLE_SOUND=${ENABLE_SOUND:=true} | |
97 | ENABLE_DBUS=${ENABLE_DBUS:=true} |
|
105 | ENABLE_DBUS=${ENABLE_DBUS:=true} | |
98 | ENABLE_HWRANDOM=${ENABLE_HWRANDOM:=true} |
|
106 | ENABLE_HWRANDOM=${ENABLE_HWRANDOM:=true} |
General Comments 0
Vous devez vous connecter pour laisser un commentaire.
Se connecter maintenant