##// 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 ##### `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 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 # 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 https://github.com/raspberrypi/linux
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" https://github.com/raspberrypi/firmware/raw/master/boot/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" https://github.com/raspberrypi/firmware/raw/master/boot/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" https://github.com/raspberrypi/firmware/raw/master/boot/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