diff options
152 files changed, 2871 insertions, 0 deletions
diff --git a/sid-arm64-alip/Makefile b/sid-arm64-alip/Makefile new file mode 100755 index 0000000..a95d2ff --- /dev/null +++ b/sid-arm64-alip/Makefile @@ -0,0 +1,33 @@ +#!/bin/sh + +# (C) 2012-2015 Fathi Boudra <fathi.boudra@linaro.org> + +# Calls all necessary live-build programs in the correct order to complete +# the bootstrap, chroot, binary, and source stage. + +# You need live-build package installed and superuser privileges. + +BUILD_NUMBER?=1 +BASEIMG=linaro-sid-alip +IMAGEPREFIX=$(BASEIMG)-`date +%Y%m%d`-$(BUILD_NUMBER) +LOGFILE=$(IMAGEPREFIX).build-log.txt +CONFIGFILE=$(IMAGEPREFIX).config.tar.bz2 +LISTFILE=$(IMAGEPREFIX).contents +PKGSFILE=$(IMAGEPREFIX).packages +TARGZFILE=$(IMAGEPREFIX).tar.gz +MD5SUMSFILE=$(IMAGEPREFIX).md5sums.txt +SHA1SUMSFILE=$(IMAGEPREFIX).sha1sums.txt + +all: + set -e; sudo lb build 2>&1 | tee $(LOGFILE) + tar -jcf $(CONFIGFILE) auto/ config/ configure; + sudo mv binary.contents $(LISTFILE); + sudo mv chroot.packages.live $(PKGSFILE); + sudo mv binary-tar.tar.gz $(TARGZFILE); + md5sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(MD5SUMSFILE); + sha1sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(SHA1SUMSFILE); + +clean: + sudo lb clean --purge + rm -f $(BASEIMG)-* + rm -rf config diff --git a/sid-arm64-alip/README b/sid-arm64-alip/README new file mode 100644 index 0000000..917e1f3 --- /dev/null +++ b/sid-arm64-alip/README @@ -0,0 +1,16 @@ +* To build binary image: + * install live-build qemu-user-static + * run configure + * run make + +* Scripts: + * configure + * Makefile + +* Configuration Layout + +`-- ./config + +* Customization Layout + +`-- ./customization diff --git a/sid-arm64-alip/configure b/sid-arm64-alip/configure new file mode 100755 index 0000000..27cdba5 --- /dev/null +++ b/sid-arm64-alip/configure @@ -0,0 +1,43 @@ +#!/bin/sh + +# (C) 2012-2016 Fathi Boudra <fathi.boudra@linaro.org> + +# Create configuration for live-build. + +# You need live-build package installed. + +set -e + +echo "I: create configuration" +export LB_BOOTSTRAP_INCLUDE="apt-transport-https gnupg" +lb config \ + --apt-indices false \ + --apt-recommends false \ + --apt-secure false \ + --architectures arm64 \ + --archive-areas 'main contrib non-free' \ + --backports false \ + --binary-filesystem ext4 \ + --binary-images tar \ + --bootappend-live "hostname=linaro-alip username=linaro" \ + --bootstrap-qemu-arch arm64 \ + --bootstrap-qemu-static /usr/bin/qemu-aarch64-static \ + --cache false \ + --chroot-filesystem none \ + --compression gzip \ + --debootstrap-options "--variant=minbase --include=apt-transport-https,gnupg" \ + --distribution sid \ + --gzip-options '-9 --rsyncable' \ + --iso-publisher 'Linaro; http://www.linaro.org/; linaro-dev@lists.linaro.org' \ + --iso-volume 'Linaro Stretch $(date +%Y%m%d-%H:%M)' \ + --linux-flavours none \ + --linux-packages none \ + --mode debian \ + --security true \ + --system normal \ + --updates true + +echo "I: copy customization" +test -d customization && cp -rf customization/* config/ + +echo "I: done" diff --git a/sid-arm64-alip/customization/archives/linaro-overlay-obs.key.chroot b/sid-arm64-alip/customization/archives/linaro-overlay-obs.key.chroot new file mode 100644 index 0000000..9a3b62d --- /dev/null +++ b/sid-arm64-alip/customization/archives/linaro-overlay-obs.key.chroot @@ -0,0 +1,78 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +iue2 +=GWuy +-----END PGP PUBLIC KEY BLOCK----- diff --git a/sid-arm64-alip/customization/archives/linaro-overlay-obs.list.chroot b/sid-arm64-alip/customization/archives/linaro-overlay-obs.list.chroot new file mode 100644 index 0000000..dce63a0 --- /dev/null +++ b/sid-arm64-alip/customization/archives/linaro-overlay-obs.list.chroot @@ -0,0 +1,2 @@ +deb http://obs.linaro.org/linaro-overlay-sid/sid/ ./ +deb-src http://obs.linaro.org/linaro-overlay-sid/sid/ ./ diff --git a/sid-arm64-alip/customization/hooks/01-setup_user_linaro.chroot b/sid-arm64-alip/customization/hooks/01-setup_user_linaro.chroot new file mode 100755 index 0000000..9c65f97 --- /dev/null +++ b/sid-arm64-alip/customization/hooks/01-setup_user_linaro.chroot @@ -0,0 +1,7 @@ +#!/bin/sh + +echo "I: create linaro user" +adduser --gecos linaro --disabled-login linaro + +echo "I: set linaro user password" +echo "linaro:linaro" | chpasswd diff --git a/sid-arm64-alip/customization/hooks/02-add_linaro_to_groups.chroot b/sid-arm64-alip/customization/hooks/02-add_linaro_to_groups.chroot new file mode 100755 index 0000000..ad43cb7 --- /dev/null +++ b/sid-arm64-alip/customization/hooks/02-add_linaro_to_groups.chroot @@ -0,0 +1,18 @@ +#!/bin/sh -x + +DEFGROUPS="adm,dialout,cdrom,audio,dip,video,plugdev,bluetooth,pulse-access,sudo,systemd-journal,netdev,staff" + +IFS=',' +for group in $DEFGROUPS; do + /bin/egrep -i "^$group" /etc/group + if [ $? -eq 0 ]; then + echo "Group '$group' exists in /etc/group" + else + echo "Group '$group' does not exists in /etc/group, creating" + groupadd $group + fi +done +unset IFS + +echo "I: add linaro to ($DEFGROUPS) groups" +usermod -a -G ${DEFGROUPS} linaro diff --git a/sid-arm64-alip/customization/hooks/03-check_sudoers_for_admin.chroot b/sid-arm64-alip/customization/hooks/03-check_sudoers_for_admin.chroot new file mode 100755 index 0000000..fe86124 --- /dev/null +++ b/sid-arm64-alip/customization/hooks/03-check_sudoers_for_admin.chroot @@ -0,0 +1,17 @@ +#!/bin/sh + +# check to make sure sudoers file has ref for the sudo group +SUDOEXISTS="$(awk '$1 == "%sudo" { print $1 }' /etc/sudoers)" +if [ -z "$SUDOEXISTS" ]; then + # append sudo entry to sudoers + echo "# Members of the sudo group may gain root privileges" >> /etc/sudoers + echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers +fi + +# make sure that NOPASSWD is set for %sudo +# expecially in the case that we didn't add it to /etc/sudoers +# just blow the %sudo line away and force it to be NOPASSWD +sed -i -e ' +/\%sudo/ c \ +%sudo ALL=(ALL) NOPASSWD: ALL +' /etc/sudoers diff --git a/sid-arm64-alip/customization/hooks/21-silence-systemd.chroot b/sid-arm64-alip/customization/hooks/21-silence-systemd.chroot new file mode 100755 index 0000000..14849bc --- /dev/null +++ b/sid-arm64-alip/customization/hooks/21-silence-systemd.chroot @@ -0,0 +1,9 @@ +#!/bin/sh + +# Make systemd less spammy + +sed -i 's/#LogLevel=info/LogLevel=warning/' \ + /etc/systemd/system.conf + +sed -i 's/#LogTarget=journal-or-kmsg/LogTarget=journal/' \ + /etc/systemd/system.conf diff --git a/sid-arm64-alip/customization/hooks/22-disable-systemd-services.chroot b/sid-arm64-alip/customization/hooks/22-disable-systemd-services.chroot new file mode 100755 index 0000000..beced9a --- /dev/null +++ b/sid-arm64-alip/customization/hooks/22-disable-systemd-services.chroot @@ -0,0 +1,9 @@ +#!/bin/bash + +# workaround 90s delay +services=(NetworkManager systemd-networkd) +for service in ${services[@]}; do + systemctl mask ${service}-wait-online.service +done + +systemctl mask wpa_supplicant@ diff --git a/sid-arm64-alip/customization/hooks/22-display-manager-autologin.chroot b/sid-arm64-alip/customization/hooks/22-display-manager-autologin.chroot new file mode 100755 index 0000000..84a6c7c --- /dev/null +++ b/sid-arm64-alip/customization/hooks/22-display-manager-autologin.chroot @@ -0,0 +1,16 @@ +#!/bin/sh + +# Enable lightdm autologin for linaro user +if [ -e /etc/lightdm/lightdm.conf ]; then + sed -i "s|^#autologin-user=.*|autologin-user=linaro|" /etc/lightdm/lightdm.conf + sed -i "s|^#autologin-user-timeout=.*|autologin-user-timeout=0|" /etc/lightdm/lightdm.conf +fi + +# Enable sddm autologin for linaro user and configure theme +if [ -e /usr/bin/sddm ]; then + /usr/bin/sddm --example-config > /etc/sddm.conf + sed -i "s|^Session=.*|Session=lxqt.desktop|" /etc/sddm.conf + sed -i "s|^User=.*|User=linaro|" /etc/sddm.conf + sed -i "s|^Current=.*|Current=breeze|" /etc/sddm.conf + sed -i "s|^CursorTheme==.*|CursorTheme=breeze_cursors|" /etc/sddm.conf +fi diff --git a/sid-arm64-alip/customization/hooks/23-customize-lxqt.chroot b/sid-arm64-alip/customization/hooks/23-customize-lxqt.chroot new file mode 100755 index 0000000..6b6cb79 --- /dev/null +++ b/sid-arm64-alip/customization/hooks/23-customize-lxqt.chroot @@ -0,0 +1,11 @@ +#!/bin/sh + +# Customize lxqt defaults +if [ -e /etc/xdg/lxqt/lxqt.conf ]; then + sed -i "s|^theme=.*|theme=kde-plasma|" /etc/xdg/lxqt/lxqt.conf + sed -i "s|^icon_theme=.*|icon_theme=breeze|" /etc/xdg/lxqt/lxqt.conf + sed -i "s|^style=.*|style=Breeze|" /etc/xdg/lxqt/lxqt.conf + sed -i "s|^window_manager=.*|window_manager=kwin|" /etc/xdg/lxqt/session.conf + sed -i "s|^cursor_theme=.*|cursor_theme=breeze_cursors|" /etc/xdg/lxqt/session.conf + sed -i "s|^Wallpaper=.*|Wallpaper=/usr/share/96boards/wallpapers/96boards-default-wallpaper.jpg|" /etc/xdg/pcmanfm-qt/lxqt/settings.conf +fi diff --git a/sid-arm64-alip/customization/hooks/98-resolvconf.binary b/sid-arm64-alip/customization/hooks/98-resolvconf.binary new file mode 100755 index 0000000..f6a3898 --- /dev/null +++ b/sid-arm64-alip/customization/hooks/98-resolvconf.binary @@ -0,0 +1,6 @@ +#!/bin/sh + +echo "I: Create /etc/resolv.conf link" +ln -sf /etc/resolvconf/run/resolv.conf binary/etc/resolv.conf +echo "I: Install fallback DNS to 8.8.8.8" +echo "nameserver 8.8.8.8" > binary/etc/resolvconf/resolv.conf.d/tail diff --git a/sid-arm64-alip/customization/hooks/99-cleanup_proxy.binary b/sid-arm64-alip/customization/hooks/99-cleanup_proxy.binary new file mode 100755 index 0000000..751faf5 --- /dev/null +++ b/sid-arm64-alip/customization/hooks/99-cleanup_proxy.binary @@ -0,0 +1,5 @@ +#!/bin/sh + +echo "I: Clean up proxy" +sed -i "s|localhost:3142/||" ./binary/etc/apt/sources.list +sed -i "s|localhost:3142/||" ./binary/etc/apt/sources.list.d/*.list diff --git a/sid-arm64-alip/customization/includes.chroot/etc/default/locale b/sid-arm64-alip/customization/includes.chroot/etc/default/locale new file mode 100644 index 0000000..f9c983c --- /dev/null +++ b/sid-arm64-alip/customization/includes.chroot/etc/default/locale @@ -0,0 +1 @@ +LANG=C.UTF-8 diff --git a/sid-arm64-alip/customization/includes.chroot/etc/hostname b/sid-arm64-alip/customization/includes.chroot/etc/hostname new file mode 100644 index 0000000..b18833f --- /dev/null +++ b/sid-arm64-alip/customization/includes.chroot/etc/hostname @@ -0,0 +1 @@ +linaro-alip diff --git a/sid-arm64-alip/customization/includes.chroot/etc/hosts b/sid-arm64-alip/customization/includes.chroot/etc/hosts new file mode 100644 index 0000000..7dcb363 --- /dev/null +++ b/sid-arm64-alip/customization/includes.chroot/etc/hosts @@ -0,0 +1,7 @@ +127.0.0.1 localhost +::1 localhost ip6-localhost ip6-loopback +fe00::0 ip6-localnet +ff00::0 ip6-mcastprefix +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +127.0.1.1 linaro-alip diff --git a/sid-arm64-alip/customization/includes.chroot/etc/kernel-img.conf b/sid-arm64-alip/customization/includes.chroot/etc/kernel-img.conf new file mode 100644 index 0000000..d24d4df --- /dev/null +++ b/sid-arm64-alip/customization/includes.chroot/etc/kernel-img.conf @@ -0,0 +1,6 @@ +# Kernel image management overrides +# See kernel-img.conf(5) for details +do_symlinks = yes +do_bootloader = no +do_initrd = yes +link_in_boot = yes diff --git a/sid-arm64-alip/customization/includes.chroot/etc/rc.local b/sid-arm64-alip/customization/includes.chroot/etc/rc.local new file mode 100755 index 0000000..39d1427 --- /dev/null +++ b/sid-arm64-alip/customization/includes.chroot/etc/rc.local @@ -0,0 +1,22 @@ +#!/bin/sh -e +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. + +# Generate the SSH keys if non-existent +if [ ! -f /etc/ssh/ssh_host_rsa_key ] +then + # else ssh service start in dpkg-reconfigure will fail + systemctl stop ssh.socket||true + dpkg-reconfigure openssh-server +fi + +exit 0 diff --git a/sid-arm64-alip/customization/package-lists/linaro.list.chroot b/sid-arm64-alip/customization/package-lists/linaro.list.chroot new file mode 100644 index 0000000..93399d9 --- /dev/null +++ b/sid-arm64-alip/customization/package-lists/linaro.list.chroot @@ -0,0 +1,172 @@ +# Packages needed for Linaro - LXQt +#linaro-default-settings +#ltrace +#npm +96boards-tools-common +acpi-support-base +adduser +alsa-utils +anacron +apt +apt-utils +babeltrace +bc +bluedevil +bluez +breeze +btrfs-tools +build-essential +bzip2 +ca-certificates +chromium +console-setup +cpufrequtils +crda +curl +dbus-x11 +debconf +debconf-i18n +debian-keyring +default-jre +desktop-file-utils +dnsmasq-base +eject +evtest +fbset +file +fonts-arphic-ukai +fonts-arphic-uming +fonts-freefont-ttf +fonts-ipafont-gothic +fonts-ipafont-mincho +fonts-unfonts-core +gdb +gdbserver +gdisk +git +glshim +gnome-keyring +gnupg +gpsd +gpsd-clients +gstreamer1.0-libav +gstreamer1.0-plugins-base-apps +gstreamer1.0-plugins-bad +gstreamer1.0-plugins-good +gstreamer1.0-tools +gvfs +hostapd +htop +i2c-tools +idlestat +ifupdown +initramfs-tools +initscripts +input-utils +iotop +iperf +iproute2 +iptables +iputils-ping +isc-dhcp-client +iw +kbd +kde-config-sddm +kde-window-manager +kmod +kwin-x11 +less +libxatracker2 +linaro-overlay-minimal +lm-sensors +locales +lsb-release +lsof +lximage-qt +lxqt-about +lxqt-admin +lxqt-common +lxqt-config +lxqt-globalkeys +lxqt-notificationd +lxqt-openssh-askpass +lxqt-panel +lxqt-policykit +lxqt-powermanagement +lxqt-qtplugin +lxqt-runner +lxqt-session +lxqt-sudo +makedev +mawk +mesa-utils +mesa-utils-extra +modemmanager +mutrace +net-tools +netbase +netcat-openbsd +network-manager-gnome +nodejs-legacy +ntpdate +obexftp +obexpushd +openssh-client +openssh-server +parted +pavucontrol-qt +pcmanfm-qt +phonon4qt5-backend-gstreamer +pinentry-qt +plasma-nm +policykit-1 +powerdebug +powertop +ppp +procps +psmisc +pulseaudio-module-bluetooth +python-libsoc +python-minimal +python-mraa +python-upm +python3 +qterminal +read-edid +resolvconf +rfkill +rsyslog +sddm +sddm-theme-breeze +ssh-import-id +strace +sudo +systemd +systemd-sysv +systemsettings +trace-cmd +udev +unzip +usb-modeswitch +usbutils +user-setup +vim +wamerican +wget +whiptail +wireless-tools +wpasupplicant +x11-utils +x11-xserver-utils +xdg-user-dirs +xinit +xmms2-client-cli +xmms2-plugin-mad +xmms2-plugin-pulse +xmms2-plugin-vorbis +xserver-xorg +xserver-xorg-input-evdev +xserver-xorg-video-fbdev +xserver-xorg-video-modesetting +xterm +zip diff --git a/sid-arm64-alip/customization/preseed/dictionaries-common.cfg.chroot b/sid-arm64-alip/customization/preseed/dictionaries-common.cfg.chroot new file mode 100644 index 0000000..b86c980 --- /dev/null +++ b/sid-arm64-alip/customization/preseed/dictionaries-common.cfg.chroot @@ -0,0 +1 @@ +dictionaries-common dictionaries-common/default-wordlist select american (American English) diff --git a/sid-arm64-blend/Makefile b/sid-arm64-blend/Makefile new file mode 100755 index 0000000..090c241 --- /dev/null +++ b/sid-arm64-blend/Makefile @@ -0,0 +1,33 @@ +#!/bin/sh + +# (C) 2012-2016 Fathi Boudra <fathi.boudra@linaro.org> + +# Calls all necessary live-build programs in the correct order to complete +# the bootstrap, chroot, binary, and source stage. + +# You need live-build package installed and superuser privileges. + +BUILD_NUMBER?=1 +BASEIMG=linaro-sid-blend +IMAGEPREFIX=$(BASEIMG)-`date +%Y%m%d`-$(BUILD_NUMBER) +LOGFILE=$(IMAGEPREFIX).build-log.txt +CONFIGFILE=$(IMAGEPREFIX).config.tar.bz2 +LISTFILE=$(IMAGEPREFIX).contents +PKGSFILE=$(IMAGEPREFIX).packages +TARGZFILE=$(IMAGEPREFIX).tar.gz +MD5SUMSFILE=$(IMAGEPREFIX).md5sums.txt +SHA1SUMSFILE=$(IMAGEPREFIX).sha1sums.txt + +all: + set -e; sudo lb build 2>&1 | tee $(LOGFILE) + tar -jcf $(CONFIGFILE) auto/ config/ configure; + sudo mv binary.contents $(LISTFILE); + sudo mv chroot.packages.live $(PKGSFILE); + sudo mv binary-tar.tar.gz $(TARGZFILE); + md5sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(MD5SUMSFILE); + sha1sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(SHA1SUMSFILE); + +clean: + sudo lb clean --purge + rm -f $(BASEIMG)-* + rm -rf config diff --git a/sid-arm64-blend/README b/sid-arm64-blend/README new file mode 100644 index 0000000..917e1f3 --- /dev/null +++ b/sid-arm64-blend/README @@ -0,0 +1,16 @@ +* To build binary image: + * install live-build qemu-user-static + * run configure + * run make + +* Scripts: + * configure + * Makefile + +* Configuration Layout + +`-- ./config + +* Customization Layout + +`-- ./customization diff --git a/sid-arm64-blend/configure b/sid-arm64-blend/configure new file mode 100755 index 0000000..3fa7618 --- /dev/null +++ b/sid-arm64-blend/configure @@ -0,0 +1,43 @@ +#!/bin/sh + +# (C) 2012-2016 Fathi Boudra <fathi.boudra@linaro.org> + +# Create configuration for live-build. + +# You need live-build package installed. + +set -e + +echo "I: create configuration" +export LB_BOOTSTRAP_INCLUDE="apt-transport-https gnupg" +lb config \ + --apt-indices false \ + --apt-recommends false \ + --apt-secure false \ + --architectures arm64 \ + --archive-areas 'main contrib non-free' \ + --backports false \ + --binary-filesystem ext4 \ + --binary-images tar \ + --bootappend-live "hostname=linaro-blend username=linaro" \ + --bootstrap-qemu-arch arm64 \ + --bootstrap-qemu-static /usr/bin/qemu-aarch64-static \ + --cache false \ + --chroot-filesystem none \ + --compression gzip \ + --debootstrap-options "--variant=minbase --include=apt-transport-https,gnupg" \ + --distribution sid \ + --gzip-options '-9 --rsyncable' \ + --iso-publisher 'Linaro; http://www.linaro.org/; linaro-dev@lists.linaro.org' \ + --iso-volume 'Linaro Sid $(date +%Y%m%d-%H:%M)' \ + --linux-flavours none \ + --linux-packages none \ + --mode debian \ + --security true \ + --system normal \ + --updates true + +echo "I: copy customization" +test -d customization && cp -rf customization/* config/ + +echo "I: done" diff --git a/sid-arm64-blend/customization/hooks/01-setup_user_linaro.chroot b/sid-arm64-blend/customization/hooks/01-setup_user_linaro.chroot new file mode 100755 index 0000000..9c65f97 --- /dev/null +++ b/sid-arm64-blend/customization/hooks/01-setup_user_linaro.chroot @@ -0,0 +1,7 @@ +#!/bin/sh + +echo "I: create linaro user" +adduser --gecos linaro --disabled-login linaro + +echo "I: set linaro user password" +echo "linaro:linaro" | chpasswd diff --git a/sid-arm64-blend/customization/hooks/02-add_linaro_to_groups.chroot b/sid-arm64-blend/customization/hooks/02-add_linaro_to_groups.chroot new file mode 100755 index 0000000..ad43cb7 --- /dev/null +++ b/sid-arm64-blend/customization/hooks/02-add_linaro_to_groups.chroot @@ -0,0 +1,18 @@ +#!/bin/sh -x + +DEFGROUPS="adm,dialout,cdrom,audio,dip,video,plugdev,bluetooth,pulse-access,sudo,systemd-journal,netdev,staff" + +IFS=',' +for group in $DEFGROUPS; do + /bin/egrep -i "^$group" /etc/group + if [ $? -eq 0 ]; then + echo "Group '$group' exists in /etc/group" + else + echo "Group '$group' does not exists in /etc/group, creating" + groupadd $group + fi +done +unset IFS + +echo "I: add linaro to ($DEFGROUPS) groups" +usermod -a -G ${DEFGROUPS} linaro diff --git a/sid-arm64-blend/customization/hooks/03-check_sudoers_for_admin.chroot b/sid-arm64-blend/customization/hooks/03-check_sudoers_for_admin.chroot new file mode 100755 index 0000000..fe86124 --- /dev/null +++ b/sid-arm64-blend/customization/hooks/03-check_sudoers_for_admin.chroot @@ -0,0 +1,17 @@ +#!/bin/sh + +# check to make sure sudoers file has ref for the sudo group +SUDOEXISTS="$(awk '$1 == "%sudo" { print $1 }' /etc/sudoers)" +if [ -z "$SUDOEXISTS" ]; then + # append sudo entry to sudoers + echo "# Members of the sudo group may gain root privileges" >> /etc/sudoers + echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers +fi + +# make sure that NOPASSWD is set for %sudo +# expecially in the case that we didn't add it to /etc/sudoers +# just blow the %sudo line away and force it to be NOPASSWD +sed -i -e ' +/\%sudo/ c \ +%sudo ALL=(ALL) NOPASSWD: ALL +' /etc/sudoers diff --git a/sid-arm64-blend/customization/hooks/21-silence-systemd.chroot b/sid-arm64-blend/customization/hooks/21-silence-systemd.chroot new file mode 100755 index 0000000..14849bc --- /dev/null +++ b/sid-arm64-blend/customization/hooks/21-silence-systemd.chroot @@ -0,0 +1,9 @@ +#!/bin/sh + +# Make systemd less spammy + +sed -i 's/#LogLevel=info/LogLevel=warning/' \ + /etc/systemd/system.conf + +sed -i 's/#LogTarget=journal-or-kmsg/LogTarget=journal/' \ + /etc/systemd/system.conf diff --git a/sid-arm64-blend/customization/hooks/22-disable-systemd-services.chroot b/sid-arm64-blend/customization/hooks/22-disable-systemd-services.chroot new file mode 100755 index 0000000..beced9a --- /dev/null +++ b/sid-arm64-blend/customization/hooks/22-disable-systemd-services.chroot @@ -0,0 +1,9 @@ +#!/bin/bash + +# workaround 90s delay +services=(NetworkManager systemd-networkd) +for service in ${services[@]}; do + systemctl mask ${service}-wait-online.service +done + +systemctl mask wpa_supplicant@ diff --git a/sid-arm64-blend/customization/hooks/98-resolvconf.binary b/sid-arm64-blend/customization/hooks/98-resolvconf.binary new file mode 100755 index 0000000..f6a3898 --- /dev/null +++ b/sid-arm64-blend/customization/hooks/98-resolvconf.binary @@ -0,0 +1,6 @@ +#!/bin/sh + +echo "I: Create /etc/resolv.conf link" +ln -sf /etc/resolvconf/run/resolv.conf binary/etc/resolv.conf +echo "I: Install fallback DNS to 8.8.8.8" +echo "nameserver 8.8.8.8" > binary/etc/resolvconf/resolv.conf.d/tail diff --git a/sid-arm64-blend/customization/includes.chroot/etc/default/locale b/sid-arm64-blend/customization/includes.chroot/etc/default/locale new file mode 100644 index 0000000..f9c983c --- /dev/null +++ b/sid-arm64-blend/customization/includes.chroot/etc/default/locale @@ -0,0 +1 @@ +LANG=C.UTF-8 diff --git a/sid-arm64-blend/customization/includes.chroot/etc/hostname b/sid-arm64-blend/customization/includes.chroot/etc/hostname new file mode 100644 index 0000000..f2a22a2 --- /dev/null +++ b/sid-arm64-blend/customization/includes.chroot/etc/hostname @@ -0,0 +1 @@ +linaro-blend diff --git a/sid-arm64-blend/customization/includes.chroot/etc/hosts b/sid-arm64-blend/customization/includes.chroot/etc/hosts new file mode 100644 index 0000000..af8efff --- /dev/null +++ b/sid-arm64-blend/customization/includes.chroot/etc/hosts @@ -0,0 +1,7 @@ +127.0.0.1 localhost +::1 localhost ip6-localhost ip6-loopback +fe00::0 ip6-localnet +ff00::0 ip6-mcastprefix +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +127.0.1.1 linaro-blend diff --git a/sid-arm64-blend/customization/includes.chroot/etc/kernel-img.conf b/sid-arm64-blend/customization/includes.chroot/etc/kernel-img.conf new file mode 100644 index 0000000..d24d4df --- /dev/null +++ b/sid-arm64-blend/customization/includes.chroot/etc/kernel-img.conf @@ -0,0 +1,6 @@ +# Kernel image management overrides +# See kernel-img.conf(5) for details +do_symlinks = yes +do_bootloader = no +do_initrd = yes +link_in_boot = yes diff --git a/sid-arm64-blend/customization/includes.chroot/etc/rc.local b/sid-arm64-blend/customization/includes.chroot/etc/rc.local new file mode 100755 index 0000000..39d1427 --- /dev/null +++ b/sid-arm64-blend/customization/includes.chroot/etc/rc.local @@ -0,0 +1,22 @@ +#!/bin/sh -e +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. + +# Generate the SSH keys if non-existent +if [ ! -f /etc/ssh/ssh_host_rsa_key ] +then + # else ssh service start in dpkg-reconfigure will fail + systemctl stop ssh.socket||true + dpkg-reconfigure openssh-server +fi + +exit 0 diff --git a/sid-arm64-blend/customization/package-lists/linaro.list.chroot b/sid-arm64-blend/customization/package-lists/linaro.list.chroot new file mode 100644 index 0000000..172e295 --- /dev/null +++ b/sid-arm64-blend/customization/package-lists/linaro.list.chroot @@ -0,0 +1,31 @@ +# Packages needed for Linaro - ALIP +build-essential +dbus-x11 +dhcpcd5 +dialog +file +gdb +gdisk +ifupdown +iputils-ping +kmod +libgl1-mesa-dri +locales +nano +net-tools +netbase +nfs-common +obconf +openbox +openssh-server +psmisc +python +resolvconf +systemd +systemd-sysv +valgrind +vim +weston +xdg-user-dirs-gtk +xfce4-terminal +xorg diff --git a/sid-arm64-blend/customization/preseed/dictionaries-common.cfg.chroot b/sid-arm64-blend/customization/preseed/dictionaries-common.cfg.chroot new file mode 100644 index 0000000..b86c980 --- /dev/null +++ b/sid-arm64-blend/customization/preseed/dictionaries-common.cfg.chroot @@ -0,0 +1 @@ +dictionaries-common dictionaries-common/default-wordlist select american (American English) diff --git a/sid-arm64-developer/Makefile b/sid-arm64-developer/Makefile new file mode 100755 index 0000000..e230904 --- /dev/null +++ b/sid-arm64-developer/Makefile @@ -0,0 +1,33 @@ +#!/bin/sh + +# (C) 2012-2015 Fathi Boudra <fathi.boudra@linaro.org> + +# Calls all necessary live-build programs in the correct order to complete +# the bootstrap, chroot, binary, and source stage. + +# You need live-build package installed and superuser privileges. + +BUILD_NUMBER?=1 +BASEIMG=linaro-sid-developer +IMAGEPREFIX=$(BASEIMG)-`date +%Y%m%d`-$(BUILD_NUMBER) +LOGFILE=$(IMAGEPREFIX).build-log.txt +CONFIGFILE=$(IMAGEPREFIX).config.tar.bz2 +LISTFILE=$(IMAGEPREFIX).contents +PKGSFILE=$(IMAGEPREFIX).packages +TARGZFILE=$(IMAGEPREFIX).tar.gz +MD5SUMSFILE=$(IMAGEPREFIX).md5sums.txt +SHA1SUMSFILE=$(IMAGEPREFIX).sha1sums.txt + +all: + set -e; sudo lb build 2>&1 | tee $(LOGFILE) + tar -jcf $(CONFIGFILE) auto/ config/ configure; + sudo mv binary.contents $(LISTFILE); + sudo mv chroot.packages.live $(PKGSFILE); + sudo mv binary-tar.tar.gz $(TARGZFILE); + md5sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(MD5SUMSFILE); + sha1sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(SHA1SUMSFILE); + +clean: + sudo lb clean --purge + rm -f $(BASEIMG)-* + rm -rf config diff --git a/sid-arm64-developer/README b/sid-arm64-developer/README new file mode 100644 index 0000000..917e1f3 --- /dev/null +++ b/sid-arm64-developer/README @@ -0,0 +1,16 @@ +* To build binary image: + * install live-build qemu-user-static + * run configure + * run make + +* Scripts: + * configure + * Makefile + +* Configuration Layout + +`-- ./config + +* Customization Layout + +`-- ./customization diff --git a/sid-arm64-developer/configure b/sid-arm64-developer/configure new file mode 100755 index 0000000..aba781f --- /dev/null +++ b/sid-arm64-developer/configure @@ -0,0 +1,42 @@ +#!/bin/sh + +# (C) 2012-2015 Fathi Boudra <fathi.boudra@linaro.org> + +# Create configuration for live-build. + +# You need live-build package installed. + +set -e + +echo "I: create configuration" +export LB_BOOTSTRAP_INCLUDE="apt-transport-https gnupg" +lb config \ + --apt-indices false \ + --apt-secure false \ + --architectures arm64 \ + --archive-areas 'main contrib non-free' \ + --backports false \ + --binary-filesystem ext4 \ + --binary-images tar \ + --bootappend-live "hostname=linaro-developer username=linaro" \ + --bootstrap-qemu-arch arm64 \ + --bootstrap-qemu-static /usr/bin/qemu-aarch64-static \ + --cache false \ + --chroot-filesystem none \ + --compression gzip \ + --debootstrap-options "--variant=minbase --include=apt-transport-https,gnupg" \ + --distribution sid \ + --gzip-options '-9 --rsyncable' \ + --iso-publisher 'Linaro; http://www.linaro.org/; linaro-dev@lists.linaro.org' \ + --iso-volume 'Linaro Stretch $(date +%Y%m%d-%H:%M)' \ + --linux-flavours none \ + --linux-packages none \ + --mode debian \ + --security true \ + --system normal \ + --updates true + +echo "I: copy customization" +test -d customization && cp -rf customization/* config/ + +echo "I: done" diff --git a/sid-arm64-developer/customization/archives/linaro-overlay-obs.key.chroot b/sid-arm64-developer/customization/archives/linaro-overlay-obs.key.chroot new file mode 100644 index 0000000..9a3b62d --- /dev/null +++ b/sid-arm64-developer/customization/archives/linaro-overlay-obs.key.chroot @@ -0,0 +1,78 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +iue2 +=GWuy +-----END PGP PUBLIC KEY BLOCK----- diff --git a/sid-arm64-developer/customization/archives/linaro-overlay-obs.list.chroot b/sid-arm64-developer/customization/archives/linaro-overlay-obs.list.chroot new file mode 100644 index 0000000..dce63a0 --- /dev/null +++ b/sid-arm64-developer/customization/archives/linaro-overlay-obs.list.chroot @@ -0,0 +1,2 @@ +deb http://obs.linaro.org/linaro-overlay-sid/sid/ ./ +deb-src http://obs.linaro.org/linaro-overlay-sid/sid/ ./ diff --git a/sid-arm64-developer/customization/hooks/01-setup_user_linaro.chroot b/sid-arm64-developer/customization/hooks/01-setup_user_linaro.chroot new file mode 100755 index 0000000..9c65f97 --- /dev/null +++ b/sid-arm64-developer/customization/hooks/01-setup_user_linaro.chroot @@ -0,0 +1,7 @@ +#!/bin/sh + +echo "I: create linaro user" +adduser --gecos linaro --disabled-login linaro + +echo "I: set linaro user password" +echo "linaro:linaro" | chpasswd diff --git a/sid-arm64-developer/customization/hooks/02-add_linaro_to_groups.chroot b/sid-arm64-developer/customization/hooks/02-add_linaro_to_groups.chroot new file mode 100755 index 0000000..ad43cb7 --- /dev/null +++ b/sid-arm64-developer/customization/hooks/02-add_linaro_to_groups.chroot @@ -0,0 +1,18 @@ +#!/bin/sh -x + +DEFGROUPS="adm,dialout,cdrom,audio,dip,video,plugdev,bluetooth,pulse-access,sudo,systemd-journal,netdev,staff" + +IFS=',' +for group in $DEFGROUPS; do + /bin/egrep -i "^$group" /etc/group + if [ $? -eq 0 ]; then + echo "Group '$group' exists in /etc/group" + else + echo "Group '$group' does not exists in /etc/group, creating" + groupadd $group + fi +done +unset IFS + +echo "I: add linaro to ($DEFGROUPS) groups" +usermod -a -G ${DEFGROUPS} linaro diff --git a/sid-arm64-developer/customization/hooks/03-check_sudoers_for_admin.chroot b/sid-arm64-developer/customization/hooks/03-check_sudoers_for_admin.chroot new file mode 100755 index 0000000..fe86124 --- /dev/null +++ b/sid-arm64-developer/customization/hooks/03-check_sudoers_for_admin.chroot @@ -0,0 +1,17 @@ +#!/bin/sh + +# check to make sure sudoers file has ref for the sudo group +SUDOEXISTS="$(awk '$1 == "%sudo" { print $1 }' /etc/sudoers)" +if [ -z "$SUDOEXISTS" ]; then + # append sudo entry to sudoers + echo "# Members of the sudo group may gain root privileges" >> /etc/sudoers + echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers +fi + +# make sure that NOPASSWD is set for %sudo +# expecially in the case that we didn't add it to /etc/sudoers +# just blow the %sudo line away and force it to be NOPASSWD +sed -i -e ' +/\%sudo/ c \ +%sudo ALL=(ALL) NOPASSWD: ALL +' /etc/sudoers diff --git a/sid-arm64-developer/customization/hooks/04-lava_test.chroot b/sid-arm64-developer/customization/hooks/04-lava_test.chroot new file mode 100755 index 0000000..6113b2e --- /dev/null +++ b/sid-arm64-developer/customization/hooks/04-lava_test.chroot @@ -0,0 +1,13 @@ +#!/bin/bash + +echo "I: run apt-get update" +apt-get update + +echo "I: install extra package" +apt-get install --yes build-essential git + +echo "I: install tests" +#nano_tests=(pwrmgmt gatortests perf device-tree) +#for nano_test in ${nano_tests[@]}; do +# echo "lava-test install ${nano_test}" +#done diff --git a/sid-arm64-developer/customization/hooks/21-silence-systemd.chroot b/sid-arm64-developer/customization/hooks/21-silence-systemd.chroot new file mode 100755 index 0000000..14849bc --- /dev/null +++ b/sid-arm64-developer/customization/hooks/21-silence-systemd.chroot @@ -0,0 +1,9 @@ +#!/bin/sh + +# Make systemd less spammy + +sed -i 's/#LogLevel=info/LogLevel=warning/' \ + /etc/systemd/system.conf + +sed -i 's/#LogTarget=journal-or-kmsg/LogTarget=journal/' \ + /etc/systemd/system.conf diff --git a/sid-arm64-developer/customization/hooks/22-disable-systemd-services.chroot b/sid-arm64-developer/customization/hooks/22-disable-systemd-services.chroot new file mode 100755 index 0000000..beced9a --- /dev/null +++ b/sid-arm64-developer/customization/hooks/22-disable-systemd-services.chroot @@ -0,0 +1,9 @@ +#!/bin/bash + +# workaround 90s delay +services=(NetworkManager systemd-networkd) +for service in ${services[@]}; do + systemctl mask ${service}-wait-online.service +done + +systemctl mask wpa_supplicant@ diff --git a/sid-arm64-developer/customization/hooks/98-resolvconf.binary b/sid-arm64-developer/customization/hooks/98-resolvconf.binary new file mode 100755 index 0000000..f6a3898 --- /dev/null +++ b/sid-arm64-developer/customization/hooks/98-resolvconf.binary @@ -0,0 +1,6 @@ +#!/bin/sh + +echo "I: Create /etc/resolv.conf link" +ln -sf /etc/resolvconf/run/resolv.conf binary/etc/resolv.conf +echo "I: Install fallback DNS to 8.8.8.8" +echo "nameserver 8.8.8.8" > binary/etc/resolvconf/resolv.conf.d/tail diff --git a/sid-arm64-developer/customization/hooks/99-cleanup_proxy.binary b/sid-arm64-developer/customization/hooks/99-cleanup_proxy.binary new file mode 100755 index 0000000..751faf5 --- /dev/null +++ b/sid-arm64-developer/customization/hooks/99-cleanup_proxy.binary @@ -0,0 +1,5 @@ +#!/bin/sh + +echo "I: Clean up proxy" +sed -i "s|localhost:3142/||" ./binary/etc/apt/sources.list +sed -i "s|localhost:3142/||" ./binary/etc/apt/sources.list.d/*.list diff --git a/sid-arm64-developer/customization/includes.chroot/etc/default/locale b/sid-arm64-developer/customization/includes.chroot/etc/default/locale new file mode 100644 index 0000000..f9c983c --- /dev/null +++ b/sid-arm64-developer/customization/includes.chroot/etc/default/locale @@ -0,0 +1 @@ +LANG=C.UTF-8 diff --git a/sid-arm64-developer/customization/includes.chroot/etc/hostname b/sid-arm64-developer/customization/includes.chroot/etc/hostname new file mode 100644 index 0000000..bafc623 --- /dev/null +++ b/sid-arm64-developer/customization/includes.chroot/etc/hostname @@ -0,0 +1 @@ +linaro-developer diff --git a/sid-arm64-developer/customization/includes.chroot/etc/hosts b/sid-arm64-developer/customization/includes.chroot/etc/hosts new file mode 100644 index 0000000..135dd9d --- /dev/null +++ b/sid-arm64-developer/customization/includes.chroot/etc/hosts @@ -0,0 +1,7 @@ +127.0.0.1 localhost +::1 localhost ip6-localhost ip6-loopback +fe00::0 ip6-localnet +ff00::0 ip6-mcastprefix +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +127.0.1.1 linaro-developer diff --git a/sid-arm64-developer/customization/includes.chroot/etc/kernel-img.conf b/sid-arm64-developer/customization/includes.chroot/etc/kernel-img.conf new file mode 100644 index 0000000..d24d4df --- /dev/null +++ b/sid-arm64-developer/customization/includes.chroot/etc/kernel-img.conf @@ -0,0 +1,6 @@ +# Kernel image management overrides +# See kernel-img.conf(5) for details +do_symlinks = yes +do_bootloader = no +do_initrd = yes +link_in_boot = yes diff --git a/sid-arm64-developer/customization/includes.chroot/etc/rc.local b/sid-arm64-developer/customization/includes.chroot/etc/rc.local new file mode 100755 index 0000000..39d1427 --- /dev/null +++ b/sid-arm64-developer/customization/includes.chroot/etc/rc.local @@ -0,0 +1,22 @@ +#!/bin/sh -e +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. + +# Generate the SSH keys if non-existent +if [ ! -f /etc/ssh/ssh_host_rsa_key ] +then + # else ssh service start in dpkg-reconfigure will fail + systemctl stop ssh.socket||true + dpkg-reconfigure openssh-server +fi + +exit 0 diff --git a/sid-arm64-developer/customization/package-lists/linaro.list.chroot b/sid-arm64-developer/customization/package-lists/linaro.list.chroot new file mode 100644 index 0000000..f58d46b --- /dev/null +++ b/sid-arm64-developer/customization/package-lists/linaro.list.chroot @@ -0,0 +1,97 @@ +# Packages needed for Linaro - Developer +#ltrace +96boards-tools-common +acpi-support-base +adduser +alsa-utils +apt +apt-utils +babeltrace +bluez +btrfs-tools +build-essential +bzip2 +console-setup +cpufrequtils +crda +curl +debconf +debconf-i18n +debian-keyring +default-jre-headless +dnsmasq-base +eject +evtest +fbset +file +gdb +gdbserver +gdisk +git +gnupg +hostapd +i2c-tools +idlestat +ifupdown +initramfs-tools +initscripts +input-utils +iotop +iperf +iproute2 +iptables +iputils-ping +isc-dhcp-client +iw +kbd +kmod +less +linaro-overlay-minimal +lm-sensors +lsb-release +lsof +makedev +mawk +mutrace +net-tools +netbase +netcat-openbsd +network-manager +ntpdate +obexftp +obexpushd +openssh-client +openssh-server +parted +powerdebug +powertop +procps +pulseaudio-module-bluetooth +python-libsoc +python-minimal +python-mraa +python-upm +python3 +resolvconf +rfkill +rsyslog +ssh-import-id +strace +sudo +systemd +systemd-sysv +trace-cmd +udev +unzip +usbutils +user-setup +vim +vim-tiny +wget +whiptail +wireless-tools +wpasupplicant +xmms2-client-cli +xmms2-plugin-mad +xmms2-plugin-pulse +xmms2-plugin-vorbis diff --git a/sid-arm64-installer/Makefile b/sid-arm64-installer/Makefile new file mode 100755 index 0000000..1015858 --- /dev/null +++ b/sid-arm64-installer/Makefile @@ -0,0 +1,33 @@ +#!/bin/sh + +# (C) 2012-2015 Fathi Boudra <fathi.boudra@linaro.org> + +# Calls all necessary live-build programs in the correct order to complete +# the bootstrap, chroot, binary, and source stage. + +# You need live-build package installed and superuser privileges. + +BUILD_NUMBER?=1 +BASEIMG=linaro-sid-installer +IMAGEPREFIX=$(BASEIMG)-`date +%Y%m%d`-$(BUILD_NUMBER) +LOGFILE=$(IMAGEPREFIX).build-log.txt +CONFIGFILE=$(IMAGEPREFIX).config.tar.bz2 +LISTFILE=$(IMAGEPREFIX).contents +PKGSFILE=$(IMAGEPREFIX).packages +TARGZFILE=$(IMAGEPREFIX).tar.gz +MD5SUMSFILE=$(IMAGEPREFIX).md5sums.txt +SHA1SUMSFILE=$(IMAGEPREFIX).sha1sums.txt + +all: + set -e; sudo lb build 2>&1 | tee $(LOGFILE) + tar -jcf $(CONFIGFILE) auto/ config/ configure; + sudo mv binary.contents $(LISTFILE); + sudo mv chroot.packages.live $(PKGSFILE); + sudo mv binary-tar.tar.gz $(TARGZFILE); + md5sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(MD5SUMSFILE); + sha1sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(SHA1SUMSFILE); + +clean: + sudo lb clean --purge + rm -f $(BASEIMG)-* + rm -rf config diff --git a/sid-arm64-installer/README b/sid-arm64-installer/README new file mode 100644 index 0000000..917e1f3 --- /dev/null +++ b/sid-arm64-installer/README @@ -0,0 +1,16 @@ +* To build binary image: + * install live-build qemu-user-static + * run configure + * run make + +* Scripts: + * configure + * Makefile + +* Configuration Layout + +`-- ./config + +* Customization Layout + +`-- ./customization diff --git a/sid-arm64-installer/configure b/sid-arm64-installer/configure new file mode 100755 index 0000000..7c075f4 --- /dev/null +++ b/sid-arm64-installer/configure @@ -0,0 +1,43 @@ +#!/bin/sh + +# (C) 2012-2015 Fathi Boudra <fathi.boudra@linaro.org> + +# Create configuration for live-build. + +# You need live-build package installed. + +set -e + +echo "I: create configuration" +export LB_BOOTSTRAP_INCLUDE="apt-transport-https gnupg" +lb config \ + --apt-indices false \ + --apt-recommends false \ + --apt-secure false \ + --architectures arm64 \ + --archive-areas 'main contrib non-free' \ + --backports false \ + --binary-filesystem ext4 \ + --binary-images tar \ + --bootappend-live "hostname=linaro-installer username=linaro" \ + --bootstrap-qemu-arch arm64 \ + --bootstrap-qemu-static /usr/bin/qemu-aarch64-static \ + --cache false \ + --chroot-filesystem none \ + --compression gzip \ + --debootstrap-options "--variant=minbase --include=apt-transport-https,gnupg" \ + --distribution sid \ + --gzip-options '-9 --rsyncable' \ + --iso-publisher 'Linaro; http://www.linaro.org/; linaro-dev@lists.linaro.org' \ + --iso-volume 'Linaro Stretch $(date +%Y%m%d-%H:%M)' \ + --linux-flavours none \ + --linux-packages none \ + --mode debian \ + --security true \ + --system normal \ + --updates true + +echo "I: copy customization" +test -d customization && cp -rf customization/* config/ + +echo "I: done" diff --git a/sid-arm64-installer/customization/archives/linaro-overlay-obs.key.chroot b/sid-arm64-installer/customization/archives/linaro-overlay-obs.key.chroot new file mode 100644 index 0000000..9a3b62d --- /dev/null +++ b/sid-arm64-installer/customization/archives/linaro-overlay-obs.key.chroot @@ -0,0 +1,78 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +iue2 +=GWuy +-----END PGP PUBLIC KEY BLOCK----- diff --git a/sid-arm64-installer/customization/archives/linaro-overlay-obs.list.chroot b/sid-arm64-installer/customization/archives/linaro-overlay-obs.list.chroot new file mode 100644 index 0000000..dce63a0 --- /dev/null +++ b/sid-arm64-installer/customization/archives/linaro-overlay-obs.list.chroot @@ -0,0 +1,2 @@ +deb http://obs.linaro.org/linaro-overlay-sid/sid/ ./ +deb-src http://obs.linaro.org/linaro-overlay-sid/sid/ ./ diff --git a/sid-arm64-installer/customization/hooks/01-setup_user_linaro.chroot b/sid-arm64-installer/customization/hooks/01-setup_user_linaro.chroot new file mode 100755 index 0000000..9c65f97 --- /dev/null +++ b/sid-arm64-installer/customization/hooks/01-setup_user_linaro.chroot @@ -0,0 +1,7 @@ +#!/bin/sh + +echo "I: create linaro user" +adduser --gecos linaro --disabled-login linaro + +echo "I: set linaro user password" +echo "linaro:linaro" | chpasswd diff --git a/sid-arm64-installer/customization/hooks/02-add_linaro_to_groups.chroot b/sid-arm64-installer/customization/hooks/02-add_linaro_to_groups.chroot new file mode 100755 index 0000000..ad43cb7 --- /dev/null +++ b/sid-arm64-installer/customization/hooks/02-add_linaro_to_groups.chroot @@ -0,0 +1,18 @@ +#!/bin/sh -x + +DEFGROUPS="adm,dialout,cdrom,audio,dip,video,plugdev,bluetooth,pulse-access,sudo,systemd-journal,netdev,staff" + +IFS=',' +for group in $DEFGROUPS; do + /bin/egrep -i "^$group" /etc/group + if [ $? -eq 0 ]; then + echo "Group '$group' exists in /etc/group" + else + echo "Group '$group' does not exists in /etc/group, creating" + groupadd $group + fi +done +unset IFS + +echo "I: add linaro to ($DEFGROUPS) groups" +usermod -a -G ${DEFGROUPS} linaro diff --git a/sid-arm64-installer/customization/hooks/03-check_sudoers_for_admin.chroot b/sid-arm64-installer/customization/hooks/03-check_sudoers_for_admin.chroot new file mode 100755 index 0000000..fe86124 --- /dev/null +++ b/sid-arm64-installer/customization/hooks/03-check_sudoers_for_admin.chroot @@ -0,0 +1,17 @@ +#!/bin/sh + +# check to make sure sudoers file has ref for the sudo group +SUDOEXISTS="$(awk '$1 == "%sudo" { print $1 }' /etc/sudoers)" +if [ -z "$SUDOEXISTS" ]; then + # append sudo entry to sudoers + echo "# Members of the sudo group may gain root privileges" >> /etc/sudoers + echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers +fi + +# make sure that NOPASSWD is set for %sudo +# expecially in the case that we didn't add it to /etc/sudoers +# just blow the %sudo line away and force it to be NOPASSWD +sed -i -e ' +/\%sudo/ c \ +%sudo ALL=(ALL) NOPASSWD: ALL +' /etc/sudoers diff --git a/sid-arm64-installer/customization/hooks/21-silence-systemd.chroot b/sid-arm64-installer/customization/hooks/21-silence-systemd.chroot new file mode 100755 index 0000000..14849bc --- /dev/null +++ b/sid-arm64-installer/customization/hooks/21-silence-systemd.chroot @@ -0,0 +1,9 @@ +#!/bin/sh + +# Make systemd less spammy + +sed -i 's/#LogLevel=info/LogLevel=warning/' \ + /etc/systemd/system.conf + +sed -i 's/#LogTarget=journal-or-kmsg/LogTarget=journal/' \ + /etc/systemd/system.conf diff --git a/sid-arm64-installer/customization/hooks/22-disable-systemd-services.chroot b/sid-arm64-installer/customization/hooks/22-disable-systemd-services.chroot new file mode 100755 index 0000000..beced9a --- /dev/null +++ b/sid-arm64-installer/customization/hooks/22-disable-systemd-services.chroot @@ -0,0 +1,9 @@ +#!/bin/bash + +# workaround 90s delay +services=(NetworkManager systemd-networkd) +for service in ${services[@]}; do + systemctl mask ${service}-wait-online.service +done + +systemctl mask wpa_supplicant@ diff --git a/sid-arm64-installer/customization/hooks/22-lightdm-autologin.chroot b/sid-arm64-installer/customization/hooks/22-lightdm-autologin.chroot new file mode 100755 index 0000000..695dc19 --- /dev/null +++ b/sid-arm64-installer/customization/hooks/22-lightdm-autologin.chroot @@ -0,0 +1,7 @@ +#!/bin/sh + +# Enable lightdm autologin for linaro user +if [ -e /etc/lightdm/lightdm.conf ]; then + sed -i "s|^#autologin-user=.*|autologin-user=linaro|" /etc/lightdm/lightdm.conf + sed -i "s|^#autologin-user-timeout=.*|autologin-user-timeout=0|" /etc/lightdm/lightdm.conf +fi diff --git a/sid-arm64-installer/customization/hooks/98-resolvconf.binary b/sid-arm64-installer/customization/hooks/98-resolvconf.binary new file mode 100755 index 0000000..f6a3898 --- /dev/null +++ b/sid-arm64-installer/customization/hooks/98-resolvconf.binary @@ -0,0 +1,6 @@ +#!/bin/sh + +echo "I: Create /etc/resolv.conf link" +ln -sf /etc/resolvconf/run/resolv.conf binary/etc/resolv.conf +echo "I: Install fallback DNS to 8.8.8.8" +echo "nameserver 8.8.8.8" > binary/etc/resolvconf/resolv.conf.d/tail diff --git a/sid-arm64-installer/customization/hooks/99-cleanup_proxy.binary b/sid-arm64-installer/customization/hooks/99-cleanup_proxy.binary new file mode 100755 index 0000000..751faf5 --- /dev/null +++ b/sid-arm64-installer/customization/hooks/99-cleanup_proxy.binary @@ -0,0 +1,5 @@ +#!/bin/sh + +echo "I: Clean up proxy" +sed -i "s|localhost:3142/||" ./binary/etc/apt/sources.list +sed -i "s|localhost:3142/||" ./binary/etc/apt/sources.list.d/*.list diff --git a/sid-arm64-installer/customization/includes.chroot/etc/default/locale b/sid-arm64-installer/customization/includes.chroot/etc/default/locale new file mode 100644 index 0000000..f9c983c --- /dev/null +++ b/sid-arm64-installer/customization/includes.chroot/etc/default/locale @@ -0,0 +1 @@ +LANG=C.UTF-8 diff --git a/sid-arm64-installer/customization/includes.chroot/etc/hostname b/sid-arm64-installer/customization/includes.chroot/etc/hostname new file mode 100644 index 0000000..d424a53 --- /dev/null +++ b/sid-arm64-installer/customization/includes.chroot/etc/hostname @@ -0,0 +1 @@ +linaro-installer diff --git a/sid-arm64-installer/customization/includes.chroot/etc/hosts b/sid-arm64-installer/customization/includes.chroot/etc/hosts new file mode 100644 index 0000000..a77e463 --- /dev/null +++ b/sid-arm64-installer/customization/includes.chroot/etc/hosts @@ -0,0 +1,7 @@ +127.0.0.1 localhost +::1 localhost ip6-localhost ip6-loopback +fe00::0 ip6-localnet +ff00::0 ip6-mcastprefix +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +127.0.1.1 linaro-installer diff --git a/sid-arm64-installer/customization/includes.chroot/etc/kernel-img.conf b/sid-arm64-installer/customization/includes.chroot/etc/kernel-img.conf new file mode 100644 index 0000000..d24d4df --- /dev/null +++ b/sid-arm64-installer/customization/includes.chroot/etc/kernel-img.conf @@ -0,0 +1,6 @@ +# Kernel image management overrides +# See kernel-img.conf(5) for details +do_symlinks = yes +do_bootloader = no +do_initrd = yes +link_in_boot = yes diff --git a/sid-arm64-installer/customization/includes.chroot/etc/rc.local b/sid-arm64-installer/customization/includes.chroot/etc/rc.local new file mode 100755 index 0000000..39d1427 --- /dev/null +++ b/sid-arm64-installer/customization/includes.chroot/etc/rc.local @@ -0,0 +1,22 @@ +#!/bin/sh -e +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. + +# Generate the SSH keys if non-existent +if [ ! -f /etc/ssh/ssh_host_rsa_key ] +then + # else ssh service start in dpkg-reconfigure will fail + systemctl stop ssh.socket||true + dpkg-reconfigure openssh-server +fi + +exit 0 diff --git a/sid-arm64-installer/customization/package-lists/linaro.list.chroot b/sid-arm64-installer/customization/package-lists/linaro.list.chroot new file mode 100644 index 0000000..f5cc42e --- /dev/null +++ b/sid-arm64-installer/customization/package-lists/linaro.list.chroot @@ -0,0 +1,52 @@ +# Packages needed for Linaro - Nano +96boards-installer-session +96boards-tools-common +android-tools-fsutils +apt +apt-utils +console-setup +debconf +gdisk +gnupg +grub-common +grub-efi-arm64 +ifupdown +initramfs-tools +initscripts +iproute2 +iputils-ping +isc-dhcp-client +kbd +kpartx +libgl1-mesa-dri +libgl1-mesa-glx +lightdm +linaro-overlay-minimal +makedev +mawk +mesa-utils +net-tools +netbase +netcat-openbsd +network-manager +ntpdate +procps +python-minimal +resolvconf +rsyslog +sudo +systemd +systemd-sysv +udev +user-setup +util-linux +whiptail +x11-utils +x11-xserver-utils +xinit +xserver-xorg +xserver-xorg-input-evdev +xserver-xorg-video-fbdev +xserver-xorg-video-modesetting +xterm +zip diff --git a/sid-arm64-installer/customization/preseed/dictionaries-common.cfg.chroot b/sid-arm64-installer/customization/preseed/dictionaries-common.cfg.chroot new file mode 100644 index 0000000..b86c980 --- /dev/null +++ b/sid-arm64-installer/customization/preseed/dictionaries-common.cfg.chroot @@ -0,0 +1 @@ +dictionaries-common dictionaries-common/default-wordlist select american (American English) diff --git a/sid-armhf-alip/Makefile b/sid-armhf-alip/Makefile new file mode 100755 index 0000000..a95d2ff --- /dev/null +++ b/sid-armhf-alip/Makefile @@ -0,0 +1,33 @@ +#!/bin/sh + +# (C) 2012-2015 Fathi Boudra <fathi.boudra@linaro.org> + +# Calls all necessary live-build programs in the correct order to complete +# the bootstrap, chroot, binary, and source stage. + +# You need live-build package installed and superuser privileges. + +BUILD_NUMBER?=1 +BASEIMG=linaro-sid-alip +IMAGEPREFIX=$(BASEIMG)-`date +%Y%m%d`-$(BUILD_NUMBER) +LOGFILE=$(IMAGEPREFIX).build-log.txt +CONFIGFILE=$(IMAGEPREFIX).config.tar.bz2 +LISTFILE=$(IMAGEPREFIX).contents +PKGSFILE=$(IMAGEPREFIX).packages +TARGZFILE=$(IMAGEPREFIX).tar.gz +MD5SUMSFILE=$(IMAGEPREFIX).md5sums.txt +SHA1SUMSFILE=$(IMAGEPREFIX).sha1sums.txt + +all: + set -e; sudo lb build 2>&1 | tee $(LOGFILE) + tar -jcf $(CONFIGFILE) auto/ config/ configure; + sudo mv binary.contents $(LISTFILE); + sudo mv chroot.packages.live $(PKGSFILE); + sudo mv binary-tar.tar.gz $(TARGZFILE); + md5sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(MD5SUMSFILE); + sha1sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(SHA1SUMSFILE); + +clean: + sudo lb clean --purge + rm -f $(BASEIMG)-* + rm -rf config diff --git a/sid-armhf-alip/README b/sid-armhf-alip/README new file mode 100644 index 0000000..917e1f3 --- /dev/null +++ b/sid-armhf-alip/README @@ -0,0 +1,16 @@ +* To build binary image: + * install live-build qemu-user-static + * run configure + * run make + +* Scripts: + * configure + * Makefile + +* Configuration Layout + +`-- ./config + +* Customization Layout + +`-- ./customization diff --git a/sid-armhf-alip/configure b/sid-armhf-alip/configure new file mode 100755 index 0000000..c3ee10d --- /dev/null +++ b/sid-armhf-alip/configure @@ -0,0 +1,43 @@ +#!/bin/sh + +# (C) 2012-2016 Fathi Boudra <fathi.boudra@linaro.org> + +# Create configuration for live-build. + +# You need live-build package installed. + +set -e + +echo "I: create configuration" +export LB_BOOTSTRAP_INCLUDE="apt-transport-https gnupg" +lb config \ + --apt-indices false \ + --apt-recommends false \ + --apt-secure false \ + --architectures armhf \ + --archive-areas 'main contrib non-free' \ + --backports false \ + --binary-filesystem ext4 \ + --binary-images tar \ + --bootappend-live "hostname=linaro-alip username=linaro" \ + --bootstrap-qemu-arch armhf \ + --bootstrap-qemu-static /usr/bin/qemu-arm-static \ + --cache false \ + --chroot-filesystem none \ + --compression gzip \ + --debootstrap-options "--variant=minbase --include=apt-transport-https,gnupg" \ + --distribution sid \ + --gzip-options '-9 --rsyncable' \ + --iso-publisher 'Linaro; http://www.linaro.org/; linaro-dev@lists.linaro.org' \ + --iso-volume 'Linaro Sid $(date +%Y%m%d-%H:%M)' \ + --linux-flavours none \ + --linux-packages none \ + --mode debian \ + --security true \ + --system normal \ + --updates true + +echo "I: copy customization" +test -d customization && cp -rf customization/* config/ + +echo "I: done" diff --git a/sid-armhf-alip/customization/archives/linaro-overlay-obs.key.chroot b/sid-armhf-alip/customization/archives/linaro-overlay-obs.key.chroot new file mode 100644 index 0000000..9a3b62d --- /dev/null +++ b/sid-armhf-alip/customization/archives/linaro-overlay-obs.key.chroot @@ -0,0 +1,78 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFjScWoBEADG3dc026l2DSQjMH4AjSAiHILLTgf0VjjucNcFJv2jQE9Z9x9X +Mp1naLrjKXW+ZoZobFATZa+syflQWB6BZAEdtm0o37wHE9BDJvAevVeqZAYCg2MW +ONiAu836Pdjd1ZVXQNA8ECuAe5YNMvEwWY7H0mhZKu6s26cLbkM82FNv8Zgxy9FW +h3i2kbwYBQ2aVgfDq02NVyamB7MExHZpDz/sLHoCfIubKzAV1Nf/EkDmVjzcc2mk +0xGu0k95vn3qUNZ3XUrj0xkGJ7ziGERQhj5tIizD5Hx8qlpcGjR8OUXb0cU3rbik +hiuGUdkNi4sFvDoCRt2N8/mFK58sZ3/SIN7sir1zbyMj7fd1gdHox4IUI6oMPNQi +VSVHjWufYS+B7jL2uebk77OJgnUQBb5ZQxyo/NG+VkiYaRyHTTd/a4AmQ5GvQNQE +MCZ8NlP+Zi2Z0nELJLPYpzcESuMuVBGfDbtlW8SQ8VtQC/FRV3tV/tBgfgIeDnet +hDS3NsF967zcf6c1G2W60Vo8hb7YW0Cd/fjx3QnvqK8oQtHh6+WBEFNS50zAxsHy +S0pP0NLNc7OfKWRd+IzYDnTnWK2XdLhfdaU66Di0PEVRleIBgE3cMIdSgyKcM/13 +sMY43zEAePkeS89QaHYlJ4bfIdUUFNDEcE0L5C+pV37c+EhCtMIEP7+ATQARAQAB +tCZMaW5hcm8gT0JTIDxwYWNrYWdlc0BsaXN0cy5saW5hcm8ub3JnPokCTgQTAQgA +OBYhBMHgwsfiR092wX/oq8MtoQKticK+BQJY0nFqAhsDBQsJCAcCBhUICQoLAgQW +AgMBAh4BAheAAAoJEMMtoQKticK+/LcP/3mJCGRP2+9ViPmAXfj7kmhJ8cs3IRBW +YZPszidCMjdyOVTb72tR1G6MbdrxvOzwY1oFdNZVY06M0k5JhOGz3wM3L3xGhhIM +r8grJaW/FKPFQGhOk4JvBtIwT7HPPppN1s5gXX5+8oaMrjD3yVwlAwXVAYRxGRFD +Ghz9rjq/N+7VdavMvDXGBPohk++mVKEBncB2SPHTXknuccpsslHIBzF6v26SLfej +qEeTRP6h+aDZYI5HEwA8kTeyS9WLVBWn76MiUl1PpXVr4tMr2lvQDoMbpOC7v+Rj +WBaoDnC95RiE7gQHGGWwDYV2NTGzYhnPEhJG/w3Lf9aQlmwZ03dgbiHu1LZo35Ze +GK7f661ne2x/Mr9hXOpNT/10LQipjycj9tjThAI5KDBrwBEG18UXZnuqEBnt+JBd +EmrSvWTXbjBcwSYLvzQYKz7M/XNwXOm77RQRxwLBLIl8EtrVfCKkP0xqZeXVkGoS +w2XWejAdH23xjHMthfsWFr2Sjq6KPFvuBl+MKCX40MISZfN74oy1I3CHKmf82CIf +UAZ8mOPztdFATLLNtK8pOb7w/7Kb4wbqrx1VeEbq7fIim/OsRaMrKaxakc088JkO +Lh8uEeH3Qv4p6dmkGpTmNboqPJk1NyXA8QbfA21WIJzXt/cSuUX6EyoS6avX2vV/ +i/N0gSX7RPnbuQENBFjScWoBCADp52SyPuBzjA8mRYz82aFnuihhWQedJOMqAQNH +O0Kk4Ytpj6u4oboWxyO95y0wMdd6sY5ID2lSIoEHeYBFv+fVmXefaDY+VtaZRpS1 +vJj2UYcosWmbGK25kYWMC1TK/nictDS40IrfXWBu94FMQinSPJbEvsEdSK7UIzVV +mm4qKcqAt3mx/zsWIXrMTPFZLcXUOFGfaDHVG1V9POHaLzHQtDSX5VRUCI4SSRNa +L44tsbEcmP0B3sy8oi1Q3fEenGmfLYscwxFcuRH4Mu2ZnUtI/2BLOzNpXApe7vpw +gOw0suQajFVOlc4enRHNhMWCoGRBrMF3quOJ3v4dPFVln4KfABEBAAGJAjYEGAEI +ACAWIQTB4MLH4kdPdsF/6KvDLaECrYnCvgUCWNJxagIbDAAKCRDDLaECrYnCvjSz +EACXmPvUp4Q7m1dedW92LwMLGbH3EEDojWRjj/ayQ2qfoeuSp0OZenfLUb5Y2pdA +mzwVFI2De4zDOOgtaUFI5GAKcyLcEsfDwtK+l1j2Hq6jPpEhLIq17/2MQS2NsT+O +nRdGkjFfGxXAYYIaUurcYeBMtVK8JJGgX02qYE3MYtptC54G5SgSfSp19YLS3+s6 +WLM+hkLeDES23nbyl6wQazN8gLiQbyi+HK8iTv8fW+kJLgN/mT+fwXEBvgfCA7ID +b12K0gAo3lSz98OfSDKKrDMuYm4CgnTm9ANsTkiLlLb7285gWmoNdKKTmhMiT8IN +8Cm2I7WZTckGlhwnNGTXuyAlwU1tt2bKL5hXIVMVfInxlFKGNKMLNcQXHoIZs5dp +QvC4sinQETF4dZGSad/wX+jbdU5B1n4yz4VuyWdKI0a/HQzadmcDOoj4bMk9dCNI +fAqAMLq0dzQldoE8hexLdwe2Jg1IXJ3vpUe17lnmlc7O2IQdkbBDM9BG/LyepMvL +yWKN3dkC++SWxHTbeoCgC2H1BkL7noGDgcqrkMbBbap91zpUWgllrI6QDO8SvM9i +/C9JvSlXkg3+LTaXsjuD6kr2Dv23lZixWcCu2VLdWDD95l5y5E5h4A0CgH9qoyFe +37r930LkTHd6YpIbn6QtD0ZyweUgmu6kFS7oKoaJu8D/2bkDLgRY0nKPEQgA+YLJ +zyHaUXNobNojXi4hf7TJol4qXMlYlbZEqxGY/vANf+3/1GqShEF/e7t/LiLaM2ep +GTxOyFUhdsaiBmTjy9KKxd3EfCB7fmjKlw+4EbSyjo/6+uTad6K68YKw0dfxKix6 +qhloXk0+0Mq58KDeIGx8XhAIh4ogrH06uvno3y0mIfXzD11LXuEvsLSJ+ElBV9Xl ++l2mfMC+gAyAFlap6CliVy6nhDjeHAhr1fdH5ZRHa6/FXGTzoB8qCDDBEcf49gJW +Etzvk9LsO+NTiiQ5PoxQUBQ41nGRicgq2IWSi3411LmsZh4WoX9gNIRQaeKCbFC3 +J5Vx2gik78N1+SBZLwEAwpRUZnJS5UG88nBfga/lFH35Y/pn0GrriZKwFYb0GOcH +/0pGs2zRrPH29VOSrqIA1+WZz8GvwZk0FXWwnN+0MoA0dLPhm+8KiXSu25zlS/gj +TnO31oQ+2/F0sSPxFUvWKuzmcaeKSrCfn18/jw+oCua+xoHaBWk6Shp/1WVWdkXr +NhHNRWZdQRkFGNf2hbZv7ESv77nl1HyHqDzpEVVnod0f1VsnFrge/vwhu3SHwxhw +/iso0PldvSdQnAH0mP76ihXy5bv0lKqYMcKgQwPtTYY+9llhDwEKJhjfVdHky76E +c1gILus/9nvQRAOZrDwYgF8PSyMFAzQoZatHFz/E6/W4fpuKpFwqkC6rmUam0EXQ +QUAUVNxDds3qKcCY3xhxgb0IAKIrAvjlLCKbxjl4VyDLrBFYjMMYHQJj2Dsf2Qfr +52PmEEGuAPbB+UUlGCrITISXAlTGM1Vyhqd6wGlyyYCZE9YjCKB/x6MGZXwACO3j +8/A6+esanFfqvYZ39zGS6GLmLqdoIvf5qJe1Ye4dFcNHkuhH91FR+aYyKbDdFY3Q +hZRP8nXSjNwiATdCa2OeCPAOswQunVZ8Q3BcTkkT/mnic4ZaN6vUSJp6HjEghW0R +7Nm3sPJne93+ELLBJlBNvQ+I4JfVSRF+UEHbHgy84UyO/OUTheRpitj0wh6Qci3x +nwRWsCtcugHbygZIWDV7WvjbRfE12J8Efvx51r2JI7OyiyWJAq0EGAEIACAWIQTB +4MLH4kdPdsF/6KvDLaECrYnCvgUCWNJyjwIbAgCBCRDDLaECrYnCvnYgBBkRCAAd +FiEEO8sB1dZAYZfWRBRdFetWFc5RIDEFAljSco8ACgkQFetWFc5RIDFSjwD/SQ77 +Tcvwx6MOkVkUTv2xJBb4mZZYjAPauaizR0X2QHkA/2Eh6zfIGuYnTI/o1fPsF2j2 +F4rSd5YIhacn7WDKu+NlgLIP/2ioxpohCWKphPH9Q2AGyZ7HrIJHYZQ4r36xQhrT +tlB5hyUNnU94eXgP0WMgmK18SbRrTaE3kODMATeT6IoeGrRzcn8kM4KHDkUBrSCk +UuQ7DOwvAhzJyoFr6MgMo9DRLauL7hi2nVx4vWezIMkKQsoSVcE4CQ3h6xW+fbi/ +G21J8wgk02lR7hJjKv/DWpc2qo0ZgZtldWq+PrbJ1TZh0n+4SOxZagPMsb2G9Y+d +NScUvcoy3fu4E92U6xcVdqD98XElkLbHeT5BIdPuMU95+hyMVhmY4uhnau9eK+iw +yLfOCinWIm1zhkAB1RzvksleQWG8EJw13l3fJV3UKlKzkUvdw3tX7AsAL9PfnBfu +zgktildE7NQ6IZY3pqs0epR8roDU1EXc/lD2xAu7++KpulwVXKsCwrCyTW4SbfSO +PNxHOs7RpXYpqQtVMRNSzi0GpRXmf2Bm/+L2BjsPsVjuqFKN9LFE9YCgLZub2SF6 +vkhqzvZz+QbzCNx90onVfMFtIv9qS7CXPO2sMNHEPP1SI7PdTuEjVGANoSug77vb +kzcxup7vTflmnCfU7gt+xE5NNzocy3uCGHrC+F9dRJy6tmthKoRaBbVutx2zM52w +XlcCjMjjkp2CoTiyyVnQYP4f7fXKih8M4Af141aGwlwxyPPZ8uXfYaMWdVAMbmOT +iue2 +=GWuy +-----END PGP PUBLIC KEY BLOCK----- diff --git a/sid-armhf-alip/customization/archives/linaro-overlay-obs.list.chroot b/sid-armhf-alip/customization/archives/linaro-overlay-obs.list.chroot new file mode 100644 index 0000000..dce63a0 --- /dev/null +++ b/sid-armhf-alip/customization/archives/linaro-overlay-obs.list.chroot @@ -0,0 +1,2 @@ +deb http://obs.linaro.org/linaro-overlay-sid/sid/ ./ +deb-src http://obs.linaro.org/linaro-overlay-sid/sid/ ./ diff --git a/sid-armhf-alip/customization/hooks/01-setup_user_linaro.chroot b/sid-armhf-alip/customization/hooks/01-setup_user_linaro.chroot new file mode 100755 index 0000000..9c65f97 --- /dev/null +++ b/sid-armhf-alip/customization/hooks/01-setup_user_linaro.chroot @@ -0,0 +1,7 @@ +#!/bin/sh + +echo "I: create linaro user" +adduser --gecos linaro --disabled-login linaro + +echo "I: set linaro user password" +echo "linaro:linaro" | chpasswd diff --git a/sid-armhf-alip/customization/hooks/02-add_linaro_to_groups.chroot b/sid-armhf-alip/customization/hooks/02-add_linaro_to_groups.chroot new file mode 100755 index 0000000..ad43cb7 --- /dev/null +++ b/sid-armhf-alip/customization/hooks/02-add_linaro_to_groups.chroot @@ -0,0 +1,18 @@ +#!/bin/sh -x + +DEFGROUPS="adm,dialout,cdrom,audio,dip,video,plugdev,bluetooth,pulse-access,sudo,systemd-journal,netdev,staff" + +IFS=',' +for group in $DEFGROUPS; do + /bin/egrep -i "^$group" /etc/group + if [ $? -eq 0 ]; then + echo "Group '$group' exists in /etc/group" + else + echo "Group '$group' does not exists in /etc/group, creating" + groupadd $group + fi +done +unset IFS + +echo "I: add linaro to ($DEFGROUPS) groups" +usermod -a -G ${DEFGROUPS} linaro diff --git a/sid-armhf-alip/customization/hooks/03-check_sudoers_for_admin.chroot b/sid-armhf-alip/customization/hooks/03-check_sudoers_for_admin.chroot new file mode 100755 index 0000000..fe86124 --- /dev/null +++ b/sid-armhf-alip/customization/hooks/03-check_sudoers_for_admin.chroot @@ -0,0 +1,17 @@ +#!/bin/sh + +# check to make sure sudoers file has ref for the sudo group +SUDOEXISTS="$(awk '$1 == "%sudo" { print $1 }' /etc/sudoers)" +if [ -z "$SUDOEXISTS" ]; then + # append sudo entry to sudoers + echo "# Members of the sudo group may gain root privileges" >> /etc/sudoers + echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers +fi + +# make sure that NOPASSWD is set for %sudo +# expecially in the case that we didn't add it to /etc/sudoers +# just blow the %sudo line away and force it to be NOPASSWD +sed -i -e ' +/\%sudo/ c \ +%sudo ALL=(ALL) NOPASSWD: ALL +' /etc/sudoers diff --git a/sid-armhf-alip/customization/hooks/21-silence-systemd.chroot b/sid-armhf-alip/customization/hooks/21-silence-systemd.chroot new file mode 100755 index 0000000..14849bc --- /dev/null +++ b/sid-armhf-alip/customization/hooks/21-silence-systemd.chroot @@ -0,0 +1,9 @@ +#!/bin/sh + +# Make systemd less spammy + +sed -i 's/#LogLevel=info/LogLevel=warning/' \ + /etc/systemd/system.conf + +sed -i 's/#LogTarget=journal-or-kmsg/LogTarget=journal/' \ + /etc/systemd/system.conf diff --git a/sid-armhf-alip/customization/hooks/22-disable-systemd-services.chroot b/sid-armhf-alip/customization/hooks/22-disable-systemd-services.chroot new file mode 100755 index 0000000..beced9a --- /dev/null +++ b/sid-armhf-alip/customization/hooks/22-disable-systemd-services.chroot @@ -0,0 +1,9 @@ +#!/bin/bash + +# workaround 90s delay +services=(NetworkManager systemd-networkd) +for service in ${services[@]}; do + systemctl mask ${service}-wait-online.service +done + +systemctl mask wpa_supplicant@ diff --git a/sid-armhf-alip/customization/hooks/22-display-manager-autologin.chroot b/sid-armhf-alip/customization/hooks/22-display-manager-autologin.chroot new file mode 100755 index 0000000..84a6c7c --- /dev/null +++ b/sid-armhf-alip/customization/hooks/22-display-manager-autologin.chroot @@ -0,0 +1,16 @@ +#!/bin/sh + +# Enable lightdm autologin for linaro user +if [ -e /etc/lightdm/lightdm.conf ]; then + sed -i "s|^#autologin-user=.*|autologin-user=linaro|" /etc/lightdm/lightdm.conf + sed -i "s|^#autologin-user-timeout=.*|autologin-user-timeout=0|" /etc/lightdm/lightdm.conf +fi + +# Enable sddm autologin for linaro user and configure theme +if [ -e /usr/bin/sddm ]; then + /usr/bin/sddm --example-config > /etc/sddm.conf + sed -i "s|^Session=.*|Session=lxqt.desktop|" /etc/sddm.conf + sed -i "s|^User=.*|User=linaro|" /etc/sddm.conf + sed -i "s|^Current=.*|Current=breeze|" /etc/sddm.conf + sed -i "s|^CursorTheme==.*|CursorTheme=breeze_cursors|" /etc/sddm.conf +fi diff --git a/sid-armhf-alip/customization/hooks/23-customize-lxqt.chroot b/sid-armhf-alip/customization/hooks/23-customize-lxqt.chroot new file mode 100755 index 0000000..6b6cb79 --- /dev/null +++ b/sid-armhf-alip/customization/hooks/23-customize-lxqt.chroot @@ -0,0 +1,11 @@ +#!/bin/sh + +# Customize lxqt defaults +if [ -e /etc/xdg/lxqt/lxqt.conf ]; then + sed -i "s|^theme=.*|theme=kde-plasma|" /etc/xdg/lxqt/lxqt.conf + sed -i "s|^icon_theme=.*|icon_theme=breeze|" /etc/xdg/lxqt/lxqt.conf + sed -i "s|^style=.*|style=Breeze|" /etc/xdg/lxqt/lxqt.conf + sed -i "s|^window_manager=.*|window_manager=kwin|" /etc/xdg/lxqt/session.conf + sed -i "s|^cursor_theme=.*|cursor_theme=breeze_cursors|" /etc/xdg/lxqt/session.conf + sed -i "s|^Wallpaper=.*|Wallpaper=/usr/share/96boards/wallpapers/96boards-default-wallpaper.jpg|" /etc/xdg/pcmanfm-qt/lxqt/settings.conf +fi diff --git a/sid-armhf-alip/customization/hooks/98-resolvconf.binary b/sid-armhf-alip/customization/hooks/98-resolvconf.binary new file mode 100755 index 0000000..f6a3898 --- /dev/null +++ b/sid-armhf-alip/customization/hooks/98-resolvconf.binary @@ -0,0 +1,6 @@ +#!/bin/sh + +echo "I: Create /etc/resolv.conf link" +ln -sf /etc/resolvconf/run/resolv.conf binary/etc/resolv.conf +echo "I: Install fallback DNS to 8.8.8.8" +echo "nameserver 8.8.8.8" > binary/etc/resolvconf/resolv.conf.d/tail diff --git a/sid-armhf-alip/customization/hooks/99-cleanup_proxy.binary b/sid-armhf-alip/customization/hooks/99-cleanup_proxy.binary new file mode 100755 index 0000000..751faf5 --- /dev/null +++ b/sid-armhf-alip/customization/hooks/99-cleanup_proxy.binary @@ -0,0 +1,5 @@ +#!/bin/sh + +echo "I: Clean up proxy" +sed -i "s|localhost:3142/||" ./binary/etc/apt/sources.list +sed -i "s|localhost:3142/||" ./binary/etc/apt/sources.list.d/*.list diff --git a/sid-armhf-alip/customization/includes.chroot/etc/default/locale b/sid-armhf-alip/customization/includes.chroot/etc/default/locale new file mode 100644 index 0000000..f9c983c --- /dev/null +++ b/sid-armhf-alip/customization/includes.chroot/etc/default/locale @@ -0,0 +1 @@ +LANG=C.UTF-8 diff --git a/sid-armhf-alip/customization/includes.chroot/etc/hostname b/sid-armhf-alip/customization/includes.chroot/etc/hostname new file mode 100644 index 0000000..b18833f --- /dev/null +++ b/sid-armhf-alip/customization/includes.chroot/etc/hostname @@ -0,0 +1 @@ +linaro-alip diff --git a/sid-armhf-alip/customization/includes.chroot/etc/hosts b/sid-armhf-alip/customization/includes.chroot/etc/hosts new file mode 100644 index 0000000..7dcb363 --- /dev/null +++ b/sid-armhf-alip/customization/includes.chroot/etc/hosts @@ -0,0 +1,7 @@ +127.0.0.1 localhost +::1 localhost ip6-localhost ip6-loopback +fe00::0 ip6-localnet +ff00::0 ip6-mcastprefix +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +127.0.1.1 linaro-alip diff --git a/sid-armhf-alip/customization/includes.chroot/etc/kernel-img.conf b/sid-armhf-alip/customization/includes.chroot/etc/kernel-img.conf new file mode 100644 index 0000000..d24d4df --- /dev/null +++ b/sid-armhf-alip/customization/includes.chroot/etc/kernel-img.conf @@ -0,0 +1,6 @@ +# Kernel image management overrides +# See kernel-img.conf(5) for details +do_symlinks = yes +do_bootloader = no +do_initrd = yes +link_in_boot = yes diff --git a/sid-armhf-alip/customization/includes.chroot/etc/rc.local b/sid-armhf-alip/customization/includes.chroot/etc/rc.local new file mode 100755 index 0000000..39d1427 --- /dev/null +++ b/sid-armhf-alip/customization/includes.chroot/etc/rc.local @@ -0,0 +1,22 @@ +#!/bin/sh -e +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. + +# Generate the SSH keys if non-existent +if [ ! -f /etc/ssh/ssh_host_rsa_key ] +then + # else ssh service start in dpkg-reconfigure will fail + systemctl stop ssh.socket||true + dpkg-reconfigure openssh-server +fi + +exit 0 diff --git a/sid-armhf-alip/customization/package-lists/linaro.list.chroot b/sid-armhf-alip/customization/package-lists/linaro.list.chroot new file mode 100644 index 0000000..93399d9 --- /dev/null +++ b/sid-armhf-alip/customization/package-lists/linaro.list.chroot @@ -0,0 +1,172 @@ +# Packages needed for Linaro - LXQt +#linaro-default-settings +#ltrace +#npm +96boards-tools-common +acpi-support-base +adduser +alsa-utils +anacron +apt +apt-utils +babeltrace +bc +bluedevil +bluez +breeze +btrfs-tools +build-essential +bzip2 +ca-certificates +chromium +console-setup +cpufrequtils +crda +curl +dbus-x11 +debconf +debconf-i18n +debian-keyring +default-jre +desktop-file-utils +dnsmasq-base +eject +evtest +fbset +file +fonts-arphic-ukai +fonts-arphic-uming +fonts-freefont-ttf +fonts-ipafont-gothic +fonts-ipafont-mincho +fonts-unfonts-core +gdb +gdbserver +gdisk +git +glshim +gnome-keyring +gnupg +gpsd +gpsd-clients +gstreamer1.0-libav +gstreamer1.0-plugins-base-apps +gstreamer1.0-plugins-bad +gstreamer1.0-plugins-good +gstreamer1.0-tools +gvfs +hostapd +htop +i2c-tools +idlestat +ifupdown +initramfs-tools +initscripts +input-utils +iotop +iperf +iproute2 +iptables +iputils-ping +isc-dhcp-client +iw +kbd +kde-config-sddm +kde-window-manager +kmod +kwin-x11 +less +libxatracker2 +linaro-overlay-minimal +lm-sensors +locales +lsb-release +lsof +lximage-qt +lxqt-about +lxqt-admin +lxqt-common +lxqt-config +lxqt-globalkeys +lxqt-notificationd +lxqt-openssh-askpass +lxqt-panel +lxqt-policykit +lxqt-powermanagement +lxqt-qtplugin +lxqt-runner +lxqt-session +lxqt-sudo +makedev +mawk +mesa-utils +mesa-utils-extra +modemmanager +mutrace +net-tools +netbase +netcat-openbsd +network-manager-gnome +nodejs-legacy +ntpdate +obexftp +obexpushd +openssh-client +openssh-server +parted +pavucontrol-qt +pcmanfm-qt +phonon4qt5-backend-gstreamer +pinentry-qt +plasma-nm +policykit-1 +powerdebug +powertop +ppp +procps +psmisc +pulseaudio-module-bluetooth +python-libsoc +python-minimal +python-mraa +python-upm +python3 +qterminal +read-edid +resolvconf +rfkill +rsyslog +sddm +sddm-theme-breeze +ssh-import-id +strace +sudo +systemd +systemd-sysv +systemsettings +trace-cmd +udev +unzip +usb-modeswitch +usbutils +user-setup +vim +wamerican +wget +whiptail +wireless-tools +wpasupplicant +x11-utils +x11-xserver-utils +xdg-user-dirs +xinit +xmms2-client-cli +xmms2-plugin-mad +xmms2-plugin-pulse +xmms2-plugin-vorbis +xserver-xorg +xserver-xorg-input-evdev +xserver-xorg-video-fbdev +xserver-xorg-video-modesetting +xterm +zip diff --git a/sid-armhf-alip/customization/preseed/dictionaries-common.cfg.chroot b/sid-armhf-alip/customization/preseed/dictionaries-common.cfg.chroot new file mode 100644 index 0000000..b86c980 --- /dev/null +++ b/sid-armhf-alip/customization/preseed/dictionaries-common.cfg.chroot @@ -0,0 +1 @@ +dictionaries-common dictionaries-common/default-wordlist select american (American English) diff --git a/sid-armhf-blend/Makefile b/sid-armhf-blend/Makefile new file mode 100755 index 0000000..090c241 --- /dev/null +++ b/sid-armhf-blend/Makefile @@ -0,0 +1,33 @@ +#!/bin/sh + +# (C) 2012-2016 Fathi Boudra <fathi.boudra@linaro.org> + +# Calls all necessary live-build programs in the correct order to complete +# the bootstrap, chroot, binary, and source stage. + +# You need live-build package installed and superuser privileges. + +BUILD_NUMBER?=1 +BASEIMG=linaro-sid-blend +IMAGEPREFIX=$(BASEIMG)-`date +%Y%m%d`-$(BUILD_NUMBER) +LOGFILE=$(IMAGEPREFIX).build-log.txt +CONFIGFILE=$(IMAGEPREFIX).config.tar.bz2 +LISTFILE=$(IMAGEPREFIX).contents +PKGSFILE=$(IMAGEPREFIX).packages +TARGZFILE=$(IMAGEPREFIX).tar.gz +MD5SUMSFILE=$(IMAGEPREFIX).md5sums.txt +SHA1SUMSFILE=$(IMAGEPREFIX).sha1sums.txt + +all: + set -e; sudo lb build 2>&1 | tee $(LOGFILE) + tar -jcf $(CONFIGFILE) auto/ config/ configure; + sudo mv binary.contents $(LISTFILE); + sudo mv chroot.packages.live $(PKGSFILE); + sudo mv binary-tar.tar.gz $(TARGZFILE); + md5sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(MD5SUMSFILE); + sha1sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(SHA1SUMSFILE); + +clean: + sudo lb clean --purge + rm -f $(BASEIMG)-* + rm -rf config diff --git a/sid-armhf-blend/README b/sid-armhf-blend/README new file mode 100644 index 0000000..917e1f3 --- /dev/null +++ b/sid-armhf-blend/README @@ -0,0 +1,16 @@ +* To build binary image: + * install live-build qemu-user-static + * run configure + * run make + +* Scripts: + * configure + * Makefile + +* Configuration Layout + +`-- ./config + +* Customization Layout + +`-- ./customization diff --git a/sid-armhf-blend/configure b/sid-armhf-blend/configure new file mode 100755 index 0000000..3508ad6 --- /dev/null +++ b/sid-armhf-blend/configure @@ -0,0 +1,43 @@ +#!/bin/sh + +# (C) 2012-2016 Fathi Boudra <fathi.boudra@linaro.org> + +# Create configuration for live-build. + +# You need live-build package installed. + +set -e + +echo "I: create configuration" +export LB_BOOTSTRAP_INCLUDE="apt-transport-https gnupg" +lb config \ + --apt-indices false \ + --apt-recommends false \ + --apt-secure false \ + --architectures armhf \ + --archive-areas 'main contrib non-free' \ + --backports false \ + --binary-filesystem ext4 \ + --binary-images tar \ + --bootappend-live "hostname=linaro-blend username=linaro" \ + --bootstrap-qemu-arch armhf \ + --bootstrap-qemu-static /usr/bin/qemu-arm-static \ + --cache false \ + --chroot-filesystem none \ + --compression gzip \ + --debootstrap-options "--variant=minbase --include=apt-transport-https,gnupg" \ + --distribution sid \ + --gzip-options '-9 --rsyncable' \ + --iso-publisher 'Linaro; http://www.linaro.org/; linaro-dev@lists.linaro.org' \ + --iso-volume 'Linaro Sid $(date +%Y%m%d-%H:%M)' \ + --linux-flavours none \ + --linux-packages none \ + --mode debian \ + --security true \ + --system normal \ + --updates true + +echo "I: copy customization" +test -d customization && cp -rf customization/* config/ + +echo "I: done" diff --git a/sid-armhf-blend/customization/hooks/01-setup_user_linaro.chroot b/sid-armhf-blend/customization/hooks/01-setup_user_linaro.chroot new file mode 100755 index 0000000..9c65f97 --- /dev/null +++ b/sid-armhf-blend/customization/hooks/01-setup_user_linaro.chroot @@ -0,0 +1,7 @@ +#!/bin/sh + +echo "I: create linaro user" +adduser --gecos linaro --disabled-login linaro + +echo "I: set linaro user password" +echo "linaro:linaro" | chpasswd diff --git a/sid-armhf-blend/customization/hooks/02-add_linaro_to_groups.chroot b/sid-armhf-blend/customization/hooks/02-add_linaro_to_groups.chroot new file mode 100755 index 0000000..ad43cb7 --- /dev/null +++ b/sid-armhf-blend/customization/hooks/02-add_linaro_to_groups.chroot @@ -0,0 +1,18 @@ +#!/bin/sh -x + +DEFGROUPS="adm,dialout,cdrom,audio,dip,video,plugdev,bluetooth,pulse-access,sudo,systemd-journal,netdev,staff" + +IFS=',' +for group in $DEFGROUPS; do + /bin/egrep -i "^$group" /etc/group + if [ $? -eq 0 ]; then + echo "Group '$group' exists in /etc/group" + else + echo "Group '$group' does not exists in /etc/group, creating" + groupadd $group + fi +done +unset IFS + +echo "I: add linaro to ($DEFGROUPS) groups" +usermod -a -G ${DEFGROUPS} linaro diff --git a/sid-armhf-blend/customization/hooks/03-check_sudoers_for_admin.chroot b/sid-armhf-blend/customization/hooks/03-check_sudoers_for_admin.chroot new file mode 100755 index 0000000..fe86124 --- /dev/null +++ b/sid-armhf-blend/customization/hooks/03-check_sudoers_for_admin.chroot @@ -0,0 +1,17 @@ +#!/bin/sh + +# check to make sure sudoers file has ref for the sudo group +SUDOEXISTS="$(awk '$1 == "%sudo" { print $1 }' /etc/sudoers)" +if [ -z "$SUDOEXISTS" ]; then + # append sudo entry to sudoers + echo "# Members of the sudo group may gain root privileges" >> /etc/sudoers + echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers +fi + +# make sure that NOPASSWD is set for %sudo +# expecially in the case that we didn't add it to /etc/sudoers +# just blow the %sudo line away and force it to be NOPASSWD +sed -i -e ' +/\%sudo/ c \ +%sudo ALL=(ALL) NOPASSWD: ALL +' /etc/sudoers diff --git a/sid-armhf-blend/customization/hooks/21-silence-systemd.chroot b/sid-armhf-blend/customization/hooks/21-silence-systemd.chroot new file mode 100755 index 0000000..14849bc --- /dev/null +++ b/sid-armhf-blend/customization/hooks/21-silence-systemd.chroot @@ -0,0 +1,9 @@ +#!/bin/sh + +# Make systemd less spammy + +sed -i 's/#LogLevel=info/LogLevel=warning/' \ + /etc/systemd/system.conf + +sed -i 's/#LogTarget=journal-or-kmsg/LogTarget=journal/' \ + /etc/systemd/system.conf diff --git a/sid-armhf-blend/customization/hooks/22-disable-systemd-services.chroot b/sid-armhf-blend/customization/hooks/22-disable-systemd-services.chroot new file mode 100755 index 0000000..beced9a --- /dev/null +++ b/sid-armhf-blend/customization/hooks/22-disable-systemd-services.chroot @@ -0,0 +1,9 @@ +#!/bin/bash + +# workaround 90s delay +services=(NetworkManager systemd-networkd) +for service in ${services[@]}; do + systemctl mask ${service}-wait-online.service +done + +systemctl mask wpa_supplicant@ diff --git a/sid-armhf-blend/customization/hooks/98-resolvconf.binary b/sid-armhf-blend/customization/hooks/98-resolvconf.binary new file mode 100755 index 0000000..f6a3898 --- /dev/null +++ b/sid-armhf-blend/customization/hooks/98-resolvconf.binary @@ -0,0 +1,6 @@ +#!/bin/sh + +echo "I: Create /etc/resolv.conf link" +ln -sf /etc/resolvconf/run/resolv.conf binary/etc/resolv.conf +echo "I: Install fallback DNS to 8.8.8.8" +echo "nameserver 8.8.8.8" > binary/etc/resolvconf/resolv.conf.d/tail diff --git a/sid-armhf-blend/customization/includes.chroot/etc/default/locale b/sid-armhf-blend/customization/includes.chroot/etc/default/locale new file mode 100644 index 0000000..f9c983c --- /dev/null +++ b/sid-armhf-blend/customization/includes.chroot/etc/default/locale @@ -0,0 +1 @@ +LANG=C.UTF-8 diff --git a/sid-armhf-blend/customization/includes.chroot/etc/hostname b/sid-armhf-blend/customization/includes.chroot/etc/hostname new file mode 100644 index 0000000..f2a22a2 --- /dev/null +++ b/sid-armhf-blend/customization/includes.chroot/etc/hostname @@ -0,0 +1 @@ +linaro-blend diff --git a/sid-armhf-blend/customization/includes.chroot/etc/hosts b/sid-armhf-blend/customization/includes.chroot/etc/hosts new file mode 100644 index 0000000..af8efff --- /dev/null +++ b/sid-armhf-blend/customization/includes.chroot/etc/hosts @@ -0,0 +1,7 @@ +127.0.0.1 localhost +::1 localhost ip6-localhost ip6-loopback +fe00::0 ip6-localnet +ff00::0 ip6-mcastprefix +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +127.0.1.1 linaro-blend diff --git a/sid-armhf-blend/customization/includes.chroot/etc/kernel-img.conf b/sid-armhf-blend/customization/includes.chroot/etc/kernel-img.conf new file mode 100644 index 0000000..d24d4df --- /dev/null +++ b/sid-armhf-blend/customization/includes.chroot/etc/kernel-img.conf @@ -0,0 +1,6 @@ +# Kernel image management overrides +# See kernel-img.conf(5) for details +do_symlinks = yes +do_bootloader = no +do_initrd = yes +link_in_boot = yes diff --git a/sid-armhf-blend/customization/includes.chroot/etc/rc.local b/sid-armhf-blend/customization/includes.chroot/etc/rc.local new file mode 100755 index 0000000..39d1427 --- /dev/null +++ b/sid-armhf-blend/customization/includes.chroot/etc/rc.local @@ -0,0 +1,22 @@ +#!/bin/sh -e +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. + +# Generate the SSH keys if non-existent +if [ ! -f /etc/ssh/ssh_host_rsa_key ] +then + # else ssh service start in dpkg-reconfigure will fail + systemctl stop ssh.socket||true + dpkg-reconfigure openssh-server +fi + +exit 0 diff --git a/sid-armhf-blend/customization/package-lists/linaro.list.chroot b/sid-armhf-blend/customization/package-lists/linaro.list.chroot new file mode 100644 index 0000000..172e295 --- /dev/null +++ b/sid-armhf-blend/customization/package-lists/linaro.list.chroot @@ -0,0 +1,31 @@ +# Packages needed for Linaro - ALIP +build-essential +dbus-x11 +dhcpcd5 +dialog +file +gdb +gdisk +ifupdown +iputils-ping +kmod +libgl1-mesa-dri +locales +nano +net-tools +netbase +nfs-common +obconf +openbox +openssh-server +psmisc +python +resolvconf +systemd +systemd-sysv +valgrind +vim +weston +xdg-user-dirs-gtk +xfce4-terminal +xorg diff --git a/sid-armhf-blend/customization/preseed/dictionaries-common.cfg.chroot b/sid-armhf-blend/customization/preseed/dictionaries-common.cfg.chroot new file mode 100644 index 0000000..b86c980 --- /dev/null +++ b/sid-armhf-blend/customization/preseed/dictionaries-common.cfg.chroot @@ -0,0 +1 @@ +dictionaries-common dictionaries-common/default-wordlist select american (American English) diff --git a/sid-armhf-developer/Makefile b/sid-armhf-developer/Makefile new file mode 100755 index 0000000..e230904 --- /dev/null +++ b/sid-armhf-developer/Makefile @@ -0,0 +1,33 @@ +#!/bin/sh + +# (C) 2012-2015 Fathi Boudra <fathi.boudra@linaro.org> + +# Calls all necessary live-build programs in the correct order to complete +# the bootstrap, chroot, binary, and source stage. + +# You need live-build package installed and superuser privileges. + +BUILD_NUMBER?=1 +BASEIMG=linaro-sid-developer +IMAGEPREFIX=$(BASEIMG)-`date +%Y%m%d`-$(BUILD_NUMBER) +LOGFILE=$(IMAGEPREFIX).build-log.txt +CONFIGFILE=$(IMAGEPREFIX).config.tar.bz2 +LISTFILE=$(IMAGEPREFIX).contents +PKGSFILE=$(IMAGEPREFIX).packages +TARGZFILE=$(IMAGEPREFIX).tar.gz +MD5SUMSFILE=$(IMAGEPREFIX).md5sums.txt +SHA1SUMSFILE=$(IMAGEPREFIX).sha1sums.txt + +all: + set -e; sudo lb build 2>&1 | tee $(LOGFILE) + tar -jcf $(CONFIGFILE) auto/ config/ configure; + sudo mv binary.contents $(LISTFILE); + sudo mv chroot.packages.live $(PKGSFILE); + sudo mv binary-tar.tar.gz $(TARGZFILE); + md5sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(MD5SUMSFILE); + sha1sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(SHA1SUMSFILE); + +clean: + sudo lb clean --purge + rm -f $(BASEIMG)-* + rm -rf config diff --git a/sid-armhf-developer/README b/sid-armhf-developer/README new file mode 100644 index 0000000..917e1f3 --- /dev/null +++ b/sid-armhf-developer/README @@ -0,0 +1,16 @@ +* To build binary image: + * install live-build qemu-user-static + * run configure + * run make + +* Scripts: + * configure + * Makefile + +* Configuration Layout + +`-- ./config + +* Customization Layout + +`-- ./customization diff --git a/sid-armhf-developer/configure b/sid-armhf-developer/configure new file mode 100755 index 0000000..82d3349 --- /dev/null +++ b/sid-armhf-developer/configure @@ -0,0 +1,42 @@ +#!/bin/sh + +# (C) 2012-2015 Fathi Boudra <fathi.boudra@linaro.org> + +# Create configuration for live-build. + +# You need live-build package installed. + +set -e + +echo "I: create configuration" +export LB_BOOTSTRAP_INCLUDE="apt-transport-https gnupg" +lb config \ + --apt-indices false \ + --apt-secure false \ + --architectures armhf \ + --archive-areas 'main contrib non-free' \ + --backports false \ + --binary-filesystem ext4 \ + --binary-images tar \ + --bootappend-live "hostname=linaro-developer username=linaro" \ + --bootstrap-qemu-arch armhf \ + --bootstrap-qemu-static /usr/bin/qemu-arm-static \ + --cache false \ + --chroot-filesystem none \ + --compression gzip \ + --debootstrap-options "--variant=minbase --include=apt-transport-https,gnupg" \ + --distribution sid \ + --gzip-options '-9 --rsyncable' \ + --iso-publisher 'Linaro; http://www.linaro.org/; linaro-dev@lists.linaro.org' \ + --iso-volume 'Linaro Sid $(date +%Y%m%d-%H:%M)' \ + --linux-flavours none \ + --linux-packages none \ + --mode debian \ + --security true \ + --system normal \ + --updates true + +echo "I: copy customization" +test -d customization && cp -rf customization/* config/ + +echo "I: done" diff --git a/sid-armhf-developer/customization/archives/linaro-overlay-obs.key.chroot b/sid-armhf-developer/customization/archives/linaro-overlay-obs.key.chroot new file mode 100644 index 0000000..9a3b62d --- /dev/null +++ b/sid-armhf-developer/customization/archives/linaro-overlay-obs.key.chroot @@ -0,0 +1,78 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +iue2 +=GWuy +-----END PGP PUBLIC KEY BLOCK----- diff --git a/sid-armhf-developer/customization/archives/linaro-overlay-obs.list.chroot b/sid-armhf-developer/customization/archives/linaro-overlay-obs.list.chroot new file mode 100644 index 0000000..dce63a0 --- /dev/null +++ b/sid-armhf-developer/customization/archives/linaro-overlay-obs.list.chroot @@ -0,0 +1,2 @@ +deb http://obs.linaro.org/linaro-overlay-sid/sid/ ./ +deb-src http://obs.linaro.org/linaro-overlay-sid/sid/ ./ diff --git a/sid-armhf-developer/customization/hooks/01-setup_user_linaro.chroot b/sid-armhf-developer/customization/hooks/01-setup_user_linaro.chroot new file mode 100755 index 0000000..9c65f97 --- /dev/null +++ b/sid-armhf-developer/customization/hooks/01-setup_user_linaro.chroot @@ -0,0 +1,7 @@ +#!/bin/sh + +echo "I: create linaro user" +adduser --gecos linaro --disabled-login linaro + +echo "I: set linaro user password" +echo "linaro:linaro" | chpasswd diff --git a/sid-armhf-developer/customization/hooks/02-add_linaro_to_groups.chroot b/sid-armhf-developer/customization/hooks/02-add_linaro_to_groups.chroot new file mode 100755 index 0000000..ad43cb7 --- /dev/null +++ b/sid-armhf-developer/customization/hooks/02-add_linaro_to_groups.chroot @@ -0,0 +1,18 @@ +#!/bin/sh -x + +DEFGROUPS="adm,dialout,cdrom,audio,dip,video,plugdev,bluetooth,pulse-access,sudo,systemd-journal,netdev,staff" + +IFS=',' +for group in $DEFGROUPS; do + /bin/egrep -i "^$group" /etc/group + if [ $? -eq 0 ]; then + echo "Group '$group' exists in /etc/group" + else + echo "Group '$group' does not exists in /etc/group, creating" + groupadd $group + fi +done +unset IFS + +echo "I: add linaro to ($DEFGROUPS) groups" +usermod -a -G ${DEFGROUPS} linaro diff --git a/sid-armhf-developer/customization/hooks/03-check_sudoers_for_admin.chroot b/sid-armhf-developer/customization/hooks/03-check_sudoers_for_admin.chroot new file mode 100755 index 0000000..fe86124 --- /dev/null +++ b/sid-armhf-developer/customization/hooks/03-check_sudoers_for_admin.chroot @@ -0,0 +1,17 @@ +#!/bin/sh + +# check to make sure sudoers file has ref for the sudo group +SUDOEXISTS="$(awk '$1 == "%sudo" { print $1 }' /etc/sudoers)" +if [ -z "$SUDOEXISTS" ]; then + # append sudo entry to sudoers + echo "# Members of the sudo group may gain root privileges" >> /etc/sudoers + echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers +fi + +# make sure that NOPASSWD is set for %sudo +# expecially in the case that we didn't add it to /etc/sudoers +# just blow the %sudo line away and force it to be NOPASSWD +sed -i -e ' +/\%sudo/ c \ +%sudo ALL=(ALL) NOPASSWD: ALL +' /etc/sudoers diff --git a/sid-armhf-developer/customization/hooks/04-lava_test.chroot b/sid-armhf-developer/customization/hooks/04-lava_test.chroot new file mode 100755 index 0000000..6113b2e --- /dev/null +++ b/sid-armhf-developer/customization/hooks/04-lava_test.chroot @@ -0,0 +1,13 @@ +#!/bin/bash + +echo "I: run apt-get update" +apt-get update + +echo "I: install extra package" +apt-get install --yes build-essential git + +echo "I: install tests" +#nano_tests=(pwrmgmt gatortests perf device-tree) +#for nano_test in ${nano_tests[@]}; do +# echo "lava-test install ${nano_test}" +#done diff --git a/sid-armhf-developer/customization/hooks/21-silence-systemd.chroot b/sid-armhf-developer/customization/hooks/21-silence-systemd.chroot new file mode 100755 index 0000000..14849bc --- /dev/null +++ b/sid-armhf-developer/customization/hooks/21-silence-systemd.chroot @@ -0,0 +1,9 @@ +#!/bin/sh + +# Make systemd less spammy + +sed -i 's/#LogLevel=info/LogLevel=warning/' \ + /etc/systemd/system.conf + +sed -i 's/#LogTarget=journal-or-kmsg/LogTarget=journal/' \ + /etc/systemd/system.conf diff --git a/sid-armhf-developer/customization/hooks/22-disable-systemd-services.chroot b/sid-armhf-developer/customization/hooks/22-disable-systemd-services.chroot new file mode 100755 index 0000000..beced9a --- /dev/null +++ b/sid-armhf-developer/customization/hooks/22-disable-systemd-services.chroot @@ -0,0 +1,9 @@ +#!/bin/bash + +# workaround 90s delay +services=(NetworkManager systemd-networkd) +for service in ${services[@]}; do + systemctl mask ${service}-wait-online.service +done + +systemctl mask wpa_supplicant@ diff --git a/sid-armhf-developer/customization/hooks/98-resolvconf.binary b/sid-armhf-developer/customization/hooks/98-resolvconf.binary new file mode 100755 index 0000000..f6a3898 --- /dev/null +++ b/sid-armhf-developer/customization/hooks/98-resolvconf.binary @@ -0,0 +1,6 @@ +#!/bin/sh + +echo "I: Create /etc/resolv.conf link" +ln -sf /etc/resolvconf/run/resolv.conf binary/etc/resolv.conf +echo "I: Install fallback DNS to 8.8.8.8" +echo "nameserver 8.8.8.8" > binary/etc/resolvconf/resolv.conf.d/tail diff --git a/sid-armhf-developer/customization/hooks/99-cleanup_proxy.binary b/sid-armhf-developer/customization/hooks/99-cleanup_proxy.binary new file mode 100755 index 0000000..751faf5 --- /dev/null +++ b/sid-armhf-developer/customization/hooks/99-cleanup_proxy.binary @@ -0,0 +1,5 @@ +#!/bin/sh + +echo "I: Clean up proxy" +sed -i "s|localhost:3142/||" ./binary/etc/apt/sources.list +sed -i "s|localhost:3142/||" ./binary/etc/apt/sources.list.d/*.list diff --git a/sid-armhf-developer/customization/includes.chroot/etc/default/locale b/sid-armhf-developer/customization/includes.chroot/etc/default/locale new file mode 100644 index 0000000..f9c983c --- /dev/null +++ b/sid-armhf-developer/customization/includes.chroot/etc/default/locale @@ -0,0 +1 @@ +LANG=C.UTF-8 diff --git a/sid-armhf-developer/customization/includes.chroot/etc/hostname b/sid-armhf-developer/customization/includes.chroot/etc/hostname new file mode 100644 index 0000000..bafc623 --- /dev/null +++ b/sid-armhf-developer/customization/includes.chroot/etc/hostname @@ -0,0 +1 @@ +linaro-developer diff --git a/sid-armhf-developer/customization/includes.chroot/etc/hosts b/sid-armhf-developer/customization/includes.chroot/etc/hosts new file mode 100644 index 0000000..135dd9d --- /dev/null +++ b/sid-armhf-developer/customization/includes.chroot/etc/hosts @@ -0,0 +1,7 @@ +127.0.0.1 localhost +::1 localhost ip6-localhost ip6-loopback +fe00::0 ip6-localnet +ff00::0 ip6-mcastprefix +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +127.0.1.1 linaro-developer diff --git a/sid-armhf-developer/customization/includes.chroot/etc/kernel-img.conf b/sid-armhf-developer/customization/includes.chroot/etc/kernel-img.conf new file mode 100644 index 0000000..d24d4df --- /dev/null +++ b/sid-armhf-developer/customization/includes.chroot/etc/kernel-img.conf @@ -0,0 +1,6 @@ +# Kernel image management overrides +# See kernel-img.conf(5) for details +do_symlinks = yes +do_bootloader = no +do_initrd = yes +link_in_boot = yes diff --git a/sid-armhf-developer/customization/includes.chroot/etc/rc.local b/sid-armhf-developer/customization/includes.chroot/etc/rc.local new file mode 100755 index 0000000..39d1427 --- /dev/null +++ b/sid-armhf-developer/customization/includes.chroot/etc/rc.local @@ -0,0 +1,22 @@ +#!/bin/sh -e +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. + +# Generate the SSH keys if non-existent +if [ ! -f /etc/ssh/ssh_host_rsa_key ] +then + # else ssh service start in dpkg-reconfigure will fail + systemctl stop ssh.socket||true + dpkg-reconfigure openssh-server +fi + +exit 0 diff --git a/sid-armhf-developer/customization/package-lists/linaro.list.chroot b/sid-armhf-developer/customization/package-lists/linaro.list.chroot new file mode 100644 index 0000000..81c1ccd --- /dev/null +++ b/sid-armhf-developer/customization/package-lists/linaro.list.chroot @@ -0,0 +1,98 @@ +# Packages needed for Linaro - Developer +96boards-tools-common +acpi-support-base +adduser +alsa-utils +apt +apt-utils +babeltrace +bluez +btrfs-tools +build-essential +bzip2 +console-setup +cpufrequtils +crda +curl +debconf +debconf-i18n +debian-keyring +default-jre-headless +dnsmasq-base +eject +evtest +fbset +file +gdb +gdbserver +gdisk +git +gnupg +hostapd +i2c-tools +idlestat +ifupdown +initramfs-tools +initscripts +input-utils +iotop +iperf +iproute2 +iptables +iputils-ping +isc-dhcp-client +iw +kbd +kmod +less +linaro-overlay-minimal +lm-sensors +lsb-release +lsof +ltrace +makedev +mawk +mutrace +net-tools +netbase +netcat-openbsd +netperf +network-manager +ntpdate +obexftp +obexpushd +openssh-client +openssh-server +parted +powerdebug +powertop +procps +pulseaudio-module-bluetooth +python-libsoc +python-minimal +python-mraa +python-upm +python3 +resolvconf +rfkill +rsyslog +ssh-import-id +strace +sudo +systemd +systemd-sysv +trace-cmd +udev +unzip +usbutils +user-setup +vim +vim-tiny +wget +whiptail +wireless-tools +wpasupplicant +xmms2-client-cli +xmms2-plugin-mad +xmms2-plugin-pulse +xmms2-plugin-vorbis diff --git a/sid-armhf-installer/Makefile b/sid-armhf-installer/Makefile new file mode 100755 index 0000000..1015858 --- /dev/null +++ b/sid-armhf-installer/Makefile @@ -0,0 +1,33 @@ +#!/bin/sh + +# (C) 2012-2015 Fathi Boudra <fathi.boudra@linaro.org> + +# Calls all necessary live-build programs in the correct order to complete +# the bootstrap, chroot, binary, and source stage. + +# You need live-build package installed and superuser privileges. + +BUILD_NUMBER?=1 +BASEIMG=linaro-sid-installer +IMAGEPREFIX=$(BASEIMG)-`date +%Y%m%d`-$(BUILD_NUMBER) +LOGFILE=$(IMAGEPREFIX).build-log.txt +CONFIGFILE=$(IMAGEPREFIX).config.tar.bz2 +LISTFILE=$(IMAGEPREFIX).contents +PKGSFILE=$(IMAGEPREFIX).packages +TARGZFILE=$(IMAGEPREFIX).tar.gz +MD5SUMSFILE=$(IMAGEPREFIX).md5sums.txt +SHA1SUMSFILE=$(IMAGEPREFIX).sha1sums.txt + +all: + set -e; sudo lb build 2>&1 | tee $(LOGFILE) + tar -jcf $(CONFIGFILE) auto/ config/ configure; + sudo mv binary.contents $(LISTFILE); + sudo mv chroot.packages.live $(PKGSFILE); + sudo mv binary-tar.tar.gz $(TARGZFILE); + md5sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(MD5SUMSFILE); + sha1sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(SHA1SUMSFILE); + +clean: + sudo lb clean --purge + rm -f $(BASEIMG)-* + rm -rf config diff --git a/sid-armhf-installer/README b/sid-armhf-installer/README new file mode 100644 index 0000000..917e1f3 --- /dev/null +++ b/sid-armhf-installer/README @@ -0,0 +1,16 @@ +* To build binary image: + * install live-build qemu-user-static + * run configure + * run make + +* Scripts: + * configure + * Makefile + +* Configuration Layout + +`-- ./config + +* Customization Layout + +`-- ./customization diff --git a/sid-armhf-installer/configure b/sid-armhf-installer/configure new file mode 100755 index 0000000..6e6b09c --- /dev/null +++ b/sid-armhf-installer/configure @@ -0,0 +1,43 @@ +#!/bin/sh + +# (C) 2012-2015 Fathi Boudra <fathi.boudra@linaro.org> + +# Create configuration for live-build. + +# You need live-build package installed. + +set -e + +echo "I: create configuration" +export LB_BOOTSTRAP_INCLUDE="apt-transport-https gnupg" +lb config \ + --apt-indices false \ + --apt-recommends false \ + --apt-secure false \ + --architectures armhf \ + --archive-areas 'main contrib non-free' \ + --backports false \ + --binary-filesystem ext4 \ + --binary-images tar \ + --bootappend-live "hostname=linaro-installer username=linaro" \ + --bootstrap-qemu-arch armhf \ + --bootstrap-qemu-static /usr/bin/qemu-arm-static \ + --cache false \ + --chroot-filesystem none \ + --compression gzip \ + --debootstrap-options "--variant=minbase --include=apt-transport-https,gnupg" \ + --distribution sid \ + --gzip-options '-9 --rsyncable' \ + --iso-publisher 'Linaro; http://www.linaro.org/; linaro-dev@lists.linaro.org' \ + --iso-volume 'Linaro Sid $(date +%Y%m%d-%H:%M)' \ + --linux-flavours none \ + --linux-packages none \ + --mode debian \ + --security true \ + --system normal \ + --updates true + +echo "I: copy customization" +test -d customization && cp -rf customization/* config/ + +echo "I: done" diff --git a/sid-armhf-installer/customization/archives/linaro-overlay-obs.key.chroot b/sid-armhf-installer/customization/archives/linaro-overlay-obs.key.chroot new file mode 100644 index 0000000..9a3b62d --- /dev/null +++ b/sid-armhf-installer/customization/archives/linaro-overlay-obs.key.chroot @@ -0,0 +1,78 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +iue2 +=GWuy +-----END PGP PUBLIC KEY BLOCK----- diff --git a/sid-armhf-installer/customization/archives/linaro-overlay-obs.list.chroot b/sid-armhf-installer/customization/archives/linaro-overlay-obs.list.chroot new file mode 100644 index 0000000..dce63a0 --- /dev/null +++ b/sid-armhf-installer/customization/archives/linaro-overlay-obs.list.chroot @@ -0,0 +1,2 @@ +deb http://obs.linaro.org/linaro-overlay-sid/sid/ ./ +deb-src http://obs.linaro.org/linaro-overlay-sid/sid/ ./ diff --git a/sid-armhf-installer/customization/hooks/01-setup_user_linaro.chroot b/sid-armhf-installer/customization/hooks/01-setup_user_linaro.chroot new file mode 100755 index 0000000..9c65f97 --- /dev/null +++ b/sid-armhf-installer/customization/hooks/01-setup_user_linaro.chroot @@ -0,0 +1,7 @@ +#!/bin/sh + +echo "I: create linaro user" +adduser --gecos linaro --disabled-login linaro + +echo "I: set linaro user password" +echo "linaro:linaro" | chpasswd diff --git a/sid-armhf-installer/customization/hooks/02-add_linaro_to_groups.chroot b/sid-armhf-installer/customization/hooks/02-add_linaro_to_groups.chroot new file mode 100755 index 0000000..ad43cb7 --- /dev/null +++ b/sid-armhf-installer/customization/hooks/02-add_linaro_to_groups.chroot @@ -0,0 +1,18 @@ +#!/bin/sh -x + +DEFGROUPS="adm,dialout,cdrom,audio,dip,video,plugdev,bluetooth,pulse-access,sudo,systemd-journal,netdev,staff" + +IFS=',' +for group in $DEFGROUPS; do + /bin/egrep -i "^$group" /etc/group + if [ $? -eq 0 ]; then + echo "Group '$group' exists in /etc/group" + else + echo "Group '$group' does not exists in /etc/group, creating" + groupadd $group + fi +done +unset IFS + +echo "I: add linaro to ($DEFGROUPS) groups" +usermod -a -G ${DEFGROUPS} linaro diff --git a/sid-armhf-installer/customization/hooks/03-check_sudoers_for_admin.chroot b/sid-armhf-installer/customization/hooks/03-check_sudoers_for_admin.chroot new file mode 100755 index 0000000..fe86124 --- /dev/null +++ b/sid-armhf-installer/customization/hooks/03-check_sudoers_for_admin.chroot @@ -0,0 +1,17 @@ +#!/bin/sh + +# check to make sure sudoers file has ref for the sudo group +SUDOEXISTS="$(awk '$1 == "%sudo" { print $1 }' /etc/sudoers)" +if [ -z "$SUDOEXISTS" ]; then + # append sudo entry to sudoers + echo "# Members of the sudo group may gain root privileges" >> /etc/sudoers + echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers +fi + +# make sure that NOPASSWD is set for %sudo +# expecially in the case that we didn't add it to /etc/sudoers +# just blow the %sudo line away and force it to be NOPASSWD +sed -i -e ' +/\%sudo/ c \ +%sudo ALL=(ALL) NOPASSWD: ALL +' /etc/sudoers diff --git a/sid-armhf-installer/customization/hooks/21-silence-systemd.chroot b/sid-armhf-installer/customization/hooks/21-silence-systemd.chroot new file mode 100755 index 0000000..14849bc --- /dev/null +++ b/sid-armhf-installer/customization/hooks/21-silence-systemd.chroot @@ -0,0 +1,9 @@ +#!/bin/sh + +# Make systemd less spammy + +sed -i 's/#LogLevel=info/LogLevel=warning/' \ + /etc/systemd/system.conf + +sed -i 's/#LogTarget=journal-or-kmsg/LogTarget=journal/' \ + /etc/systemd/system.conf diff --git a/sid-armhf-installer/customization/hooks/22-disable-systemd-services.chroot b/sid-armhf-installer/customization/hooks/22-disable-systemd-services.chroot new file mode 100755 index 0000000..beced9a --- /dev/null +++ b/sid-armhf-installer/customization/hooks/22-disable-systemd-services.chroot @@ -0,0 +1,9 @@ +#!/bin/bash + +# workaround 90s delay +services=(NetworkManager systemd-networkd) +for service in ${services[@]}; do + systemctl mask ${service}-wait-online.service +done + +systemctl mask wpa_supplicant@ diff --git a/sid-armhf-installer/customization/hooks/22-lightdm-autologin.chroot b/sid-armhf-installer/customization/hooks/22-lightdm-autologin.chroot new file mode 100755 index 0000000..695dc19 --- /dev/null +++ b/sid-armhf-installer/customization/hooks/22-lightdm-autologin.chroot @@ -0,0 +1,7 @@ +#!/bin/sh + +# Enable lightdm autologin for linaro user +if [ -e /etc/lightdm/lightdm.conf ]; then + sed -i "s|^#autologin-user=.*|autologin-user=linaro|" /etc/lightdm/lightdm.conf + sed -i "s|^#autologin-user-timeout=.*|autologin-user-timeout=0|" /etc/lightdm/lightdm.conf +fi diff --git a/sid-armhf-installer/customization/hooks/98-resolvconf.binary b/sid-armhf-installer/customization/hooks/98-resolvconf.binary new file mode 100755 index 0000000..f6a3898 --- /dev/null +++ b/sid-armhf-installer/customization/hooks/98-resolvconf.binary @@ -0,0 +1,6 @@ +#!/bin/sh + +echo "I: Create /etc/resolv.conf link" +ln -sf /etc/resolvconf/run/resolv.conf binary/etc/resolv.conf +echo "I: Install fallback DNS to 8.8.8.8" +echo "nameserver 8.8.8.8" > binary/etc/resolvconf/resolv.conf.d/tail diff --git a/sid-armhf-installer/customization/hooks/99-cleanup_proxy.binary b/sid-armhf-installer/customization/hooks/99-cleanup_proxy.binary new file mode 100755 index 0000000..751faf5 --- /dev/null +++ b/sid-armhf-installer/customization/hooks/99-cleanup_proxy.binary @@ -0,0 +1,5 @@ +#!/bin/sh + +echo "I: Clean up proxy" +sed -i "s|localhost:3142/||" ./binary/etc/apt/sources.list +sed -i "s|localhost:3142/||" ./binary/etc/apt/sources.list.d/*.list diff --git a/sid-armhf-installer/customization/includes.chroot/etc/default/locale b/sid-armhf-installer/customization/includes.chroot/etc/default/locale new file mode 100644 index 0000000..f9c983c --- /dev/null +++ b/sid-armhf-installer/customization/includes.chroot/etc/default/locale @@ -0,0 +1 @@ +LANG=C.UTF-8 diff --git a/sid-armhf-installer/customization/includes.chroot/etc/hostname b/sid-armhf-installer/customization/includes.chroot/etc/hostname new file mode 100644 index 0000000..d424a53 --- /dev/null +++ b/sid-armhf-installer/customization/includes.chroot/etc/hostname @@ -0,0 +1 @@ +linaro-installer diff --git a/sid-armhf-installer/customization/includes.chroot/etc/hosts b/sid-armhf-installer/customization/includes.chroot/etc/hosts new file mode 100644 index 0000000..a77e463 --- /dev/null +++ b/sid-armhf-installer/customization/includes.chroot/etc/hosts @@ -0,0 +1,7 @@ +127.0.0.1 localhost +::1 localhost ip6-localhost ip6-loopback +fe00::0 ip6-localnet +ff00::0 ip6-mcastprefix +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +127.0.1.1 linaro-installer diff --git a/sid-armhf-installer/customization/includes.chroot/etc/kernel-img.conf b/sid-armhf-installer/customization/includes.chroot/etc/kernel-img.conf new file mode 100644 index 0000000..d24d4df --- /dev/null +++ b/sid-armhf-installer/customization/includes.chroot/etc/kernel-img.conf @@ -0,0 +1,6 @@ +# Kernel image management overrides +# See kernel-img.conf(5) for details +do_symlinks = yes +do_bootloader = no +do_initrd = yes +link_in_boot = yes diff --git a/sid-armhf-installer/customization/includes.chroot/etc/rc.local b/sid-armhf-installer/customization/includes.chroot/etc/rc.local new file mode 100755 index 0000000..39d1427 --- /dev/null +++ b/sid-armhf-installer/customization/includes.chroot/etc/rc.local @@ -0,0 +1,22 @@ +#!/bin/sh -e +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. + +# Generate the SSH keys if non-existent +if [ ! -f /etc/ssh/ssh_host_rsa_key ] +then + # else ssh service start in dpkg-reconfigure will fail + systemctl stop ssh.socket||true + dpkg-reconfigure openssh-server +fi + +exit 0 diff --git a/sid-armhf-installer/customization/package-lists/linaro.list.chroot b/sid-armhf-installer/customization/package-lists/linaro.list.chroot new file mode 100644 index 0000000..1b7fa0d --- /dev/null +++ b/sid-armhf-installer/customization/package-lists/linaro.list.chroot @@ -0,0 +1,50 @@ +# Packages needed for Linaro - Nano +96boards-installer-session +android-tools-fsutils +apt +apt-utils +console-setup +debconf +gdisk +gnupg +ifupdown +initramfs-tools +initscripts +iproute2 +iputils-ping +isc-dhcp-client +kbd +kpartx +libgl1-mesa-dri +libgl1-mesa-glx +lightdm +linaro-overlay-minimal +makedev +mawk +mesa-utils +net-tools +netbase +netcat-openbsd +netperf +network-manager +ntpdate +procps +python-minimal +resolvconf +rsyslog +sudo +systemd +systemd-sysv +udev +user-setup +util-linux +whiptail +x11-utils +x11-xserver-utils +xinit +xserver-xorg +xserver-xorg-input-evdev +xserver-xorg-video-fbdev +xserver-xorg-video-modesetting +xterm +zip diff --git a/sid-armhf-installer/customization/preseed/dictionaries-common.cfg.chroot b/sid-armhf-installer/customization/preseed/dictionaries-common.cfg.chroot new file mode 100644 index 0000000..b86c980 --- /dev/null +++ b/sid-armhf-installer/customization/preseed/dictionaries-common.cfg.chroot @@ -0,0 +1 @@ +dictionaries-common dictionaries-common/default-wordlist select american (American English) |