diff --git a/sdbuild/scripts/create_rootfs.sh b/sdbuild/scripts/create_rootfs.sh index 52e6d6b9f7..68e1057b31 100755 --- a/sdbuild/scripts/create_rootfs.sh +++ b/sdbuild/scripts/create_rootfs.sh @@ -5,6 +5,7 @@ set -e target=$1 SRCDIR=$2 +ARCH=$3 fss="proc dev sys" echo $QEMU_EXE @@ -14,6 +15,7 @@ multistrap_opt= if [ -n "$PYNQ_UBUNTU_REPO" ]; then tmpfile=$(mktemp) + export PYNQ_UBUNTU_REPO=$(echo ${PYNQ_UBUNTU_REPO} | sed 's\jammy\jammy/$(ARCH)\') sed -e "s;source=.*;source=${PYNQ_UBUNTU_REPO};" $multistrap_conf > $tmpfile mkdir -p $target/etc/apt/apt.conf.d/ echo 'Acquire::AllowInsecureRepositories "1";' > $target/etc/apt/apt.conf.d/allowinsecure @@ -29,12 +31,10 @@ $dry_run sudo -E multistrap -f $multistrap_conf -d $target $multistrap_opt sudo chroot / chmod a+w $target cat - > $target/postinst1.sh <> $target/postinst2.sh < /etc/apt/sources.list.d/multistrap-focal.list -echo "deb-src http://ports.ubuntu.com/ubuntu-ports focal main universe" >> /etc/apt/sources.list.d/multistrap-focal.list +echo "deb http://ports.ubuntu.com/ubuntu-ports jammy main universe" > /etc/apt/sources.list.d/multistrap-jammy.list +echo "deb-src http://ports.ubuntu.com/ubuntu-ports jammy main universe" >> /etc/apt/sources.list.d/multistrap-jammy.list EOT fi diff --git a/sdbuild/ubuntu/focal/aarch64/config b/sdbuild/ubuntu/focal/aarch64/config deleted file mode 100644 index fff4b611a0..0000000000 --- a/sdbuild/ubuntu/focal/aarch64/config +++ /dev/null @@ -1,5 +0,0 @@ -STAGE2_PACKAGES_aarch64 := gcc-mb udev libsds python_packages_focal jupyter -STAGE2_PACKAGES_aarch64 += phantomjs-fix sigrok -STAGE2_PACKAGES_aarch64 += pybind11 -STAGE2_PACKAGES_aarch64 += bootpy -STAGE3_PACKAGES_aarch64 := pynq x11 resizefs diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/default/motd-news.diff b/sdbuild/ubuntu/focal/aarch64/patch/etc/default/motd-news.diff deleted file mode 100755 index 40f3c1114c..0000000000 --- a/sdbuild/ubuntu/focal/aarch64/patch/etc/default/motd-news.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- motd-news.orig 2021-10-13 15:23:44.867988000 -0700 -+++ motd-news 2021-10-13 14:53:10.033568100 -0700 -@@ -2,7 +2,7 @@ - # This is a useful way to provide dynamic, informative - # information pertinent to the users and administrators - # of the local system --ENABLED=1 -+ENABLED=0 - - # Configure the source of dynamic MOTD news - # White space separated list of 0 to many news services diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/environment.diff b/sdbuild/ubuntu/focal/aarch64/patch/etc/environment.diff deleted file mode 100644 index 9c2af567ab..0000000000 --- a/sdbuild/ubuntu/focal/aarch64/patch/etc/environment.diff +++ /dev/null @@ -1,9 +0,0 @@ ---- ../rootfs/etc/environment 2016-12-19 16:01:21.026382772 +0000 -+++ ../imagefs/etc/environment 1970-01-01 01:00:22.380003747 +0100 -@@ -1 +1,5 @@ --PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" -+PATH="/opt/sigrok/bin:/opt/microblazeel-xilinx-elf/bin:/opt/python3.8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" -+LC_ALL=en_US.UTF-8 -+LANG=en_US.UTF-8 -+PYNQ_JUPYTER_NOTEBOOKS=/home/xilinx/jupyter_notebooks -+PYNQ_PYTHON=python3.8 diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/issue.diff b/sdbuild/ubuntu/focal/aarch64/patch/etc/issue.diff deleted file mode 100755 index be6135bbde..0000000000 --- a/sdbuild/ubuntu/focal/aarch64/patch/etc/issue.diff +++ /dev/null @@ -1,6 +0,0 @@ ---- /home/xilinx/tm_aarch64_diff/orig/etc/issue 2018-08-21 16:29:46.910460443 +0000 -+++ /home/xilinx/tm_aarch64_diff/final/etc/issue 2018-08-21 16:07:59.888472600 +0000 -@@ -1,2 +1,2 @@ --Ubuntu 20.04 LTS \n \l -+PYNQ Linux, based on Ubuntu 20.04 \n \l - diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/issue.net.diff b/sdbuild/ubuntu/focal/aarch64/patch/etc/issue.net.diff deleted file mode 100755 index f86533d99f..0000000000 --- a/sdbuild/ubuntu/focal/aarch64/patch/etc/issue.net.diff +++ /dev/null @@ -1,5 +0,0 @@ ---- /home/xilinx/tm_aarch64_diff/orig/etc/issue.net 2018-08-21 16:29:46.954460309 +0000 -+++ /home/xilinx/tm_aarch64_diff/final/etc/issue.net 2018-08-21 16:08:09.696396200 +0000 -@@ -1 +1 @@ --Ubuntu 20.04 LTS -+PYNQ Linux, based on Ubuntu 20.04 diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/lsb-release.diff b/sdbuild/ubuntu/focal/aarch64/patch/etc/lsb-release.diff deleted file mode 100644 index 479bbde764..0000000000 --- a/sdbuild/ubuntu/focal/aarch64/patch/etc/lsb-release.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- /home/xilinx/tm_aarch64_diff/orig/etc/lsb-release 2018-08-21 16:29:46.970460260 +0000 -+++ /home/xilinx/tm_aarch64_diff/final/etc/lsb-release 2018-08-21 16:13:03.814326800 +0000 -@@ -1,4 +1,4 @@ --DISTRIB_ID=Ubuntu --DISTRIB_RELEASE=20.04 --DISTRIB_CODENAME=focal --DISTRIB_DESCRIPTION="Ubuntu 20.04 LTS" -+DISTRIB_ID=pynqlinux -+DISTRIB_RELEASE=v2.7 -+DISTRIB_CODENAME=Austin -+DISTRIB_DESCRIPTION="PYNQ Linux, based on Ubuntu 20.04" - diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/update-motd.d/10-help-text.diff b/sdbuild/ubuntu/focal/aarch64/patch/etc/update-motd.d/10-help-text.diff deleted file mode 100755 index 5517ec86d2..0000000000 --- a/sdbuild/ubuntu/focal/aarch64/patch/etc/update-motd.d/10-help-text.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- /home/xilinx/tm_aarch64_diff/orig/etc/update-motd.d/10-help-text 2018-08-21 16:29:46.990460199 +0000 -+++ /home/xilinx/tm_aarch64_diff/final/etc/update-motd.d/10-help-text 2018-08-21 16:06:12.725223800 +0000 -@@ -20,7 +20,7 @@ - # with this program; if not, write to the Free Software Foundation, Inc., - # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - --printf "\n" --printf " * Documentation: https://help.ubuntu.com\n" --printf " * Management: https://landscape.canonical.com\n" --printf " * Support: https://ubuntu.com/advantage\n" -+ printf "\n" -+# printf " * Documentation: https://help.ubuntu.com\n" -+# printf " * Management: https://landscape.canonical.com\n" -+# printf " * Support: https://ubuntu.com/advantage\n" diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/update-motd.d/50-motd-news.diff b/sdbuild/ubuntu/focal/aarch64/patch/etc/update-motd.d/50-motd-news.diff deleted file mode 100755 index 82125ec917..0000000000 --- a/sdbuild/ubuntu/focal/aarch64/patch/etc/update-motd.d/50-motd-news.diff +++ /dev/null @@ -1,111 +0,0 @@ ---- 50-motd-news 2019-12-05 14:39:21.000000000 +0000 -+++ 50-motd-news.new 2021-07-07 20:42:22.772767592 +0000 -@@ -28,108 +28,4 @@ - # - Dustin - ############################################################################## - --# Source the local configuration --[ -r /etc/default/motd-news ] && . /etc/default/motd-news -- --# Exit immediately, unless we're enabled --# This makes this script very easy to disable in /etc/default/motd-news configuration --[ "$ENABLED" = "1" ] || exit 0 -- --# Ensure sane defaults --[ -n "$URLS" ] || URLS="https://motd.ubuntu.com" --[ -n "$WAIT" ] || WAIT=5 --[ -n "$CACHE" ] || CACHE="/var/cache/motd-news" --[ "$1" = "--force" ] && FORCED=1 -- --# Ensure we print safely, maximum of the first 10 lines, --# maximum of the first 80 chars per line, no control chars --safe_print() { -- cat "$1" | head -n 10 | tr -d '\000-\011\013\014\016-\037' | cut -c -80 --} -- -- --# If we're not forcing an update, and we have a cached motd-news file, --# then just print it and exit as quickly as possible, for login performance. --# Note that systemd should keep this cache file up to date, asynchronously --if [ "$FORCED" != "1" ]; then -- if [ -r $CACHE ]; then -- echo -- safe_print $CACHE -- elif [ "$(id -u)" -eq 0 ]; then -- : > $CACHE -- fi -- exit 0 --fi -- --# If we've made it here, we've been given the --force argument, --# probably from the systemd motd-news.service. Let's update... -- --# Generate our temp files, clean up when done --NEWS=$(mktemp) || exit 1 --ERR=$(mktemp) || exit 1 --CLOUD=$(mktemp) || exit 1 --trap "rm -f $NEWS $ERR $CLOUD" HUP INT QUIT ILL TRAP KILL BUS TERM -- --# Construct a user agent, similar to Firefox/Chrome/Safari/IE to --# ensure a proper, tailored, accurate message of the day -- --# Curl browser version, for debug purposes --curl_ver="$(dpkg -l curl | awk '$1 == "ii" { print($3); exit(0); }')" -- --# Distribution version, for messages releated to this Ubuntu release --. /etc/lsb-release --lsb=$(echo "$DISTRIB_DESCRIPTION" | sed -e "s/ /\//g") --codename="$DISTRIB_CODENAME" -- --# Kernel version and CPU type, for messages related to a particular revision or hardware --platform="$(uname -o)/$(uname -r)/$(uname -m)" --arch="$(uname -m)" --cpu="$(grep -m1 "^model name" /proc/cpuinfo | sed -e "s/.*: //" -e "s:\s\+:/:g")" --cloud_id="unknown" --if [ -x /usr/bin/cloud-id ]; then -- /usr/bin/cloud-id > "$CLOUD" 2>/dev/null -- if [ "$?" -eq "0" ]; then -- # sanitize it a bit, just in case -- cloud_id=$(cut -c -40 "${CLOUD}" | tr -c -d '[:alnum:]') -- if [ -z "${cloud_id}" ]; then -- cloud_id="unknown" -- fi -- fi --fi -- --# Some messages may only be pertinent before or after some amount of uptime --read up idle < /proc/uptime --uptime="uptime/$up/$idle" -- --# Piece together the user agent --USER_AGENT="curl/$curl_ver $lsb $platform $cpu $uptime cloud_id/$cloud_id" -- --# Loop over any configured URLs --for u in $URLS; do -- # Ensure https:// protocol, for security reasons -- case $u in -- https://*) -- true -- ;; -- https://motd.ubuntu.com) -- u="$u/$codename/$arch" -- ;; -- *) -- continue -- ;; -- esac -- # If we're forced, set the wait to much higher (1 minute) -- [ "$FORCED" = "1" ] && WAIT=60 -- # Fetch and print the news motd -- if curl --connect-timeout "$WAIT" --max-time "$WAIT" -A "$USER_AGENT" -o- "$u" >"$NEWS" 2>"$ERR"; then -- echo -- # At most, 10 lines of text, remove control characters, print at most 80 characters per line -- safe_print "$NEWS" -- # Try to update the cache -- safe_print "$NEWS" 2>/dev/null >$CACHE || true -- else -- : > "$CACHE" -- fi --done --rm -f "$NEWS" "$ERR" "$CLOUD" - exit 0 diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/update-motd.d/92-unattended-upgrades.diff b/sdbuild/ubuntu/focal/aarch64/patch/etc/update-motd.d/92-unattended-upgrades.diff deleted file mode 100755 index 19aa576133..0000000000 --- a/sdbuild/ubuntu/focal/aarch64/patch/etc/update-motd.d/92-unattended-upgrades.diff +++ /dev/null @@ -1,8 +0,0 @@ ---- 92-unattended-upgrades.orig 2021-10-13 14:28:42.505837000 -0700 -+++ 92-unattended-upgrades 2021-10-13 15:18:35.753028000 -0700 -@@ -1,5 +1 @@ - #!/bin/sh -- --if [ -x /usr/share/unattended-upgrades/update-motd-unattended-upgrades ]; then -- exec /usr/share/unattended-upgrades/update-motd-unattended-upgrades --fi diff --git a/sdbuild/ubuntu/focal/aarch64/patch/lib/systemd/system/serial-getty@.service.diff b/sdbuild/ubuntu/focal/aarch64/patch/lib/systemd/system/serial-getty@.service.diff deleted file mode 100644 index 11d866c370..0000000000 --- a/sdbuild/ubuntu/focal/aarch64/patch/lib/systemd/system/serial-getty@.service.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- a/serial-getty@.service 2017-12-12 08:25:32.000000000 -0500 -+++ b/serial-getty@.service 2018-01-05 06:08:32.709699756 -0500 -@@ -29,7 +29,7 @@ - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,38400,9600 %I $TERM -+ExecStart=-/sbin/agetty --autologin xilinx --keep-baud 115200,38400,9600 %I $TERM - Type=idle - Restart=always - UtmpIdentifier=%I diff --git a/sdbuild/ubuntu/focal/arm/config b/sdbuild/ubuntu/focal/arm/config deleted file mode 100644 index e009215371..0000000000 --- a/sdbuild/ubuntu/focal/arm/config +++ /dev/null @@ -1,6 +0,0 @@ -STAGE2_PACKAGES_arm := gcc-mb ssl udev cmake python_packages_focal libsds -STAGE2_PACKAGES_arm += jupyter phantomjs-fix sigrok -STAGE2_PACKAGES_arm += pybind11 -STAGE2_PACKAGES_arm += bootpy -STAGE3_PACKAGES_arm := pynq resizefs - diff --git a/sdbuild/ubuntu/focal/arm/patch/etc/default/motd-news.diff b/sdbuild/ubuntu/focal/arm/patch/etc/default/motd-news.diff deleted file mode 100755 index 40f3c1114c..0000000000 --- a/sdbuild/ubuntu/focal/arm/patch/etc/default/motd-news.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- motd-news.orig 2021-10-13 15:23:44.867988000 -0700 -+++ motd-news 2021-10-13 14:53:10.033568100 -0700 -@@ -2,7 +2,7 @@ - # This is a useful way to provide dynamic, informative - # information pertinent to the users and administrators - # of the local system --ENABLED=1 -+ENABLED=0 - - # Configure the source of dynamic MOTD news - # White space separated list of 0 to many news services diff --git a/sdbuild/ubuntu/focal/arm/patch/etc/environment.diff b/sdbuild/ubuntu/focal/arm/patch/etc/environment.diff deleted file mode 100644 index 9c2af567ab..0000000000 --- a/sdbuild/ubuntu/focal/arm/patch/etc/environment.diff +++ /dev/null @@ -1,9 +0,0 @@ ---- ../rootfs/etc/environment 2016-12-19 16:01:21.026382772 +0000 -+++ ../imagefs/etc/environment 1970-01-01 01:00:22.380003747 +0100 -@@ -1 +1,5 @@ --PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" -+PATH="/opt/sigrok/bin:/opt/microblazeel-xilinx-elf/bin:/opt/python3.8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" -+LC_ALL=en_US.UTF-8 -+LANG=en_US.UTF-8 -+PYNQ_JUPYTER_NOTEBOOKS=/home/xilinx/jupyter_notebooks -+PYNQ_PYTHON=python3.8 diff --git a/sdbuild/ubuntu/focal/arm/patch/etc/issue.diff b/sdbuild/ubuntu/focal/arm/patch/etc/issue.diff deleted file mode 100755 index b28bcee849..0000000000 --- a/sdbuild/ubuntu/focal/arm/patch/etc/issue.diff +++ /dev/null @@ -1,6 +0,0 @@ ---- issue.old 2018-07-26 19:45:04.389997127 +0000 -+++ issue 2018-07-26 19:45:41.179997073 +0000 -@@ -1,2 +1,2 @@ --Ubuntu 20.04 LTS \n \l -+PYNQ Linux, based on Ubuntu 20.04 \n \l - diff --git a/sdbuild/ubuntu/focal/arm/patch/etc/issue.net.diff b/sdbuild/ubuntu/focal/arm/patch/etc/issue.net.diff deleted file mode 100755 index fb564a0e3a..0000000000 --- a/sdbuild/ubuntu/focal/arm/patch/etc/issue.net.diff +++ /dev/null @@ -1,5 +0,0 @@ ---- issue.net.old 2018-07-26 19:46:21.799997012 +0000 -+++ issue.net 2018-07-26 19:47:01.849996952 +0000 -@@ -1 +1 @@ --Ubuntu 20.04 LTS -+PYNQ Linux, based on Ubuntu 20.04 diff --git a/sdbuild/ubuntu/focal/arm/patch/etc/lsb-release.diff b/sdbuild/ubuntu/focal/arm/patch/etc/lsb-release.diff deleted file mode 100644 index 479bbde764..0000000000 --- a/sdbuild/ubuntu/focal/arm/patch/etc/lsb-release.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- /home/xilinx/tm_aarch64_diff/orig/etc/lsb-release 2018-08-21 16:29:46.970460260 +0000 -+++ /home/xilinx/tm_aarch64_diff/final/etc/lsb-release 2018-08-21 16:13:03.814326800 +0000 -@@ -1,4 +1,4 @@ --DISTRIB_ID=Ubuntu --DISTRIB_RELEASE=20.04 --DISTRIB_CODENAME=focal --DISTRIB_DESCRIPTION="Ubuntu 20.04 LTS" -+DISTRIB_ID=pynqlinux -+DISTRIB_RELEASE=v2.7 -+DISTRIB_CODENAME=Austin -+DISTRIB_DESCRIPTION="PYNQ Linux, based on Ubuntu 20.04" - diff --git a/sdbuild/ubuntu/focal/arm/patch/etc/update-motd.d/10-help-text.diff b/sdbuild/ubuntu/focal/arm/patch/etc/update-motd.d/10-help-text.diff deleted file mode 100755 index 61f36e4db2..0000000000 --- a/sdbuild/ubuntu/focal/arm/patch/etc/update-motd.d/10-help-text.diff +++ /dev/null @@ -1,12 +0,0 @@ -root@xsjengvm209187:/etc/update-motd.d# more 10-help-text.diff ---- 10-help-text 2021-05-20 16:46:59.000000000 +0000 -+++ 10-help-text.new 2021-05-20 16:47:27.000000000 +0000 -@@ -20,7 +20,4 @@ - # with this program; if not, write to the Free Software Foundation, Inc., - # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - --printf "\n" --printf " * Documentation: https://help.ubuntu.com\n" --printf " * Management: https://landscape.canonical.com\n" --printf " * Support: https://ubuntu.com/advantage\n" -+ diff --git a/sdbuild/ubuntu/focal/arm/patch/etc/update-motd.d/50-motd-news.diff b/sdbuild/ubuntu/focal/arm/patch/etc/update-motd.d/50-motd-news.diff deleted file mode 100755 index 82125ec917..0000000000 --- a/sdbuild/ubuntu/focal/arm/patch/etc/update-motd.d/50-motd-news.diff +++ /dev/null @@ -1,111 +0,0 @@ ---- 50-motd-news 2019-12-05 14:39:21.000000000 +0000 -+++ 50-motd-news.new 2021-07-07 20:42:22.772767592 +0000 -@@ -28,108 +28,4 @@ - # - Dustin - ############################################################################## - --# Source the local configuration --[ -r /etc/default/motd-news ] && . /etc/default/motd-news -- --# Exit immediately, unless we're enabled --# This makes this script very easy to disable in /etc/default/motd-news configuration --[ "$ENABLED" = "1" ] || exit 0 -- --# Ensure sane defaults --[ -n "$URLS" ] || URLS="https://motd.ubuntu.com" --[ -n "$WAIT" ] || WAIT=5 --[ -n "$CACHE" ] || CACHE="/var/cache/motd-news" --[ "$1" = "--force" ] && FORCED=1 -- --# Ensure we print safely, maximum of the first 10 lines, --# maximum of the first 80 chars per line, no control chars --safe_print() { -- cat "$1" | head -n 10 | tr -d '\000-\011\013\014\016-\037' | cut -c -80 --} -- -- --# If we're not forcing an update, and we have a cached motd-news file, --# then just print it and exit as quickly as possible, for login performance. --# Note that systemd should keep this cache file up to date, asynchronously --if [ "$FORCED" != "1" ]; then -- if [ -r $CACHE ]; then -- echo -- safe_print $CACHE -- elif [ "$(id -u)" -eq 0 ]; then -- : > $CACHE -- fi -- exit 0 --fi -- --# If we've made it here, we've been given the --force argument, --# probably from the systemd motd-news.service. Let's update... -- --# Generate our temp files, clean up when done --NEWS=$(mktemp) || exit 1 --ERR=$(mktemp) || exit 1 --CLOUD=$(mktemp) || exit 1 --trap "rm -f $NEWS $ERR $CLOUD" HUP INT QUIT ILL TRAP KILL BUS TERM -- --# Construct a user agent, similar to Firefox/Chrome/Safari/IE to --# ensure a proper, tailored, accurate message of the day -- --# Curl browser version, for debug purposes --curl_ver="$(dpkg -l curl | awk '$1 == "ii" { print($3); exit(0); }')" -- --# Distribution version, for messages releated to this Ubuntu release --. /etc/lsb-release --lsb=$(echo "$DISTRIB_DESCRIPTION" | sed -e "s/ /\//g") --codename="$DISTRIB_CODENAME" -- --# Kernel version and CPU type, for messages related to a particular revision or hardware --platform="$(uname -o)/$(uname -r)/$(uname -m)" --arch="$(uname -m)" --cpu="$(grep -m1 "^model name" /proc/cpuinfo | sed -e "s/.*: //" -e "s:\s\+:/:g")" --cloud_id="unknown" --if [ -x /usr/bin/cloud-id ]; then -- /usr/bin/cloud-id > "$CLOUD" 2>/dev/null -- if [ "$?" -eq "0" ]; then -- # sanitize it a bit, just in case -- cloud_id=$(cut -c -40 "${CLOUD}" | tr -c -d '[:alnum:]') -- if [ -z "${cloud_id}" ]; then -- cloud_id="unknown" -- fi -- fi --fi -- --# Some messages may only be pertinent before or after some amount of uptime --read up idle < /proc/uptime --uptime="uptime/$up/$idle" -- --# Piece together the user agent --USER_AGENT="curl/$curl_ver $lsb $platform $cpu $uptime cloud_id/$cloud_id" -- --# Loop over any configured URLs --for u in $URLS; do -- # Ensure https:// protocol, for security reasons -- case $u in -- https://*) -- true -- ;; -- https://motd.ubuntu.com) -- u="$u/$codename/$arch" -- ;; -- *) -- continue -- ;; -- esac -- # If we're forced, set the wait to much higher (1 minute) -- [ "$FORCED" = "1" ] && WAIT=60 -- # Fetch and print the news motd -- if curl --connect-timeout "$WAIT" --max-time "$WAIT" -A "$USER_AGENT" -o- "$u" >"$NEWS" 2>"$ERR"; then -- echo -- # At most, 10 lines of text, remove control characters, print at most 80 characters per line -- safe_print "$NEWS" -- # Try to update the cache -- safe_print "$NEWS" 2>/dev/null >$CACHE || true -- else -- : > "$CACHE" -- fi --done --rm -f "$NEWS" "$ERR" "$CLOUD" - exit 0 diff --git a/sdbuild/ubuntu/focal/arm/patch/etc/update-motd.d/92-unattended-upgrades.diff b/sdbuild/ubuntu/focal/arm/patch/etc/update-motd.d/92-unattended-upgrades.diff deleted file mode 100755 index 19aa576133..0000000000 --- a/sdbuild/ubuntu/focal/arm/patch/etc/update-motd.d/92-unattended-upgrades.diff +++ /dev/null @@ -1,8 +0,0 @@ ---- 92-unattended-upgrades.orig 2021-10-13 14:28:42.505837000 -0700 -+++ 92-unattended-upgrades 2021-10-13 15:18:35.753028000 -0700 -@@ -1,5 +1 @@ - #!/bin/sh -- --if [ -x /usr/share/unattended-upgrades/update-motd-unattended-upgrades ]; then -- exec /usr/share/unattended-upgrades/update-motd-unattended-upgrades --fi diff --git a/sdbuild/ubuntu/focal/arm/patch/lib/systemd/system/serial-getty@.service.diff b/sdbuild/ubuntu/focal/arm/patch/lib/systemd/system/serial-getty@.service.diff deleted file mode 100644 index 11d866c370..0000000000 --- a/sdbuild/ubuntu/focal/arm/patch/lib/systemd/system/serial-getty@.service.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- a/serial-getty@.service 2017-12-12 08:25:32.000000000 -0500 -+++ b/serial-getty@.service 2018-01-05 06:08:32.709699756 -0500 -@@ -29,7 +29,7 @@ - # The '-o' option value tells agetty to replace 'login' arguments with an - # option to preserve environment (-p), followed by '--' for safety, and then - # the entered username. --ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,38400,9600 %I $TERM -+ExecStart=-/sbin/agetty --autologin xilinx --keep-baud 115200,38400,9600 %I $TERM - Type=idle - Restart=always - UtmpIdentifier=%I diff --git a/sdbuild/ubuntu/jammy/aarch64/config b/sdbuild/ubuntu/jammy/aarch64/config new file mode 100644 index 0000000000..27b0cc2149 --- /dev/null +++ b/sdbuild/ubuntu/jammy/aarch64/config @@ -0,0 +1,5 @@ +STAGE2_PACKAGES_aarch64 := gcc-mb udev libsds python_packages_jammy jupyter +STAGE2_PACKAGES_aarch64 += sigrok +STAGE2_PACKAGES_aarch64 += bootpy +STAGE2_PACKAGES_aarch64 += clear_pl_statefile +STAGE3_PACKAGES_aarch64 := xrt pynq x11 resizefs diff --git a/sdbuild/ubuntu/focal/aarch64/multistrap.config b/sdbuild/ubuntu/jammy/aarch64/multistrap.config similarity index 88% rename from sdbuild/ubuntu/focal/aarch64/multistrap.config rename to sdbuild/ubuntu/jammy/aarch64/multistrap.config index dfc91c14fb..b249f653f3 100644 --- a/sdbuild/ubuntu/focal/aarch64/multistrap.config +++ b/sdbuild/ubuntu/jammy/aarch64/multistrap.config @@ -1,20 +1,20 @@ [General] -debootstrap=Focal -aptsources=Focal +debootstrap=Jammy +aptsources=Jammy arch=arm64 allowrecommends=true addimportant=true -[Focal] +[Jammy] source=http://ports.ubuntu.com/ubuntu-ports -suite=focal universe +suite=jammy universe keyring=ubuntu-keyring packages=python3-networkx python3-lxml python3-numexpr packages=python3-transitions python3-sympy python3-cffi packages=python3-sqlalchemy python3-pytest packages=python3-pytest-sourceorder python3-uvloop packages=python3-retrying openjdk-8-jdk python3-scipy -packages=python3-pil phantomjs python3-matplotlib python3-venv +packages=python3-pil python3-matplotlib python3-venv packages=python3-pygraphviz python3-setuptools python3-pip packages=libopencv-dev python3-opencv packages=2ping adduser alex apt apt-utils attr autoconf autoconf-archive @@ -23,7 +23,7 @@ packages=binfmt-support binutils bison blt bsdmainutils bsdutils packages=build-essential bzip2 ca-certificates check cmake cmake-data packages=coreutils cpp cpp-9 cpufrequtils cron curl dash dbus dbus-x11 packages=debconf debhelper debianutils dh-python diffutils dmsetup dpkg -packages=dpkg-dev e2fslibs e2fsprogs ethtool fakeroot file findutils flex +packages=dpkg-dev e2fsprogs ethtool file findutils flex packages=fontconfig fontconfig-config fonts-dejavu-core fonts-lmodern packages=fonts-texgyre fswebcam g++ g++-9 gawk gcc gcc-9 gcc-9-base gettext packages=gettext-base gfortran gfortran-9 gir1.2-atk-1.0 gir1.2-freedesktop @@ -32,7 +32,7 @@ packages=git git-man gnupg gperf gpgv grep groff-base gsfonts gyp gzip happy packages=help2man hicolor-icon-theme hostname hscolour htop i2c-tools packages=icu-devtools ifupdown init init-system-helpers intltool-debian packages=iproute2 iputils-ping isc-dhcp-client isc-dhcp-common iso-codes -packages=javascript-common kmod krb5-locales language-pack-en +packages=javascript-common krb5-locales language-pack-en packages=language-pack-en-base less libaacs0 libacl1 libaio1 packages=libalgorithm-c3-perl libalgorithm-diff-perl libalgorithm-diff-xs-perl packages=libalgorithm-merge-perl libapparmor1 libarchive-extract-perl @@ -51,11 +51,11 @@ packages=libc-ares-dev libc-ares2 libc-bin libc-dev-bin libcairo-gobject2 packages=libcairo-script-interpreter2 libcairo2 libcairo2-dev libcap-ng0 packages=libcap2 libcap2-bin libcc1-0 libcgi-fast-perl libcgi-pm-perl packages=libclass-c3-perl libclass-c3-xs-perl libclass-method-modifiers-perl -packages=libclass-xsaccessor-perl libcomerr2 libcpan-changes-perl -packages=libcpan-meta-perl libcpufreq0 libcroco3 libcups2 libcupsfilters1 +packages=libclass-xsaccessor-perl libcpan-changes-perl +packages=libcpufreq0 libcups2 libcupsfilters1 packages=libcupsimage2 libcurl4 libcurl3-gnutls libdata-optlist-perl packages=libdata-perl-perl libdata-section-perl libdatrie1 libdb5.3 -packages=libdbus-1-3 libdbus-glib-1-2 libdc1394-22 libdc1394-22-dev +packages=libdbus-1-3 libdbus-glib-1-2 libdc1394-25 libdc1394-dev packages=libdebconfclient0 libdevel-caller-perl packages=libdevel-globaldestruction-perl libdevel-lexalias-perl packages=libdevmapper1.02.1 libdpkg-perl libdrm-amdgpu1 libdrm-dev libdrm2 @@ -67,10 +67,10 @@ packages=libfile-fcntllock-perl libfile-homedir-perl libfile-listing-perl packages=libfile-mimeinfo-perl libfile-slurp-perl libfile-which-perl libfl-dev packages=libfont-afm-perl libfontconfig1 libfontconfig1-dev libfontenc1 packages=libfreetype6 libfreetype6-dev libftdi-dev libftdi1 libgcc-9-dev -packages=libgcc1 libgcrypt20 libgd3 libgdbm-dev libgdk-pixbuf2.0-0 +packages=libgcrypt20 libgd3 libgdbm-dev libgdk-pixbuf2.0-0 packages=libgdk-pixbuf2.0-common libgdk-pixbuf2.0-dev packages=libgetopt-long-descriptive-perl libgettextpo-dev libgettextpo0 -packages=libgfortran-9-dev libgfortran4 libgirepository-1.0-1 libglapi-mesa +packages=libgfortran-10-dev libgfortran5 libgirepository-1.0-1 libglapi-mesa packages=libglib2.0-0 libglib2.0-bin libglib2.0-data libglib2.0-dev packages=libglibmm-2.4-1v5 libglibmm-2.4-dev libgme0 libgmp-dev libgmp10 packages=libgmpxx4ldbl libgnutls-openssl27 libgomp1 libgpg-error0 libgpm2 @@ -78,12 +78,12 @@ packages=libgraphite2-3 libgs9 libgs9-common libgsm1 libgssapi-krb5-2 packages=libgssapi3-heimdal libgtk2.0-0 libgtk2.0-bin libgtk2.0-common packages=libgtk2.0-dev libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-icu0 packages=libharfbuzz0b libhcrypto4-heimdal libhdb9-heimdal -packages=libheimbase1-heimdal libheimntlm0-heimdal libhogweed5 +packages=libheimbase1-heimdal libheimntlm0-heimdal libhogweed6 packages=libhtml-form-perl libhtml-format-perl libhtml-parser-perl packages=libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl packages=libhttp-daemon-perl libhttp-date-perl libhttp-message-perl packages=libhttp-negotiate-perl libhx509-5-heimdal libi2c-dev libice-dev -packages=libice6 libicu-dev libidn11 libijs-0.35 libilmbase-dev libilmbase24 +packages=libice6 libicu-dev libidn12 libijs-0.35 libilmbase-dev libilmbase25 packages=libimport-into-perl libindirect-perl libintl-perl libio-html-perl packages=libio-socket-inet6-perl libio-socket-ssl-perl libio-stringy-perl packages=libipc-system-simple-perl libjbig-dev libjbig0 libjbig2dec0 @@ -91,7 +91,7 @@ packages=libjpeg-dev libjpeg-turbo8 libjpeg-turbo8-dev libjpeg8 libjpeg8-dev packages=libjs-inherits libjs-jquery libjs-underscore packages=libk5crypto3 libkdc2-heimdal libkeyutils1 libkmod2 libkpathsea6 packages=libkrb5-26-heimdal libkrb5-3 libkrb5support0 liblapack-dev liblapack3 -packages=liblcms2-2 liblcms2-dev libldap-2.4-2 libldb2 +packages=liblcms2-2 liblcms2-dev libldap-2.5-0 libldb2 packages=liblexical-sealrequirehints-perl liblist-moreutils-perl packages=liblocale-gettext-perl liblockfile-bin liblockfile1 packages=liblog-message-perl liblog-message-simple-perl libltdl-dev libltdl7 @@ -100,13 +100,13 @@ packages=liblzma-dev liblzma5 liblzo2-2 libmagic1 libmail-sendmail-perl packages=libmailtools-perl libmodplug1 libmodule-build-perl packages=libmodule-implementation-perl libmodule-pluggable-perl packages=libmodule-runtime-perl libmodule-signature-perl libmoo-perl -packages=libmoox-handlesvia-perl libmount1 libmp3lame0 libmpc3 libmpdec2 +packages=libmoox-handlesvia-perl libmount1 libmp3lame0 libmpc3 libmpdec3 packages=libmro-compat-perl libmultidimensional-perl packages=libnamespace-autoclean-perl libnamespace-clean-perl libncurses5 packages=libncurses5-dev libncursesw5 libncursesw5-dev libnet-dbus-perl -packages=libnet-http-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnettle7 +packages=libnet-http-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnettle8 packages=libnl-3-200 libnl-genl-3-200 libogg0 -packages=libopenexr-dev libopenexr24 libopts25 libopus0 liborc-0.4-0 +packages=libopenexr-dev libopenexr25 libopts25 libopus0 liborc-0.4-0 packages=libp11-kit0 libpackage-constants-perl libpackage-stash-perl packages=libpackage-stash-xs-perl libpadwalker-perl libpam-modules packages=libpam-modules-bin libpam-runtime libpam-systemd libpam0g @@ -122,11 +122,11 @@ packages=libpython2-stdlib libpython2.7 libpython2.7-dev libpython2.7-minimal packages=libpython2.7-stdlib libpython3-dev libpython3-stdlib libraw1394-11 packages=libraw1394-dev libraw1394-tools libroken18-heimdal librole-tiny-perl packages=librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db libseccomp2 -packages=libselinux1 libsemanage-common libsemanage1 libsepol1 libshine3 +packages=libselinux1 libsemanage-common libsemanage2 libsepol2 libshine3 packages=libsigc++-2.0-0v5 libsigc++-2.0-dev libsigsegv2 libslang2 libsm-dev packages=libsm6 libsmartcols1 libsocket6-perl libsoftware-license-perl packages=libsoxr0 libspeex1 libsqlite3-0 libsqlite3-dev libss2 libssh-gcrypt-4 -packages=libssl-dev libssl-doc libssl1.1 libstdc++6 +packages=libssl-dev libssl-doc libssl3 libstdc++6 packages=libstrictures-perl libsub-exporter-perl packages=libsub-exporter-progressive-perl libsub-identify-perl packages=libsub-install-perl libsub-name-perl libswresample-dev libswscale-dev @@ -136,7 +136,7 @@ packages=libtext-iconv-perl libtext-soundex-perl libtext-template-perl packages=libtext-unidecode-perl libthai-data libthai0 libtheora0 packages=libtie-ixhash-perl libtiff5 libtiff5-dev libtiffxx5 libtimedate-perl packages=libtinfo-dev libtinfo5 libtk8.6 libtool libtry-tiny-perl -packages=libtwolame0 libtype-tiny-perl libtype-tiny-xs-perl libubsan0 libudev1 +packages=libtwolame0 libtype-tiny-perl libtype-tiny-xs-perl libubsan1 libudev1 packages=libunicode-utf8-perl liburi-perl libusb-0.1-4 libusb-1.0-0 packages=libusb-1.0-0-dev libusb-1.0-doc libusb-dev libustr-1.0-1 libutempter0 packages=libuuid1 libv4l-0 libv4lconvert0 libvariable-magic-perl libvorbis0a @@ -160,22 +160,22 @@ packages=libxmu-headers libxmu6 libxmuu1 libxpm4 libxrandr-dev libxrandr2 packages=libxrender-dev libxrender1 libxshmfence-dev libxshmfence1 packages=libxslt1-dev libxslt1.1 libxss-dev libxss1 libxt-dev libxt6 libxtst6 packages=libxv1 libxvidcore4 libxxf86dga1 libxxf86vm1 libyaml-0-2 -packages=libyaml-tiny-perl libzip-dev libzip5 libzvbi-common libzvbi0 +packages=libyaml-tiny-perl libzip-dev libzvbi-common libzvbi0 packages=libzzip-0-13 libzzip-dev linux-firmware linux-libc-dev lmodern packages=locales lockfile-progs login logrotate lsb-base lsb-release lsof m4 packages=make makedev man-db manpages manpages-dev mawk mesa-common-dev packages=mime-support kmod mount nano ncdu packages=ncurses-base ncurses-bin ncurses-term net-tools netbase ntpdate packages=openssh-client openssh-server openssh-sftp-server openssl -packages=pandoc pandoc-data passwd patch perl perl-base perl-modules-5.30 -packages=pkg-config po-debconf policykit-1 poppler-data procps psmisc python -packages=python-apt-common python-crypto python-dev python-dnspython python-gi +packages=pandoc pandoc-data passwd patch perl perl-base perl-modules-5.34 +packages=pkg-config po-debconf policykit-1 poppler-data procps psmisc python-is-python3 +packages=python-apt-common python-dev-is-python3 packages=python-gi-dev python3-ldb python3-minimal packages=python-pkg-resources python3-samba python-setuptools packages=python3-talloc python3-tdb python3-tk python2.7 python2.7-dev packages=python2.7-minimal python3 python3-apt python3-chardet python3-dbus -packages=python3-dev python3-gi python3-minimal python3-pkg-resources -packages=python3-requests python3-setuptools python3-six +packages=python3-dev python3-gi python3-pkg-resources +packages=python3-requests python3-six packages=python3-software-properties python3-urllib3 readline-common rename packages=resolvconf rsync rsyslog samba samba-common samba-common-bin packages=samba-dsdb-modules samba-libs samba-vfs-modules sed sensible-utils @@ -185,8 +185,7 @@ packages=tcl-dev tcl8.6 tcl8.6-dev tcpd tdb-tools tex-common packages=texinfo tk tk-dev tk8.6 tk8.6-blt2.5 tk8.6-dev tree packages=tzdata ubuntu-keyring ucf udev unattended-upgrades unzip update-inetd packages=usbutils util-linux vim vim-common vim-runtime wget wpasupplicant -packages=x11-common x11proto-composite-dev x11proto-core-dev -packages=x11proto-damage-dev x11proto-fixes-dev x11proto-gl-dev +packages=x11-common x11proto-core-dev x11proto-gl-dev packages=x11proto-input-dev x11proto-kb-dev x11proto-randr-dev packages=x11proto-render-dev x11proto-scrnsaver-dev x11proto-xext-dev packages=x11proto-xinerama-dev xauth xbitmaps xdg-user-dirs xdg-utils @@ -195,7 +194,7 @@ packages=zlib1g-dev wireless-tools libcurl4-openssl-dev libcgraph6 packages=libgraphviz-dev gdb strace valgrind libreadline-dev packages=graphviz iw ccache fake-hwclock libruby ruby rubygems-integration packages=xserver-xorg xinit swig3.0 libcanberra-gtk-module -packages=fluxbox bluez bluez-tools xorg eterm gnome-icon-theme-symbolic +packages=fluxbox bluez bluez-tools xorg eterm packages=fakeroot fakechroot libsensors4-dev isc-dhcp-server haveged packages=firefox xutils-dev xorg-dev libudev-dev packages=python3-wheel python3-netifaces python3-skimage @@ -205,5 +204,5 @@ packages=libgoogle-glog-dev libeigen3-dev devmem2 at-spi2-core packages=libjemalloc-dev libjemalloc2 libgoogle-glog0v5 packages=libgflags-dev libgflags2.2 packages=libprotobuf-dev libjson-c-dev googletest protobuf-compiler -packages=cpio -packages=flac portaudio19-dev +packages=cpio flac portaudio19-dev rapidjson-dev pybind11-dev +packages=fdisk nodejs ubuntu-minimal usrmerge diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/dhcp/dhclient.conf.diff b/sdbuild/ubuntu/jammy/aarch64/patch/etc/dhcp/dhclient.conf.diff similarity index 100% rename from sdbuild/ubuntu/focal/aarch64/patch/etc/dhcp/dhclient.conf.diff rename to sdbuild/ubuntu/jammy/aarch64/patch/etc/dhcp/dhclient.conf.diff diff --git a/sdbuild/ubuntu/jammy/aarch64/patch/etc/environment.diff b/sdbuild/ubuntu/jammy/aarch64/patch/etc/environment.diff new file mode 100644 index 0000000000..97ea0f28b3 --- /dev/null +++ b/sdbuild/ubuntu/jammy/aarch64/patch/etc/environment.diff @@ -0,0 +1,9 @@ +--- /etc/environment 2022-05-05 15:19:02.001848967 -0700 ++++ environment 2022-05-05 16:06:59.618347901 -0700 +@@ -1 +1,5 @@ +-PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" ++PATH="/opt/sigrok/bin:/opt/microblazeel-xilinx-elf/bin:/opt/python3.10/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" ++LC_ALL=en_US.UTF-8 ++LANG=en_US.UTF-8 ++PYNQ_JUPYTER_NOTEBOOKS=/home/xilinx/jupyter_notebooks ++PYNQ_PYTHON=python3.10 diff --git a/sdbuild/ubuntu/jammy/aarch64/patch/etc/issue.diff b/sdbuild/ubuntu/jammy/aarch64/patch/etc/issue.diff new file mode 100755 index 0000000000..4fe459249b --- /dev/null +++ b/sdbuild/ubuntu/jammy/aarch64/patch/etc/issue.diff @@ -0,0 +1,6 @@ +--- /etc/issue 2022-04-18 10:28:59.000000000 +0000 ++++ issue 2022-05-05 21:59:33.243637978 +0000 +@@ -1,2 +1,2 @@ +-Ubuntu 22.04 LTS \n \l ++PYNQ Linux, based on Ubuntu 22.04 \n \l + diff --git a/sdbuild/ubuntu/jammy/aarch64/patch/etc/issue.net.diff b/sdbuild/ubuntu/jammy/aarch64/patch/etc/issue.net.diff new file mode 100755 index 0000000000..672cc8e858 --- /dev/null +++ b/sdbuild/ubuntu/jammy/aarch64/patch/etc/issue.net.diff @@ -0,0 +1,5 @@ +--- /etc/issue.net 2022-04-18 10:28:59.000000000 +0000 ++++ issue.net 2022-05-05 22:03:05.195260590 +0000 +@@ -1 +1 @@ +-Ubuntu 22.04 LTS ++PYNQ Linux, based on Ubuntu 20.04 diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/legal.diff b/sdbuild/ubuntu/jammy/aarch64/patch/etc/legal.diff similarity index 100% rename from sdbuild/ubuntu/focal/aarch64/patch/etc/legal.diff rename to sdbuild/ubuntu/jammy/aarch64/patch/etc/legal.diff diff --git a/sdbuild/ubuntu/jammy/aarch64/patch/etc/lsb-release.diff b/sdbuild/ubuntu/jammy/aarch64/patch/etc/lsb-release.diff new file mode 100644 index 0000000000..505bdeadc3 --- /dev/null +++ b/sdbuild/ubuntu/jammy/aarch64/patch/etc/lsb-release.diff @@ -0,0 +1,11 @@ +--- /scratch/sarunask/pynq/sdbuild/build/jammy.aarch64/./etc/lsb-release 2022-04-18 03:28:18.000000000 -0700 ++++ lsb-release 2022-05-05 14:21:21.147552118 -0700 +@@ -1,4 +1,4 @@ +-DISTRIB_ID=Ubuntu +-DISTRIB_RELEASE=22.04 +-DISTRIB_CODENAME=jammy +-DISTRIB_DESCRIPTION="Ubuntu 22.04 LTS" ++DISTRIB_ID=pynqlinux ++DISTRIB_RELEASE=v2.7 ++DISTRIB_CODENAME=Belfast ++DISTRIB_DESCRIPTION="PYNQ Linux, based on Ubuntu 22.04" diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/pip.conf.diff b/sdbuild/ubuntu/jammy/aarch64/patch/etc/pip.conf.diff similarity index 100% rename from sdbuild/ubuntu/focal/aarch64/patch/etc/pip.conf.diff rename to sdbuild/ubuntu/jammy/aarch64/patch/etc/pip.conf.diff diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/python3.8/sitecustomize.py.diff b/sdbuild/ubuntu/jammy/aarch64/patch/etc/python3.10/sitecustomize.py.diff similarity index 100% rename from sdbuild/ubuntu/focal/aarch64/patch/etc/python3.8/sitecustomize.py.diff rename to sdbuild/ubuntu/jammy/aarch64/patch/etc/python3.10/sitecustomize.py.diff diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/samba/smb.conf.diff b/sdbuild/ubuntu/jammy/aarch64/patch/etc/samba/smb.conf.diff similarity index 100% rename from sdbuild/ubuntu/focal/aarch64/patch/etc/samba/smb.conf.diff rename to sdbuild/ubuntu/jammy/aarch64/patch/etc/samba/smb.conf.diff diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/ssh/ssh_config.diff b/sdbuild/ubuntu/jammy/aarch64/patch/etc/ssh/ssh_config.diff similarity index 100% rename from sdbuild/ubuntu/focal/aarch64/patch/etc/ssh/ssh_config.diff rename to sdbuild/ubuntu/jammy/aarch64/patch/etc/ssh/ssh_config.diff diff --git a/sdbuild/ubuntu/focal/arm/patch/etc/sudoers.diff b/sdbuild/ubuntu/jammy/aarch64/patch/etc/sudoers.diff similarity index 50% rename from sdbuild/ubuntu/focal/arm/patch/etc/sudoers.diff rename to sdbuild/ubuntu/jammy/aarch64/patch/etc/sudoers.diff index 90a794122d..1e313cc96e 100644 --- a/sdbuild/ubuntu/focal/arm/patch/etc/sudoers.diff +++ b/sdbuild/ubuntu/jammy/aarch64/patch/etc/sudoers.diff @@ -1,13 +1,14 @@ ---- sudoers 2017-01-18 11:58:45.660457644 +0000 -+++ sudoers.new 2017-01-18 11:59:17.788456515 +0000 -@@ -6,9 +6,8 @@ +--- /etc/sudoers 2022-02-08 08:41:40.000000000 +0000 ++++ sudoers 2022-05-05 21:55:11.808098146 +0000 +@@ -6,10 +6,9 @@ # # See the man page for details on how to write a sudoers file. # -Defaults env_reset Defaults mail_badpass -Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" + Defaults use_pty +Defaults env_keep="BOARD" - # Host alias specification - + # This preserves proxy settings from user environments of root + # equivalent users (group sudo) diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/systemd/network/99-default.link.diff b/sdbuild/ubuntu/jammy/aarch64/patch/etc/systemd/network/99-default.link.diff similarity index 100% rename from sdbuild/ubuntu/focal/aarch64/patch/etc/systemd/network/99-default.link.diff rename to sdbuild/ubuntu/jammy/aarch64/patch/etc/systemd/network/99-default.link.diff diff --git a/sdbuild/ubuntu/jammy/aarch64/patch/etc/update-motd.d/10-help-text.diff b/sdbuild/ubuntu/jammy/aarch64/patch/etc/update-motd.d/10-help-text.diff new file mode 100644 index 0000000000..117456b3df --- /dev/null +++ b/sdbuild/ubuntu/jammy/aarch64/patch/etc/update-motd.d/10-help-text.diff @@ -0,0 +1,8 @@ +24,26c24,26 +< printf " * Documentation: https://help.ubuntu.com\n" +< printf " * Management: https://landscape.canonical.com\n" +< printf " * Support: https://ubuntu.com/advantage\n" +--- +> #printf " * Documentation: https://help.ubuntu.com\n" +> #printf " * Management: https://landscape.canonical.com\n" +> #printf " * Support: https://ubuntu.com/advantage\n" diff --git a/sdbuild/ubuntu/jammy/aarch64/patch/etc/update-motd.d/50-motd-news.diff b/sdbuild/ubuntu/jammy/aarch64/patch/etc/update-motd.d/50-motd-news.diff new file mode 100644 index 0000000000..c78bf6bc37 --- /dev/null +++ b/sdbuild/ubuntu/jammy/aarch64/patch/etc/update-motd.d/50-motd-news.diff @@ -0,0 +1,115 @@ +32,145d31 +< # Source the local configuration +< [ -r /etc/default/motd-news ] && . /etc/default/motd-news +< +< # Exit immediately, unless we're enabled +< # This makes this script very easy to disable in /etc/default/motd-news configuration +< [ "$ENABLED" = "1" ] || exit 0 +< +< # Ensure sane defaults +< [ -n "$URLS" ] || URLS="https://motd.ubuntu.com" +< [ -n "$WAIT" ] || WAIT=5 +< [ -n "$CACHE" ] || CACHE="/var/cache/motd-news" +< [ "$1" = "--force" ] && FORCED=1 +< +< # Ensure we print safely, maximum of the first 10 lines, +< # maximum of the first 80 chars per line, no control chars +< safe_print() { +< cat "$1" | head -n 10 | tr -d '\000-\011\013\014\016-\037' | cut -c -80 +< } +< +< +< # If we're not forcing an update, and we have a cached motd-news file, +< # then just print it and exit as quickly as possible, for login performance. +< # Note that systemd should keep this cache file up to date, asynchronously +< if [ "$FORCED" != "1" ]; then +< if [ -r $CACHE ]; then +< echo +< safe_print $CACHE +< elif [ "$(id -u)" -eq 0 ]; then +< : > $CACHE +< fi +< exit 0 +< fi +< +< # If we've made it here, we've been given the --force argument, +< # probably from the systemd motd-news.service. Let's update... +< +< # Abort early if wget is missing +< [ -x /usr/bin/wget ] || exit 0 +< +< # Generate our temp files, clean up when done +< NEWS=$(mktemp) || exit 1 +< ERR=$(mktemp) || exit 1 +< CLOUD=$(mktemp) || exit 1 +< trap "rm -f $NEWS $ERR $CLOUD" HUP INT QUIT ILL TRAP KILL BUS TERM +< +< # Construct a user agent, similar to Firefox/Chrome/Safari/IE to +< # ensure a proper, tailored, accurate message of the day +< +< # wget browser version, for debug purposes +< wget_ver="$(dpkg -l wget | awk '$1 == "ii" { print($3); exit(0); }')" +< +< # Distribution version, for messages releated to this Ubuntu release +< . /etc/lsb-release +< lsb=$(echo "$DISTRIB_DESCRIPTION" | sed -e "s/ /\//g") +< codename="$DISTRIB_CODENAME" +< +< # Kernel version and CPU type, for messages related to a particular revision or hardware +< platform="$(uname -o)/$(uname -r)/$(uname -m)" +< arch="$(uname -m)" +< cpu="$(grep -m1 "^model name" /proc/cpuinfo | sed -e "s/.*: //" -e "s:\s\+:/:g")" +< cloud_id="unknown" +< if [ -x /usr/bin/cloud-id ]; then +< /usr/bin/cloud-id > "$CLOUD" 2>/dev/null +< if [ "$?" -eq "0" ]; then +< # sanitize it a bit, just in case +< cloud_id=$(cut -c -40 "${CLOUD}" | tr -c -d '[:alnum:]') +< if [ -z "${cloud_id}" ]; then +< cloud_id="unknown" +< fi +< fi +< fi +< +< # Piece together the user agent +< USER_AGENT="wget/$wget_ver $lsb $platform $cpu cloud_id/$cloud_id" +< +< # Loop over any configured URLs +< for u in $URLS; do +< # Ensure https:// protocol, for security reasons +< case $u in +< https://*) +< true +< ;; +< https://motd.ubuntu.com) +< u="$u/$codename/$arch" +< ;; +< *) +< continue +< ;; +< esac +< # If we're forced, set the wait to much higher (1 minute) +< [ "$FORCED" = "1" ] && WAIT=60 +< # Fetch and print the news motd +< result=0 +< not_found_is_ok=0 +< wget --timeout "$WAIT" -U "$USER_AGENT" -O- --content-on-error "$u" >"$NEWS" 2>"$ERR" || result=$? +< # from wget's manpage: 8 Server issued an error response. +< if [ $result -eq 8 ]; then +< if grep -q "ERROR 404" "$ERR"; then +< # The server's 404 document is the generic, non cloud-specific, motd-news +< # content present in the index.txt file +< not_found_is_ok=1 +< fi +< fi +< if [ $result -eq 0 ] || [ $not_found_is_ok -eq 1 ]; then +< echo +< # At most, 10 lines of text, remove control characters, print at most 80 characters per line +< safe_print "$NEWS" +< # Try to update the cache +< safe_print "$NEWS" 2>/dev/null >$CACHE || true +< else +< : > "$CACHE" +< fi +< done +< rm -f "$NEWS" "$ERR" "$CLOUD" diff --git a/sdbuild/ubuntu/jammy/aarch64/patch/etc/update-motd.d/92-unattended-upgrades.diff b/sdbuild/ubuntu/jammy/aarch64/patch/etc/update-motd.d/92-unattended-upgrades.diff new file mode 100644 index 0000000000..a4131f9e29 --- /dev/null +++ b/sdbuild/ubuntu/jammy/aarch64/patch/etc/update-motd.d/92-unattended-upgrades.diff @@ -0,0 +1,4 @@ +3,5d2 +< if [ -x /usr/share/unattended-upgrades/update-motd-unattended-upgrades ]; then +< exec /usr/share/unattended-upgrades/update-motd-unattended-upgrades +< fi diff --git a/sdbuild/ubuntu/jammy/aarch64/patch/lib/systemd/system/serial-getty@.service.diff b/sdbuild/ubuntu/jammy/aarch64/patch/lib/systemd/system/serial-getty@.service.diff new file mode 100644 index 0000000000..f9cbf8a63a --- /dev/null +++ b/sdbuild/ubuntu/jammy/aarch64/patch/lib/systemd/system/serial-getty@.service.diff @@ -0,0 +1,11 @@ +--- a/serial-getty@.service 2022-04-07 12:28:15.000000000 -0700 ++++ b/serial-getty@.service 2022-05-05 09:58:51.059920002 -0700 +@@ -31,7 +31,7 @@ + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 %I $TERM ++ExecStart=-/sbin/agetty --autologin xilinx --keep-baud 115200,57600,38400,9600 %I $TERM + Type=idle + Restart=always + UtmpIdentifier=%I diff --git a/sdbuild/ubuntu/focal/aarch64/patch/usr/lib/os-release.diff b/sdbuild/ubuntu/jammy/aarch64/patch/usr/lib/os-release.diff similarity index 56% rename from sdbuild/ubuntu/focal/aarch64/patch/usr/lib/os-release.diff rename to sdbuild/ubuntu/jammy/aarch64/patch/usr/lib/os-release.diff index af8bb126fe..93ed9c2b71 100755 --- a/sdbuild/ubuntu/focal/aarch64/patch/usr/lib/os-release.diff +++ b/sdbuild/ubuntu/jammy/aarch64/patch/usr/lib/os-release.diff @@ -1,26 +1,26 @@ ---- os-release.old 2018-07-26 19:53:00.179996418 +0000 -+++ os-release 2018-07-26 19:53:35.379996366 +0000 +--- os-release.old 2022-04-18 03:28:59.000000000 -0700 ++++ os-release 2022-05-05 07:43:23.604299349 -0700 @@ -1,12 +1,12 @@ +-PRETTY_NAME="Ubuntu 22.04 LTS" -NAME="Ubuntu" --VERSION="20.04 LTS (Focal Fossa)" +-VERSION_ID="22.04" +-VERSION="22.04 (Jammy Jellyfish)" +-VERSION_CODENAME=jammy -ID=ubuntu -ID_LIKE=debian --PRETTY_NAME="Ubuntu 20.04 LTS" --VERSION_ID="20.04" -HOME_URL="https://www.ubuntu.com/" -SUPPORT_URL="https://help.ubuntu.com/" -BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" -PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" --VERSION_CODENAME=focal +NAME="PynqLinux" -+VERSION="2.7 (Austin)" ++VERSION="3.0 (Belfast)" +ID=pynqlinux +ID_LIKE=ubuntu -+PRETTY_NAME="PynqLinux, based on Ubuntu 20.04" -+VERSION_ID="2.7" ++PRETTY_NAME="PynqLinux, based on Ubuntu 22.04" ++VERSION_ID="3.0" +HOME_URL="https://www.pynq.io/" +SUPPORT_URL="https://discuss.pynq.io/" +BUG_REPORT_URL="https://www.pynq.io" +PRIVACY_POLICY_URL="https://www.pynq.io" -+VERSION_CODENAME=Austin - UBUNTU_CODENAME=focal ++VERSION_CODENAME=Belfast + UBUNTU_CODENAME=jammy diff --git a/sdbuild/ubuntu/jammy/arm/config b/sdbuild/ubuntu/jammy/arm/config new file mode 100644 index 0000000000..a8db2d7d90 --- /dev/null +++ b/sdbuild/ubuntu/jammy/arm/config @@ -0,0 +1,7 @@ +STAGE2_PACKAGES_arm := gcc-mb ssl udev python_packages_jammy libsds +STAGE2_PACKAGES_arm += jupyter sigrok +STAGE2_PACKAGES_arm += pybind11 +STAGE2_PACKAGES_arm += bootpy +STAGE2_PACKAGES_arm += clear_pl_statefile +STAGE3_PACKAGES_arm := xrt pynq resizefs + diff --git a/sdbuild/ubuntu/focal/arm/multistrap.config b/sdbuild/ubuntu/jammy/arm/multistrap.config similarity index 88% rename from sdbuild/ubuntu/focal/arm/multistrap.config rename to sdbuild/ubuntu/jammy/arm/multistrap.config index 860380215a..5fe3e1b70a 100644 --- a/sdbuild/ubuntu/focal/arm/multistrap.config +++ b/sdbuild/ubuntu/jammy/arm/multistrap.config @@ -1,20 +1,20 @@ [General] -debootstrap=Focal -aptsources=Focal +debootstrap=Jammy +aptsources=Jammy arch=armhf allowrecommends=true addimportant=true -[Focal] +[Jammy] source=http://ports.ubuntu.com/ubuntu-ports -suite=focal universe +suite=jammy universe keyring=ubuntu-keyring packages=python3-networkx python3-lxml python3-numexpr packages=python3-transitions python3-sympy python3-cffi packages=python3-sqlalchemy python3-pytest packages=python3-pytest-sourceorder python3-uvloop packages=python3-retrying openjdk-8-jdk python3-scipy -packages=python3-pil phantomjs python3-matplotlib python3-venv +packages=python3-pil python3-matplotlib python3-venv packages=python3-pygraphviz python3-setuptools python3-pip packages=libopencv-dev python3-opencv packages=2ping adduser alex apt apt-utils attr autoconf autoconf-archive @@ -23,7 +23,7 @@ packages=binfmt-support binutils bison blt bsdmainutils bsdutils packages=build-essential bzip2 ca-certificates check cmake cmake-data packages=coreutils cpp cpp-9 cpufrequtils cron curl dash dbus dbus-x11 packages=debconf debhelper debianutils dh-python diffutils dmsetup dpkg -packages=dpkg-dev e2fslibs e2fsprogs ethtool fakeroot file findutils flex +packages=dpkg-dev e2fsprogs ethtool file findutils flex packages=fontconfig fontconfig-config fonts-dejavu-core fonts-lmodern packages=fonts-texgyre fswebcam g++ g++-9 gawk gcc gcc-9 gcc-9-base gettext packages=gettext-base gfortran gfortran-9 gir1.2-atk-1.0 gir1.2-freedesktop @@ -32,7 +32,7 @@ packages=git git-man gnupg gperf gpgv grep groff-base gsfonts gyp gzip happy packages=help2man hicolor-icon-theme hostname hscolour htop i2c-tools packages=icu-devtools ifupdown init init-system-helpers intltool-debian packages=iproute2 iputils-ping isc-dhcp-client isc-dhcp-common iso-codes -packages=javascript-common kmod krb5-locales language-pack-en +packages=javascript-common krb5-locales language-pack-en packages=language-pack-en-base less libaacs0 libacl1 libaio1 packages=libalgorithm-c3-perl libalgorithm-diff-perl libalgorithm-diff-xs-perl packages=libalgorithm-merge-perl libapparmor1 libarchive-extract-perl @@ -51,11 +51,11 @@ packages=libc-ares-dev libc-ares2 libc-bin libc-dev-bin libcairo-gobject2 packages=libcairo-script-interpreter2 libcairo2 libcairo2-dev libcap-ng0 packages=libcap2 libcap2-bin libcc1-0 libcgi-fast-perl libcgi-pm-perl packages=libclass-c3-perl libclass-c3-xs-perl libclass-method-modifiers-perl -packages=libclass-xsaccessor-perl libcomerr2 libcpan-changes-perl -packages=libcpan-meta-perl libcpufreq0 libcroco3 libcups2 libcupsfilters1 +packages=libclass-xsaccessor-perl libcpan-changes-perl +packages=libcpufreq0 libcups2 libcupsfilters1 packages=libcupsimage2 libcurl4 libcurl3-gnutls libdata-optlist-perl packages=libdata-perl-perl libdata-section-perl libdatrie1 libdb5.3 -packages=libdbus-1-3 libdbus-glib-1-2 libdc1394-22 libdc1394-22-dev +packages=libdbus-1-3 libdbus-glib-1-2 libdc1394-25 libdc1394-dev packages=libdebconfclient0 libdevel-caller-perl packages=libdevel-globaldestruction-perl libdevel-lexalias-perl packages=libdevmapper1.02.1 libdpkg-perl libdrm-amdgpu1 libdrm-dev libdrm2 @@ -67,10 +67,10 @@ packages=libfile-fcntllock-perl libfile-homedir-perl libfile-listing-perl packages=libfile-mimeinfo-perl libfile-slurp-perl libfile-which-perl libfl-dev packages=libfont-afm-perl libfontconfig1 libfontconfig1-dev libfontenc1 packages=libfreetype6 libfreetype6-dev libftdi-dev libftdi1 libgcc-9-dev -packages=libgcc1 libgcrypt20 libgd3 libgdbm-dev libgdk-pixbuf2.0-0 +packages=libgcrypt20 libgd3 libgdbm-dev libgdk-pixbuf2.0-0 packages=libgdk-pixbuf2.0-common libgdk-pixbuf2.0-dev packages=libgetopt-long-descriptive-perl libgettextpo-dev libgettextpo0 -packages=libgfortran-9-dev libgfortran4 libgirepository-1.0-1 libglapi-mesa +packages=libgfortran-10-dev libgfortran5 libgirepository-1.0-1 libglapi-mesa packages=libglib2.0-0 libglib2.0-bin libglib2.0-data libglib2.0-dev packages=libglibmm-2.4-1v5 libglibmm-2.4-dev libgme0 libgmp-dev libgmp10 packages=libgmpxx4ldbl libgnutls-openssl27 libgomp1 libgpg-error0 libgpm2 @@ -78,12 +78,12 @@ packages=libgraphite2-3 libgs9 libgs9-common libgsm1 libgssapi-krb5-2 packages=libgssapi3-heimdal libgtk2.0-0 libgtk2.0-bin libgtk2.0-common packages=libgtk2.0-dev libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-icu0 packages=libharfbuzz0b libhcrypto4-heimdal libhdb9-heimdal -packages=libheimbase1-heimdal libheimntlm0-heimdal libhogweed5 +packages=libheimbase1-heimdal libheimntlm0-heimdal libhogweed6 packages=libhtml-form-perl libhtml-format-perl libhtml-parser-perl packages=libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl packages=libhttp-daemon-perl libhttp-date-perl libhttp-message-perl packages=libhttp-negotiate-perl libhx509-5-heimdal libi2c-dev libice-dev -packages=libice6 libicu-dev libidn11 libijs-0.35 libilmbase-dev libilmbase24 +packages=libice6 libicu-dev libidn12 libijs-0.35 libilmbase-dev libilmbase25 packages=libimport-into-perl libindirect-perl libintl-perl libio-html-perl packages=libio-socket-inet6-perl libio-socket-ssl-perl libio-stringy-perl packages=libipc-system-simple-perl libjbig-dev libjbig0 libjbig2dec0 @@ -91,7 +91,7 @@ packages=libjpeg-dev libjpeg-turbo8 libjpeg-turbo8-dev libjpeg8 libjpeg8-dev packages=libjs-inherits libjs-jquery libjs-underscore packages=libk5crypto3 libkdc2-heimdal libkeyutils1 libkmod2 libkpathsea6 packages=libkrb5-26-heimdal libkrb5-3 libkrb5support0 liblapack-dev liblapack3 -packages=liblcms2-2 liblcms2-dev libldap-2.4-2 libldb2 +packages=liblcms2-2 liblcms2-dev libldap-2.5-0 libldb2 packages=liblexical-sealrequirehints-perl liblist-moreutils-perl packages=liblocale-gettext-perl liblockfile-bin liblockfile1 packages=liblog-message-perl liblog-message-simple-perl libltdl-dev libltdl7 @@ -100,13 +100,13 @@ packages=liblzma-dev liblzma5 liblzo2-2 libmagic1 libmail-sendmail-perl packages=libmailtools-perl libmodplug1 libmodule-build-perl packages=libmodule-implementation-perl libmodule-pluggable-perl packages=libmodule-runtime-perl libmodule-signature-perl libmoo-perl -packages=libmoox-handlesvia-perl libmount1 libmp3lame0 libmpc3 libmpdec2 +packages=libmoox-handlesvia-perl libmount1 libmp3lame0 libmpc3 libmpdec3 packages=libmro-compat-perl libmultidimensional-perl packages=libnamespace-autoclean-perl libnamespace-clean-perl libncurses5 packages=libncurses5-dev libncursesw5 libncursesw5-dev libnet-dbus-perl -packages=libnet-http-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnettle7 +packages=libnet-http-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnettle8 packages=libnl-3-200 libnl-genl-3-200 libogg0 -packages=libopenexr-dev libopenexr24 libopts25 libopus0 liborc-0.4-0 +packages=libopenexr-dev libopenexr25 libopts25 libopus0 liborc-0.4-0 packages=libp11-kit0 libpackage-constants-perl libpackage-stash-perl packages=libpackage-stash-xs-perl libpadwalker-perl libpam-modules packages=libpam-modules-bin libpam-runtime libpam-systemd libpam0g @@ -122,11 +122,11 @@ packages=libpython2-stdlib libpython2.7 libpython2.7-dev libpython2.7-minimal packages=libpython2.7-stdlib libpython3-dev libpython3-stdlib libraw1394-11 packages=libraw1394-dev libraw1394-tools libroken18-heimdal librole-tiny-perl packages=librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db libseccomp2 -packages=libselinux1 libsemanage-common libsemanage1 libsepol1 libshine3 +packages=libselinux1 libsemanage-common libsemanage2 libsepol2 libshine3 packages=libsigc++-2.0-0v5 libsigc++-2.0-dev libsigsegv2 libslang2 libsm-dev packages=libsm6 libsmartcols1 libsocket6-perl libsoftware-license-perl packages=libsoxr0 libspeex1 libsqlite3-0 libsqlite3-dev libss2 libssh-gcrypt-4 -packages=libssl-dev libssl-doc libssl1.1 libstdc++6 +packages=libssl-dev libssl-doc libssl3 libstdc++6 packages=libstrictures-perl libsub-exporter-perl packages=libsub-exporter-progressive-perl libsub-identify-perl packages=libsub-install-perl libsub-name-perl libswresample-dev libswscale-dev @@ -136,7 +136,7 @@ packages=libtext-iconv-perl libtext-soundex-perl libtext-template-perl packages=libtext-unidecode-perl libthai-data libthai0 libtheora0 packages=libtie-ixhash-perl libtiff5 libtiff5-dev libtiffxx5 libtimedate-perl packages=libtinfo-dev libtinfo5 libtk8.6 libtool libtry-tiny-perl -packages=libtwolame0 libtype-tiny-perl libtype-tiny-xs-perl libubsan0 libudev1 +packages=libtwolame0 libtype-tiny-perl libtype-tiny-xs-perl libubsan1 libudev1 packages=libunicode-utf8-perl liburi-perl libusb-0.1-4 libusb-1.0-0 packages=libusb-1.0-0-dev libusb-1.0-doc libusb-dev libustr-1.0-1 libutempter0 packages=libuuid1 libv4l-0 libv4lconvert0 libvariable-magic-perl libvorbis0a @@ -160,22 +160,22 @@ packages=libxmu-headers libxmu6 libxmuu1 libxpm4 libxrandr-dev libxrandr2 packages=libxrender-dev libxrender1 libxshmfence-dev libxshmfence1 packages=libxslt1-dev libxslt1.1 libxss-dev libxss1 libxt-dev libxt6 libxtst6 packages=libxv1 libxvidcore4 libxxf86dga1 libxxf86vm1 libyaml-0-2 -packages=libyaml-tiny-perl libzip-dev libzip5 libzvbi-common libzvbi0 +packages=libyaml-tiny-perl libzip-dev libzvbi-common libzvbi0 packages=libzzip-0-13 libzzip-dev linux-firmware linux-libc-dev lmodern packages=locales lockfile-progs login logrotate lsb-base lsb-release lsof m4 packages=make makedev man-db manpages manpages-dev mawk mesa-common-dev packages=mime-support kmod mount nano ncdu packages=ncurses-base ncurses-bin ncurses-term net-tools netbase ntpdate packages=openssh-client openssh-server openssh-sftp-server openssl -packages=pandoc pandoc-data passwd patch perl perl-base perl-modules-5.30 -packages=pkg-config po-debconf policykit-1 poppler-data procps psmisc python -packages=python-apt-common python-crypto python-dev python-dnspython python-gi +packages=pandoc pandoc-data passwd patch perl perl-base perl-modules-5.34 +packages=pkg-config po-debconf policykit-1 poppler-data procps psmisc python-is-python3 +packages=python-apt-common python-dev-is-python3 packages=python-gi-dev python3-ldb python3-minimal packages=python-pkg-resources python3-samba python-setuptools packages=python3-talloc python3-tdb python3-tk python2.7 python2.7-dev packages=python2.7-minimal python3 python3-apt python3-chardet python3-dbus -packages=python3-dev python3-gi python3-minimal python3-pkg-resources -packages=python3-requests python3-setuptools python3-six +packages=python3-dev python3-gi python3-pkg-resources +packages=python3-requests python3-six packages=python3-software-properties python3-urllib3 readline-common rename packages=resolvconf rsync rsyslog samba samba-common samba-common-bin packages=samba-dsdb-modules samba-libs samba-vfs-modules sed sensible-utils @@ -185,8 +185,7 @@ packages=tcl-dev tcl8.6 tcl8.6-dev tcpd tdb-tools tex-common packages=texinfo tk tk-dev tk8.6 tk8.6-blt2.5 tk8.6-dev tree packages=tzdata ubuntu-keyring ucf udev unattended-upgrades unzip update-inetd packages=usbutils util-linux vim vim-common vim-runtime wget wpasupplicant -packages=x11-common x11proto-composite-dev x11proto-core-dev -packages=x11proto-damage-dev x11proto-fixes-dev x11proto-gl-dev +packages=x11-common x11proto-core-dev x11proto-gl-dev packages=x11proto-input-dev x11proto-kb-dev x11proto-randr-dev packages=x11proto-render-dev x11proto-scrnsaver-dev x11proto-xext-dev packages=x11proto-xinerama-dev xauth xbitmaps xdg-user-dirs xdg-utils @@ -195,7 +194,7 @@ packages=zlib1g-dev wireless-tools libcurl4-openssl-dev libcgraph6 packages=libgraphviz-dev gdb strace valgrind libreadline-dev packages=graphviz iw ccache fake-hwclock libruby ruby rubygems-integration packages=xserver-xorg xinit swig3.0 libcanberra-gtk-module -packages=fluxbox bluez bluez-tools xorg eterm gnome-icon-theme-symbolic +packages=fluxbox bluez bluez-tools xorg eterm packages=fakeroot fakechroot libsensors4-dev isc-dhcp-server haveged packages=python3-wheel python3-netifaces python3-skimage packages=libgtest-dev libboost-all-dev uuid-dev libyaml-dev @@ -204,5 +203,5 @@ packages=libgoogle-glog-dev libeigen3-dev devmem2 at-spi2-core packages=libjemalloc-dev libjemalloc2 libgoogle-glog0v5 packages=libgflags-dev libgflags2.2 packages=libprotobuf-dev libjson-c-dev googletest protobuf-compiler -packages=cpio -packages=flac portaudio19-dev +packages=cpio flac portaudio19-dev rapidjson-dev pybind11-dev +packages=fdisk nodejs ubuntu-minimal usrmerge diff --git a/sdbuild/ubuntu/focal/arm/patch/etc/dhcp/dhclient.conf.diff b/sdbuild/ubuntu/jammy/arm/patch/etc/dhcp/dhclient.conf.diff similarity index 100% rename from sdbuild/ubuntu/focal/arm/patch/etc/dhcp/dhclient.conf.diff rename to sdbuild/ubuntu/jammy/arm/patch/etc/dhcp/dhclient.conf.diff diff --git a/sdbuild/ubuntu/jammy/arm/patch/etc/environment.diff b/sdbuild/ubuntu/jammy/arm/patch/etc/environment.diff new file mode 100644 index 0000000000..97ea0f28b3 --- /dev/null +++ b/sdbuild/ubuntu/jammy/arm/patch/etc/environment.diff @@ -0,0 +1,9 @@ +--- /etc/environment 2022-05-05 15:19:02.001848967 -0700 ++++ environment 2022-05-05 16:06:59.618347901 -0700 +@@ -1 +1,5 @@ +-PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" ++PATH="/opt/sigrok/bin:/opt/microblazeel-xilinx-elf/bin:/opt/python3.10/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" ++LC_ALL=en_US.UTF-8 ++LANG=en_US.UTF-8 ++PYNQ_JUPYTER_NOTEBOOKS=/home/xilinx/jupyter_notebooks ++PYNQ_PYTHON=python3.10 diff --git a/sdbuild/ubuntu/jammy/arm/patch/etc/issue.diff b/sdbuild/ubuntu/jammy/arm/patch/etc/issue.diff new file mode 100755 index 0000000000..4fe459249b --- /dev/null +++ b/sdbuild/ubuntu/jammy/arm/patch/etc/issue.diff @@ -0,0 +1,6 @@ +--- /etc/issue 2022-04-18 10:28:59.000000000 +0000 ++++ issue 2022-05-05 21:59:33.243637978 +0000 +@@ -1,2 +1,2 @@ +-Ubuntu 22.04 LTS \n \l ++PYNQ Linux, based on Ubuntu 22.04 \n \l + diff --git a/sdbuild/ubuntu/jammy/arm/patch/etc/issue.net.diff b/sdbuild/ubuntu/jammy/arm/patch/etc/issue.net.diff new file mode 100755 index 0000000000..672cc8e858 --- /dev/null +++ b/sdbuild/ubuntu/jammy/arm/patch/etc/issue.net.diff @@ -0,0 +1,5 @@ +--- /etc/issue.net 2022-04-18 10:28:59.000000000 +0000 ++++ issue.net 2022-05-05 22:03:05.195260590 +0000 +@@ -1 +1 @@ +-Ubuntu 22.04 LTS ++PYNQ Linux, based on Ubuntu 20.04 diff --git a/sdbuild/ubuntu/focal/arm/patch/etc/legal.diff b/sdbuild/ubuntu/jammy/arm/patch/etc/legal.diff similarity index 100% rename from sdbuild/ubuntu/focal/arm/patch/etc/legal.diff rename to sdbuild/ubuntu/jammy/arm/patch/etc/legal.diff diff --git a/sdbuild/ubuntu/jammy/arm/patch/etc/lsb-release.diff b/sdbuild/ubuntu/jammy/arm/patch/etc/lsb-release.diff new file mode 100644 index 0000000000..505bdeadc3 --- /dev/null +++ b/sdbuild/ubuntu/jammy/arm/patch/etc/lsb-release.diff @@ -0,0 +1,11 @@ +--- /scratch/sarunask/pynq/sdbuild/build/jammy.aarch64/./etc/lsb-release 2022-04-18 03:28:18.000000000 -0700 ++++ lsb-release 2022-05-05 14:21:21.147552118 -0700 +@@ -1,4 +1,4 @@ +-DISTRIB_ID=Ubuntu +-DISTRIB_RELEASE=22.04 +-DISTRIB_CODENAME=jammy +-DISTRIB_DESCRIPTION="Ubuntu 22.04 LTS" ++DISTRIB_ID=pynqlinux ++DISTRIB_RELEASE=v2.7 ++DISTRIB_CODENAME=Belfast ++DISTRIB_DESCRIPTION="PYNQ Linux, based on Ubuntu 22.04" diff --git a/sdbuild/ubuntu/focal/arm/patch/etc/pip.conf.diff b/sdbuild/ubuntu/jammy/arm/patch/etc/pip.conf.diff similarity index 100% rename from sdbuild/ubuntu/focal/arm/patch/etc/pip.conf.diff rename to sdbuild/ubuntu/jammy/arm/patch/etc/pip.conf.diff diff --git a/sdbuild/ubuntu/focal/arm/patch/etc/samba/smb.conf.diff b/sdbuild/ubuntu/jammy/arm/patch/etc/samba/smb.conf.diff similarity index 100% rename from sdbuild/ubuntu/focal/arm/patch/etc/samba/smb.conf.diff rename to sdbuild/ubuntu/jammy/arm/patch/etc/samba/smb.conf.diff diff --git a/sdbuild/ubuntu/focal/arm/patch/etc/ssh/ssh_config.diff b/sdbuild/ubuntu/jammy/arm/patch/etc/ssh/ssh_config.diff similarity index 100% rename from sdbuild/ubuntu/focal/arm/patch/etc/ssh/ssh_config.diff rename to sdbuild/ubuntu/jammy/arm/patch/etc/ssh/ssh_config.diff diff --git a/sdbuild/ubuntu/focal/aarch64/patch/etc/sudoers.diff b/sdbuild/ubuntu/jammy/arm/patch/etc/sudoers.diff similarity index 50% rename from sdbuild/ubuntu/focal/aarch64/patch/etc/sudoers.diff rename to sdbuild/ubuntu/jammy/arm/patch/etc/sudoers.diff index 90a794122d..1e313cc96e 100644 --- a/sdbuild/ubuntu/focal/aarch64/patch/etc/sudoers.diff +++ b/sdbuild/ubuntu/jammy/arm/patch/etc/sudoers.diff @@ -1,13 +1,14 @@ ---- sudoers 2017-01-18 11:58:45.660457644 +0000 -+++ sudoers.new 2017-01-18 11:59:17.788456515 +0000 -@@ -6,9 +6,8 @@ +--- /etc/sudoers 2022-02-08 08:41:40.000000000 +0000 ++++ sudoers 2022-05-05 21:55:11.808098146 +0000 +@@ -6,10 +6,9 @@ # # See the man page for details on how to write a sudoers file. # -Defaults env_reset Defaults mail_badpass -Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" + Defaults use_pty +Defaults env_keep="BOARD" - # Host alias specification - + # This preserves proxy settings from user environments of root + # equivalent users (group sudo) diff --git a/sdbuild/ubuntu/focal/arm/patch/etc/systemd/network/99-default.link.diff b/sdbuild/ubuntu/jammy/arm/patch/etc/systemd/network/99-default.link.diff similarity index 100% rename from sdbuild/ubuntu/focal/arm/patch/etc/systemd/network/99-default.link.diff rename to sdbuild/ubuntu/jammy/arm/patch/etc/systemd/network/99-default.link.diff diff --git a/sdbuild/ubuntu/jammy/arm/patch/etc/update-motd.d/10-help-text.diff b/sdbuild/ubuntu/jammy/arm/patch/etc/update-motd.d/10-help-text.diff new file mode 100644 index 0000000000..117456b3df --- /dev/null +++ b/sdbuild/ubuntu/jammy/arm/patch/etc/update-motd.d/10-help-text.diff @@ -0,0 +1,8 @@ +24,26c24,26 +< printf " * Documentation: https://help.ubuntu.com\n" +< printf " * Management: https://landscape.canonical.com\n" +< printf " * Support: https://ubuntu.com/advantage\n" +--- +> #printf " * Documentation: https://help.ubuntu.com\n" +> #printf " * Management: https://landscape.canonical.com\n" +> #printf " * Support: https://ubuntu.com/advantage\n" diff --git a/sdbuild/ubuntu/jammy/arm/patch/etc/update-motd.d/50-motd-news.diff b/sdbuild/ubuntu/jammy/arm/patch/etc/update-motd.d/50-motd-news.diff new file mode 100644 index 0000000000..c78bf6bc37 --- /dev/null +++ b/sdbuild/ubuntu/jammy/arm/patch/etc/update-motd.d/50-motd-news.diff @@ -0,0 +1,115 @@ +32,145d31 +< # Source the local configuration +< [ -r /etc/default/motd-news ] && . /etc/default/motd-news +< +< # Exit immediately, unless we're enabled +< # This makes this script very easy to disable in /etc/default/motd-news configuration +< [ "$ENABLED" = "1" ] || exit 0 +< +< # Ensure sane defaults +< [ -n "$URLS" ] || URLS="https://motd.ubuntu.com" +< [ -n "$WAIT" ] || WAIT=5 +< [ -n "$CACHE" ] || CACHE="/var/cache/motd-news" +< [ "$1" = "--force" ] && FORCED=1 +< +< # Ensure we print safely, maximum of the first 10 lines, +< # maximum of the first 80 chars per line, no control chars +< safe_print() { +< cat "$1" | head -n 10 | tr -d '\000-\011\013\014\016-\037' | cut -c -80 +< } +< +< +< # If we're not forcing an update, and we have a cached motd-news file, +< # then just print it and exit as quickly as possible, for login performance. +< # Note that systemd should keep this cache file up to date, asynchronously +< if [ "$FORCED" != "1" ]; then +< if [ -r $CACHE ]; then +< echo +< safe_print $CACHE +< elif [ "$(id -u)" -eq 0 ]; then +< : > $CACHE +< fi +< exit 0 +< fi +< +< # If we've made it here, we've been given the --force argument, +< # probably from the systemd motd-news.service. Let's update... +< +< # Abort early if wget is missing +< [ -x /usr/bin/wget ] || exit 0 +< +< # Generate our temp files, clean up when done +< NEWS=$(mktemp) || exit 1 +< ERR=$(mktemp) || exit 1 +< CLOUD=$(mktemp) || exit 1 +< trap "rm -f $NEWS $ERR $CLOUD" HUP INT QUIT ILL TRAP KILL BUS TERM +< +< # Construct a user agent, similar to Firefox/Chrome/Safari/IE to +< # ensure a proper, tailored, accurate message of the day +< +< # wget browser version, for debug purposes +< wget_ver="$(dpkg -l wget | awk '$1 == "ii" { print($3); exit(0); }')" +< +< # Distribution version, for messages releated to this Ubuntu release +< . /etc/lsb-release +< lsb=$(echo "$DISTRIB_DESCRIPTION" | sed -e "s/ /\//g") +< codename="$DISTRIB_CODENAME" +< +< # Kernel version and CPU type, for messages related to a particular revision or hardware +< platform="$(uname -o)/$(uname -r)/$(uname -m)" +< arch="$(uname -m)" +< cpu="$(grep -m1 "^model name" /proc/cpuinfo | sed -e "s/.*: //" -e "s:\s\+:/:g")" +< cloud_id="unknown" +< if [ -x /usr/bin/cloud-id ]; then +< /usr/bin/cloud-id > "$CLOUD" 2>/dev/null +< if [ "$?" -eq "0" ]; then +< # sanitize it a bit, just in case +< cloud_id=$(cut -c -40 "${CLOUD}" | tr -c -d '[:alnum:]') +< if [ -z "${cloud_id}" ]; then +< cloud_id="unknown" +< fi +< fi +< fi +< +< # Piece together the user agent +< USER_AGENT="wget/$wget_ver $lsb $platform $cpu cloud_id/$cloud_id" +< +< # Loop over any configured URLs +< for u in $URLS; do +< # Ensure https:// protocol, for security reasons +< case $u in +< https://*) +< true +< ;; +< https://motd.ubuntu.com) +< u="$u/$codename/$arch" +< ;; +< *) +< continue +< ;; +< esac +< # If we're forced, set the wait to much higher (1 minute) +< [ "$FORCED" = "1" ] && WAIT=60 +< # Fetch and print the news motd +< result=0 +< not_found_is_ok=0 +< wget --timeout "$WAIT" -U "$USER_AGENT" -O- --content-on-error "$u" >"$NEWS" 2>"$ERR" || result=$? +< # from wget's manpage: 8 Server issued an error response. +< if [ $result -eq 8 ]; then +< if grep -q "ERROR 404" "$ERR"; then +< # The server's 404 document is the generic, non cloud-specific, motd-news +< # content present in the index.txt file +< not_found_is_ok=1 +< fi +< fi +< if [ $result -eq 0 ] || [ $not_found_is_ok -eq 1 ]; then +< echo +< # At most, 10 lines of text, remove control characters, print at most 80 characters per line +< safe_print "$NEWS" +< # Try to update the cache +< safe_print "$NEWS" 2>/dev/null >$CACHE || true +< else +< : > "$CACHE" +< fi +< done +< rm -f "$NEWS" "$ERR" "$CLOUD" diff --git a/sdbuild/ubuntu/jammy/arm/patch/etc/update-motd.d/92-unattended-upgrades.diff b/sdbuild/ubuntu/jammy/arm/patch/etc/update-motd.d/92-unattended-upgrades.diff new file mode 100644 index 0000000000..a4131f9e29 --- /dev/null +++ b/sdbuild/ubuntu/jammy/arm/patch/etc/update-motd.d/92-unattended-upgrades.diff @@ -0,0 +1,4 @@ +3,5d2 +< if [ -x /usr/share/unattended-upgrades/update-motd-unattended-upgrades ]; then +< exec /usr/share/unattended-upgrades/update-motd-unattended-upgrades +< fi diff --git a/sdbuild/ubuntu/jammy/arm/patch/lib/systemd/system/serial-getty@.service.diff b/sdbuild/ubuntu/jammy/arm/patch/lib/systemd/system/serial-getty@.service.diff new file mode 100644 index 0000000000..f9cbf8a63a --- /dev/null +++ b/sdbuild/ubuntu/jammy/arm/patch/lib/systemd/system/serial-getty@.service.diff @@ -0,0 +1,11 @@ +--- a/serial-getty@.service 2022-04-07 12:28:15.000000000 -0700 ++++ b/serial-getty@.service 2022-05-05 09:58:51.059920002 -0700 +@@ -31,7 +31,7 @@ + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 %I $TERM ++ExecStart=-/sbin/agetty --autologin xilinx --keep-baud 115200,57600,38400,9600 %I $TERM + Type=idle + Restart=always + UtmpIdentifier=%I diff --git a/sdbuild/ubuntu/focal/arm/patch/usr/lib/os-release.diff b/sdbuild/ubuntu/jammy/arm/patch/usr/lib/os-release.diff similarity index 56% rename from sdbuild/ubuntu/focal/arm/patch/usr/lib/os-release.diff rename to sdbuild/ubuntu/jammy/arm/patch/usr/lib/os-release.diff index af8bb126fe..93ed9c2b71 100755 --- a/sdbuild/ubuntu/focal/arm/patch/usr/lib/os-release.diff +++ b/sdbuild/ubuntu/jammy/arm/patch/usr/lib/os-release.diff @@ -1,26 +1,26 @@ ---- os-release.old 2018-07-26 19:53:00.179996418 +0000 -+++ os-release 2018-07-26 19:53:35.379996366 +0000 +--- os-release.old 2022-04-18 03:28:59.000000000 -0700 ++++ os-release 2022-05-05 07:43:23.604299349 -0700 @@ -1,12 +1,12 @@ +-PRETTY_NAME="Ubuntu 22.04 LTS" -NAME="Ubuntu" --VERSION="20.04 LTS (Focal Fossa)" +-VERSION_ID="22.04" +-VERSION="22.04 (Jammy Jellyfish)" +-VERSION_CODENAME=jammy -ID=ubuntu -ID_LIKE=debian --PRETTY_NAME="Ubuntu 20.04 LTS" --VERSION_ID="20.04" -HOME_URL="https://www.ubuntu.com/" -SUPPORT_URL="https://help.ubuntu.com/" -BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" -PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" --VERSION_CODENAME=focal +NAME="PynqLinux" -+VERSION="2.7 (Austin)" ++VERSION="3.0 (Belfast)" +ID=pynqlinux +ID_LIKE=ubuntu -+PRETTY_NAME="PynqLinux, based on Ubuntu 20.04" -+VERSION_ID="2.7" ++PRETTY_NAME="PynqLinux, based on Ubuntu 22.04" ++VERSION_ID="3.0" +HOME_URL="https://www.pynq.io/" +SUPPORT_URL="https://discuss.pynq.io/" +BUG_REPORT_URL="https://www.pynq.io" +PRIVACY_POLICY_URL="https://www.pynq.io" -+VERSION_CODENAME=Austin - UBUNTU_CODENAME=focal ++VERSION_CODENAME=Belfast + UBUNTU_CODENAME=jammy