mirror of
https://github.com/commaai/agnos-builder.git
synced 2026-07-10 01:02:08 +08:00
4a924daa5a
* Ubuntu 24.04 (#188) * separate out qtwayland5 compilation * ubuntu 22.04 * temp build system image * remove bionic deps * temp packages update * update armhf packages * back to libstdc++6 * replaced remove dqt5-default meta package with actual depss * fix for build libqmi crashing with /usr/bin/env: 'python': No such file or directory * mapbox-gl-native gcc11 fix * openpilot_dependencies.sh change * ubuntu-base 24.04 daily current * apt install meson because PEP 668 * temp g++-11 for mapbox-gl-native * bump capnproto to 1.0.2 * temp build only agnos-compiler-mapbox-gl-native * Fixes for compiling mapbox-gl-native * Fixes for compiling ffmpeg * Build main system image again * pyopencl from git since no 2023.1.5 release since https://github.com/inducer/pyopencl/issues/705 * Try to fix checkinstall - no success * apt capnproto & ffmpeg since can't figure out issue with checkinstall * Commented removed services disable * Ubuntu 24.04 currently has arm-none-eabi/12.2.1 but just use wildcard to go to first folder * pyclean is missing ?! * ubuntu-latest in tests workflow * Updated README * Reverted internal/package_ota.py changes * rebuilt kernel * poetry.lock update * Simplified build_system pipeline * headers for capnproto * Fix typo * Fix for checkinstall * Reverted apt capnproto & ffmpeg * Some cleaning in Dockerfile * 24.04 libwayland-client * libffi6:armhf deb file * Updated qtwayland * Revert "libffi6:armhf deb file" This reverts commitbb9cb5da95. * libffi.so.6.0.4 * qt5-qmake qtbase5-dev qtbase5-dev-tools already in qt5-default * Removed qtwayland old files * checkinstall temp fix * QStandardPaths: wrong permissions on runtime directory /var/tmp/weston, 0770 instead of 0700 * temp permissions fix makes loading build spinner show * temp build optimization * 24.04 new libs * build kernel don't use tools on aarch64/arm64 * updated boot image and ko files * cleaning * switch to release 24.04 * wip - downgrade qt and libwayland * polkitd-pkla package to support polkit *.pkla * fixed issue with old qt needing libssl 1.1.1f * remove /.dockerenv file * more cleaning --------- Co-authored-by: Justin Newberry <justin@comma.ai> Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> * Ubuntu 24.04 branch fixes (#235) * bump version * /lib64 is now UsrMerged * latest pip poetry; poetry.lock update --------- Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> * revert README * [upload] * disable failing nvmf-autoconnect.service * disable failing networking.service * [upload] * no replacement for ondemand.service * snapd.service is in snapd package we don't install * nfs is using rpc-pipefs-generator now, when used * checkinstall is still not fixed so remove TODO * updated comment about usr merged lib64 * added checkinstall bug link * removed not used libffi.so.6 and libwayland-client.so.0 * cleaned compile-qtwayland5.sh and removed 5.15 patch * removed unused qt-comma 5.15 deb * cleaned up custom debs for qt and libwayland and added a README * fixed typo [upload] * change version * build-libwayland-deb.sh * build-qt-deb.sh * cleaned README * [upload] * fix libdl.so qtwayland build [upload] * rebuild debs * update libdl path [upload] * added missing systemd-resolved * ping capability * disable some systemd services * etc/resolv.conf link should not be needed * Revert "etc/resolv.conf link should not be needed" This reverts commitb627615a9e. * Revert "ping capability" This reverts commit812ca357cf. * set ping capability outside of container * disable systemd services: console-setup and sfsconfig Co-authored-by: Robin Reckmann <robin.reckmann@gmail.com> * disabled more systemd services * bump version [upload] * update version --------- Co-authored-by: Justin Newberry <justin@comma.ai> Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> Co-authored-by: Robin Reckmann <robin.reckmann@gmail.com>
204 lines
4.3 KiB
Bash
Executable File
204 lines
4.3 KiB
Bash
Executable File
#!/bin/bash -e
|
|
|
|
USERNAME=comma
|
|
PASSWD=comma
|
|
HOST=comma
|
|
|
|
# Create identification file
|
|
touch /TICI
|
|
touch /AGNOS
|
|
|
|
# Add armhf as supported architecture
|
|
dpkg --add-architecture armhf
|
|
|
|
# Install apt-fast
|
|
apt-get update
|
|
apt-get install -yq curl sudo wget
|
|
bash -c "$(curl -sL https://git.io/vokNn)"
|
|
|
|
# Install packages
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
apt-fast install --no-install-recommends -yq locales systemd adduser
|
|
|
|
# Create privileged user
|
|
useradd -G sudo -m -s /bin/bash $USERNAME
|
|
echo "$USERNAME:$PASSWD" | chpasswd
|
|
groupadd gpio
|
|
groupadd gpu
|
|
adduser $USERNAME root
|
|
adduser $USERNAME video
|
|
adduser $USERNAME gpio
|
|
adduser $USERNAME adm
|
|
adduser $USERNAME gpu
|
|
adduser $USERNAME audio
|
|
adduser $USERNAME disk
|
|
adduser $USERNAME dialout
|
|
adduser $USERNAME systemd-journal
|
|
|
|
# Enable serial console on UART
|
|
systemctl enable serial-getty@ttyS0.service
|
|
|
|
# set kernel params
|
|
echo "net.ipv4.conf.all.rp_filter = 2" >> /etc/sysctl.conf
|
|
echo "vm.dirty_expire_centisecs = 200" >> /etc/sysctl.conf
|
|
|
|
# raise comma user's process priority limits
|
|
echo "comma - rtprio 100" >> /etc/security/limits.conf
|
|
echo "comma - nice -10" >> /etc/security/limits.conf
|
|
|
|
# Locale setup
|
|
locale-gen en_US.UTF-8
|
|
update-locale LANG=en_US.UTF-8
|
|
|
|
apt-fast upgrade -yq
|
|
apt-fast install --no-install-recommends -yq \
|
|
alsa-utils \
|
|
apport-retrace \
|
|
bc \
|
|
build-essential \
|
|
bzip2 \
|
|
curl \
|
|
chrony \
|
|
cpuset \
|
|
dfu-util \
|
|
evtest \
|
|
git \
|
|
git-core \
|
|
git-lfs \
|
|
gdb \
|
|
htop \
|
|
i2c-tools \
|
|
ifmetric \
|
|
ifupdown \
|
|
iptables-persistent \
|
|
jq \
|
|
landscape-common \
|
|
libi2c-dev \
|
|
libqmi-utils \
|
|
libtool \
|
|
libncursesw5-dev \
|
|
libnss-myhostname \
|
|
libgdbm-dev \
|
|
libc6-dev \
|
|
libsqlite3-dev \
|
|
libssl-dev \
|
|
libffi-dev \
|
|
llvm \
|
|
nano \
|
|
net-tools \
|
|
nload \
|
|
network-manager \
|
|
nvme-cli \
|
|
openssl \
|
|
smartmontools \
|
|
speedtest-cli \
|
|
ssh \
|
|
sshfs \
|
|
sudo \
|
|
systemd-resolved \
|
|
traceroute \
|
|
tk-dev \
|
|
ubuntu-minimal \
|
|
ubuntu-server \
|
|
ubuntu-standard \
|
|
udev \
|
|
udhcpc \
|
|
wget \
|
|
wireless-tools \
|
|
zlib1g-dev
|
|
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Allow chrony to make a big adjustment to system time on boot
|
|
echo "makestep 0.1 3" >> /etc/chrony/chrony.conf
|
|
|
|
# Create dirs
|
|
mkdir /data && chown $USERNAME:$USERNAME /data
|
|
mkdir /persist && chown $USERNAME:$USERNAME /persist
|
|
|
|
# Disable pstore service that moves files out of /sys/fs/pstore
|
|
systemctl disable systemd-pstore.service
|
|
|
|
# Nopasswd sudo
|
|
echo "comma ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
|
|
|
# setup /bin/sh symlink
|
|
ln -sf /bin/bash /bin/sh
|
|
|
|
# Install necessary libs
|
|
apt-fast update -yq
|
|
apt-fast install --no-install-recommends -yq \
|
|
libacl1:armhf \
|
|
libasan6-armhf-cross \
|
|
libatomic1-armhf-cross \
|
|
libattr1:armhf \
|
|
libaudit1:armhf \
|
|
libblkid1:armhf \
|
|
libc6:armhf \
|
|
libc6-armhf-cross \
|
|
libc6-dev:armhf \
|
|
libc6-dev-armhf-cross \
|
|
libcairo2:armhf \
|
|
libcap2:armhf \
|
|
libdrm2:armhf \
|
|
libevdev2:armhf \
|
|
libexpat1:armhf \
|
|
libffi8:armhf \
|
|
libfontconfig1:armhf \
|
|
libfreetype6:armhf \
|
|
libgbm1:armhf \
|
|
libgcc-11-dev-armhf-cross \
|
|
libglib2.0-0t64:armhf \
|
|
libgomp1-armhf-cross \
|
|
libgudev-1.0-0:armhf \
|
|
libinput-bin:armhf \
|
|
libinput-dev:armhf \
|
|
libinput10:armhf \
|
|
libjpeg-dev:armhf \
|
|
libjpeg-turbo8:armhf \
|
|
libjpeg-turbo8-dev:armhf \
|
|
libjpeg8:armhf \
|
|
libjpeg8-dev:armhf \
|
|
libkmod2:armhf \
|
|
libmtdev1t64:armhf \
|
|
libpam0g:armhf \
|
|
libpam0g-dev:armhf \
|
|
libpcre3:armhf \
|
|
libpixman-1-0:armhf \
|
|
libpng16-16t64:armhf \
|
|
libselinux1:armhf \
|
|
libstdc++6:armhf \
|
|
libstdc++6-armhf-cross \
|
|
libubsan1-armhf-cross \
|
|
libudev-dev:armhf \
|
|
libudev1:armhf \
|
|
libuuid1:armhf \
|
|
libwacom9:armhf \
|
|
libx11-6:armhf \
|
|
libxau6:armhf \
|
|
libxcb-render0:armhf \
|
|
libxcb-shm0:armhf \
|
|
libxcb1:armhf \
|
|
libxdmcp6:armhf \
|
|
libxext6:armhf \
|
|
libxkbcommon0:armhf \
|
|
libxrender1:armhf \
|
|
linux-libc-dev:armhf \
|
|
linux-libc-dev-armhf-cross \
|
|
zlib1g:armhf \
|
|
libegl1 \
|
|
libegl-dev \
|
|
libgles1 \
|
|
libgles2 \
|
|
libgles-dev \
|
|
openssh-server \
|
|
dnsmasq-base \
|
|
isc-dhcp-client \
|
|
iputils-ping \
|
|
rsyslog \
|
|
kmod \
|
|
wpasupplicant \
|
|
hostapd \
|
|
libgtk2.0-dev \
|
|
libxml2:armhf \
|