##// END OF EJS Templates
Added ENABLE_NONFREE support and more
drtyhlpr -
r91:491ef8b44865
parent child
Show More
@@ -105,6 +105,9 Enable IPv6 support. The network interface configuration is managed via systemd-
105 105 ##### `ENABLE_SSHD`=true
106 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 111 ##### `ENABLE_RSYSLOG`=true
109 112 If set to false, disable and uninstall rsyslog (so logs will be available only
110 113 in journal files)
@@ -5,13 +5,22
5 5 # Load utility functions
6 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 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"
11 else
12 http_proxy=${APT_PROXY} debootstrap --arch="${RELEASE_ARCH}" --foreign --include="${APT_INCLUDES}" "${RELEASE}" "${R}" "http://${APT_SERVER}/debian"
18 VARIANT="--variant=minbase"
13 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 24 # Copy qemu emulator binary to chroot
16 25 install_exec "${QEMU_BINARY}" "${R}${QEMU_BINARY}"
17 26
@@ -17,7 +17,7 if [ "$BUILD_KERNEL" = false ] ; then
17 17
18 18 # Install APT sources.list
19 19 install_readonly files/apt/sources.list "${ETCDIR}/apt/sources.list"
20 echo "deb https://repositories.collabora.co.uk/debian ${RELEASE} rpi2" >> "${ETCDIR}/apt/sources.list"
20 echo "deb ${COLLABORA_URL} ${RELEASE} rpi2" >> "${ETCDIR}/apt/sources.list"
21 21
22 22 # Upgrade collabora package index and install collabora keyring
23 23 chroot_exec apt-get -qq -y update
@@ -31,6 +31,11 else # BUILD_KERNEL=true
31 31 sed -i "s/ jessie/ ${RELEASE}/" "${ETCDIR}/apt/sources.list"
32 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 39 # Upgrade package index and update all installed packages and changed dependencies
35 40 chroot_exec apt-get -qq -y update
36 41 chroot_exec apt-get -qq -y -u dist-upgrade
@@ -21,7 +21,7 if [ "$BUILD_KERNEL" = true ] ; then
21 21 fi
22 22 else # KERNELSRC_DIR=""
23 23 # Fetch current raspberrypi kernel sources
24 git -C "${R}/usr/src" clone --depth=1 https://github.com/raspberrypi/linux
24 git -C "${R}/usr/src" clone --depth=1 "${KERNEL_URL}"
25 25 fi
26 26
27 27 # Calculate optimal number of kernel building threads
@@ -142,13 +142,13 if [ "$BUILD_KERNEL" = true ] ; then
142 142 cp ${FIRMWAREDIR}/boot/start_x.elf ${BOOTDIR}/start_x.elf
143 143 else
144 144 # Install latest boot binaries from raspberry/firmware github
145 wget -q -O "${BOOTDIR}/bootcode.bin" https://github.com/raspberrypi/firmware/raw/master/boot/bootcode.bin
146 wget -q -O "${BOOTDIR}/fixup.dat" https://github.com/raspberrypi/firmware/raw/master/boot/fixup.dat
147 wget -q -O "${BOOTDIR}/fixup_cd.dat" https://github.com/raspberrypi/firmware/raw/master/boot/fixup_cd.dat
148 wget -q -O "${BOOTDIR}/fixup_x.dat" https://github.com/raspberrypi/firmware/raw/master/boot/fixup_x.dat
149 wget -q -O "${BOOTDIR}/start.elf" https://github.com/raspberrypi/firmware/raw/master/boot/start.elf
150 wget -q -O "${BOOTDIR}/start_cd.elf" https://github.com/raspberrypi/firmware/raw/master/boot/start_cd.elf
151 wget -q -O "${BOOTDIR}/start_x.elf" https://github.com/raspberrypi/firmware/raw/master/boot/start_x.elf
145 wget -q -O "${BOOTDIR}/bootcode.bin" "${FIRMWARE_URL}/bootcode.bin"
146 wget -q -O "${BOOTDIR}/fixup.dat" "${FIRMWARE_URL}/fixup.dat"
147 wget -q -O "${BOOTDIR}/fixup_cd.dat" "${FIRMWARE_URL}/fixup_cd.dat"
148 wget -q -O "${BOOTDIR}/fixup_x.dat" "${FIRMWARE_URL}/fixup_x.dat"
149 wget -q -O "${BOOTDIR}/start.elf" "${FIRMWARE_URL}/start.elf"
150 wget -q -O "${BOOTDIR}/start_cd.elf" "${FIRMWARE_URL}/start_cd.elf"
151 wget -q -O "${BOOTDIR}/start_x.elf" "${FIRMWARE_URL}/start_x.elf"
152 152 fi
153 153
154 154 else # BUILD_KERNEL=false
@@ -13,7 +13,7 fi
13 13 # Fetch and build U-Boot bootloader
14 14 if [ "$ENABLE_UBOOT" = true ] ; then
15 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 18 # Build and install U-Boot inside chroot
19 19 chroot_exec make -C /tmp/u-boot/ ${UBOOT_CONFIG} all
@@ -7,7 +7,7
7 7
8 8 if [ "$ENABLE_FBTURBO" = true ] ; then
9 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 12 # Install Xorg build dependencies
13 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 47 UBOOT_CONFIG=${UBOOT_CONFIG:=rpi_2_defconfig}
48 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 57 # Build directories
51 58 BASEDIR="$(pwd)/images/${RELEASE}"
52 59 BUILDDIR="${BASEDIR}/build"
@@ -93,6 +100,7 APT_SERVER=${APT_SERVER:="ftp.debian.org"}
93 100 ENABLE_CONSOLE=${ENABLE_CONSOLE:=true}
94 101 ENABLE_IPV6=${ENABLE_IPV6:=true}
95 102 ENABLE_SSHD=${ENABLE_SSHD:=true}
103 ENABLE_NONFREE=${ENABLE_NONFREE:=false}
96 104 ENABLE_SOUND=${ENABLE_SOUND:=true}
97 105 ENABLE_DBUS=${ENABLE_DBUS:=true}
98 106 ENABLE_HWRANDOM=${ENABLE_HWRANDOM:=true}
General Comments 0
Vous devez vous connecter pour laisser un commentaire. Se connecter maintenant