Table of Contents
Unity upgrade
This procedure explains how to upgrade one of our old ARM Unity (green boxes) to our new Debian Bookworm-based OS.
If you are unsure, please contact our support team.
Avoid unplugging the box during the operation A power cut or interruption could cause the Unity OS to fail.
Prerequisites
Your Unity must be in Bullseye
Your Unity must be based on Debian Bullseye and be up to date. Otherwise the command esia-update-unity command cannot be used.
You can check the OS version via the Unity web interface.
The blue frame indicates that it is Debian version 11.9. 11 means Bullseye. You can therefore update it to Bookworm (Debian version 12).
First check that it is in this latest version by clicking on the button in the red frame in the screenshot above.
Older Unity
If you have an older Unity, you will need to run the following procedure to update it to Bullseye.
Updating your Bullseye Unity to Bookworm
- ssh connection to the old Unity: (port 2222, login 'esia', password 'gesa')
- Run the following command line:
esia-update-unity
And then answer the questions
If this command line is not present, your Unity Bullseye is not in its latest version. Update it via the web interface or leave it connected for 24 hours.
See below for an example.
esia@unity:~ $ esia-update-unity OK - All repositories are accessible RUN - Get last bullseye hotfix : Reading package lists... Done Build dependency tree... Done Read status information... Done Update calculation... Done The following packages have been retained: libc6 0 updated, 0 newly installed, 0 to be removed and 1 not updated. OK - Last bullseye Unity hotfix are present RUN - Set repositories for bookworm : OK - Your repository is ok to update for bookworm RUN - Start Unity update : - Get packages list ... - Upgrade validation check (Please wait 5/10 minutes) ... - Packages download ...
This level takes some time, so please wait a few minutes before continuing. Then you'll have to answer the following question:
The following packages have been installed automatically and are no longer required: libcbor0 libcrypt-rijndael-perl libevent-core-2.1-7 libevent-pthreads-2.1-7 libfl2 libfmt7 libfuse2 libhttp-server-simple-perl libicu67 libidn11 libjim0.79 libldap-2.4-2 libmpdec3 libnet-ip-perl libntfs-3g883 libopts25 libpcre2-posix2 libperl5.32 libpython3.9-minimal libpython3.9-stdlib libtevent0 ntpsec-ntpdig perl-modules-5.32 pigz python-pip-whl python3-pip python3-wheel python3.9 python3.9-minimal sntp Please use "sudo apt autoremove" to remove them. The following packages will be REMOVED: fuse hardlink libapache2-mod-php7.4 libraspberrypi-bin libsemanage1 php7.4-cli php7.4-common php7.4-curl php7.4-json php7.4-opcache php7.4-pgsql php7.4-readline php7.4-snmp php7.4-xml The following NEW packages will be installed: cpp-12 cron-daemon-common dbus-bin dbus-daemon dbus-session-bus-common dbus-system-bus-common dbus-user-session dconf-cli esia-pypsrp firmware-intel-graphics firmware-intel-misc firmware-marvell-prestera firmware-mediatek firmware-nvidia-graphics freetds-common fuse3 gcc-11-base gcc-12 gcc-12-base gcc-12-base:armhf libabsl20220623 libaom3 libapache2-mod-php8.2 libasan8 libavif15 libbpf1 libc-dev-bin libc-devtools libc6-dev libcbor0.8 libcrypt-dev libdav1d6 libdconf1 libde265-0 libdeflate0 libduktape207 libencode-perl libffi8 libfile-find-rule-perl libfmt9 libfuse3-3 libgav1-1 libgcc-12-dev libgd3 libgprofng0 libheif1 libhwasan0 libicu72 libidn12 libimport-into-perl libjbig0 libjemalloc2 libjim0.81 libjpeg62-turbo libldap-2.5-0 liblerc4 libmbim-utils libmoo-perl libnsl-dev libntfs-3g89 libnuma1 libnumber-compare-perl libossp-uuid16 libperl5.36 libpkgconf3 libproc2-0 libpython3.11-minimal libpython3.11-stdlib libqmi-utils libqrtr-glib0 librav1e0 libregexp-ipv6-perl libsemanage2 libsepol2 libssl3 libstring-crc32-perl libsvtav1enc1 libsybdb5 libsystemd-shared libtext-glob-perl libtiff6 libtirpc-dev libtsan2 libwebp7 libx265-199 libxmlrpc-epi0 libxpm4 libyuv0 linux-libc-dev manpages manpages-dev ntpsec ntpsec-ntpdig pastebinit perl-modules-5.36 php-soap php-sybase php-xmlrpc php8.2-cli php8.2-common php8.2-curl php8.2-opcache php8.2-pgsql php8.2-readline php8.2-snmp php8.2-soap php8.2-sybase php8.2-xml php8.2-xmlrpc pkexec pkgconf pkgconf-bin polkitd polkitd-pkla python3-bareos python3-cffi python3-cffi-backend python3-charset-normalizer python3-configargparse python3-cryptography python3-ntp python3-ply python3-pycparser python3-pycryptodome python3.11 python3.11-minimal raspi-utils raspi-utils-core raspi-utils-dt raspi-utils-eeprom raspi-utils-otp raspinfo rpcsvc-proto sgml-base usrmerge util-linux-extra uuid xml-core zstd The following packages will be updated: adduser alsa-utils apache2 apache2-bin apache2-data apache2-utils apt apt-utils at base-files base-passwd bash bash-completion bind9-dnsutils bind9-host bind9-libs binutils binutils-aarch64-linux-gnu binutils-common bsdextrautils bsdutils busybox bzip2 ca-certificates cifs-utils console-setup console-setup-linux coreutils cpio cpp cron curl dash dbus dc debconf debconf-i18n debconf-utils debian-archive-keyring debianutils device-tree-compiler diffutils dirmngr distro-info-data dmidecode dmsetup dns-root-data dnsmasq-base dnsutils dos2unix dphys-swapfile dpkg dpkg-dev e2fsprogs ed esia-plugins-basic esia-plugins-common esia-plugins-open esia-rcm esia-watchdog ethtool fake-hwclock fakeroot fbset fdisk file findutils firmware-atheros firmware-brcm80211 firmware-libertas firmware-misc-nonfree firmware-realtek fontconfig fontconfig-config fonts-dejavu-core freeipmi-common freeipmi-tools gcc gesa-base gesa-ecatp-client gesa-import-common gesa-network-scripts gesa-plugins gesa-updates-critic gesa-web-interface gettext-base gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm gpgv grep gzip hostname htop ifupdown init init-system-helpers initramfs-tools initramfs-tools-core iproute2 iptables iptables-persistent iputils-ping isc-dhcp-client isc-dhcp-common iso-codes iw kbd keyboard-configuration keyutils klibc-utils kmod kms++-utils krb5-locales less libacl1 libalgorithm-c3-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libapache2-mod-php libapparmor1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libapt-pkg6.0 libargon2-1 libasan6 libasound2 libasound2-data libassuan0 libatomic1 libatopology2 libattr1 libaudit-common libaudit1 libauthen-sasl-perl libb-hooks-endofscope-perl libb-hooks-op-check-perl libbinutils libblas3 libblkid1 libbluetooth3 libbrotli1 libbsd0 libbz2-1.0 libc-bin libc-l10n libc6 libc6:armhf libcairo2 libcap-ng0 libcap2 libcap2-bin libcc1-0 libcgi-pm-perl libclass-c3-perl libclass-c3-xs-perl libclass-inspector-perl libclass-method-modifiers-perl libclass-singleton-perl libclass-xsaccessor-perl libclone-perl libcom-err2 libcommon-sense-perl libconfig-inifiles-perl libcrypt-des-perl libcrypt-rijndael-perl libcrypt1 libcrypt1:armhf libcryptsetup12 libctf-nobfd0 libctf0 libcurl3-gnutls libcurl4 libdata-dump-perl libdata-optlist-perl libdatetime-format-strptime-perl libdatetime-locale-perl libdatetime-perl libdatetime-timezone-perl libdatrie1 libdb5.3 libdbus-1-3 libdebconfclient0 libdevel-callchecker-perl libdevel-caller-perl libdevel-globaldestruction-perl libdevel-lexalias-perl libdevel-stacktrace-perl libdevmapper1.02.1 libdigest-hmac-perl libdist-checkconflicts-perl libdpkg-perl libdrm-common libdrm2 libdynaloader-functions-perl libedit2 libelf1 libemail-address-xs-perl libemail-date-format-perl libemail-messageid-perl libemail-mime-contenttype-perl libemail-mime-encodings-perl libemail-mime-perl libemail-simple-perl libencode-locale-perl liberror-perl libestr0 libeval-closure-perl libevent-core-2.1-7 libevent-pthreads-2.1-7 libexception-class-perl libexpat1 libexporter-tiny-perl libext2fs2 libfakeroot libfastjson4 libfcgi-perl libfdisk1 libfdt1 libfftw3-single3 libfido2-1 libfile-fcntllock-perl libfile-listing-perl libfile-sharedir-perl libfl2 libfont-afm-perl libfontconfig1 libfreeipmi17 libfreetype6 libfribidi0 libfstrm0 libfuse2 libgcc-s1 libgcc-s1:armhf libgcrypt20 libgdbm-compat4 libgdbm6 libglib2.0-0 libgmp10 libgnutls30 libgomp1 libgpg-error0 libgssapi-krb5-2 libgudev-1.0-0 libharfbuzz0b libhogweed6 libhtml-form-perl libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libhttp-server-simple-perl libidn2-0 libio-html-perl libio-pty-perl libio-socket-inet6-perl libio-socket-ssl-perl libip4tc2 libip6tc2 libipc-run-perl libipc-shareable-perl libipmiconsole2 libipmidetect0 libisl23 libitm1 libiw30 libjansson4 libjson-c5 libjson-xs-perl libk5crypto3 libkeyutils1 libklibc libkmod2 libkms++0 libkrb5-3 libkrb5support0 libksba8 libldap-common liblist-compare-perl liblist-moreutils-xs-perl liblocale-gettext-perl liblog-log4perl-perl liblognorm5 liblsan0 liblua5.3-0 libluajit-5.1-2 libluajit-5.1-common liblwp-mediatypes-perl liblz4-1 liblzma5 libmagic-mgc libmagic1 libmail-imapclient-perl libmail-pop3client-perl libmail-sendmail-perl libmariadb3 libmath-round-perl libmaxminddb0 libmbim-glib4 libmbim-proxy libmd0 libmime-types-perl libmm-glib0 libmodule-implementation-perl libmodule-runtime-perl libmount1 libmpc3 libmpfr6 libmro-compat-perl libnamespace-autoclean-perl libnamespace-clean-perl libncurses6 libncursesw6 libndp0 libnet-address-ip-local-perl libnet-dns-perl libnet-dns-sec-perl libnet-http-perl libnet-ip-perl libnet-libidn-perl libnet-netmask-perl libnet-nslookup-perl libnet-openssh-perl libnet-snmp-perl libnet-ssleay-perl libnetfilter-conntrack3 libnetsnmptrapd40 libnettle8 libnewt0.52 libnfnetlink0 libnftables1 libnftnl11 libnghttp2-14 libnl-3-200 libnl-genl-3-200 libnl-route-3-200 libnm0 libnumber-format-perl libopts25 libp11-kit0 libpackage-stash-perl libpackage-stash-xs-perl libpadwalker-perl libpam-chksshpwd libpam-modules libpam-modules-bin libpam-runtime libpam-systemd libpam0g libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libparams-classify-perl libparams-util-perl libparams-validationcompiler-perl libparse-recdescent-perl libparted2 libpcap0.8 libpci3 libpcre2-8-0 libpcre3 libpcsclite1 libperl4-corelibs-perl libpixman-1-0 libpng16-16 libpolkit-agent-1-0 libpolkit-gobject-1-0 libpopt0 libpq5 libprotobuf-c1 libpsl5 libpython3-stdlib libqmi-glib5 libqmi-proxy libraspberrypi0 libreadline8 libref-util-perl libref-util-xs-perl librrd8 librrds-perl librrdtool-oo-perl libsamplerate0 libsasl2-2 libsasl2-modules libsasl2-modules-db libseccomp2 libselinux1 libsemanage-common libsensors-config libsensors5 libslang2 libsmartcols1 libsnmp-base libsnmp-perl libsnmp40 libsocket6-perl libspecio-perl libsqlite3-0 libss2 libssh2-1 libstdc++6 libstring-mkpasswd-perl libsub-exporter-perl libsub-exporter-progressive-perl libsub-identify-perl libsub-install-perl libsub-name-perl libsub-quote-perl libswitch-perl libsys-hostname-long-perl libsystemd0 libtalloc2 libtasn1-6 libtevent0 libtext-charwidth-perl libtext-csv-perl libtext-csv-xs-perl libtext-iconv-perl libtext-trim-perl libtext-unidecode-perl libtext-wrapi18n-perl libthai-data libthai0 libtime-duration-perl libtinfo6 libtirpc-common libtirpc3 libtry-tiny-perl libtsan0 libubsan1 libudev1 libunistring2 liburi-perl libusb-1.0-0 libuuid1 libuv1 libvariable-magic-perl libwbclient0 libwrap0 libwww-mechanize-perl libwww-perl libx11-6 libx11-data libxcb-render0 libxcb-shm0 libxcb1 libxext6 libxml-libxml-perl libxml-namespacesupport-perl libxml-parser-perl libxml-sax-base-perl libxml-sax-expat-perl libxml-sax-perl libxml-simple-perl libxml2 libxrender1 libxslt1.1 libxstring-perl libxtables12 libxxhash0 libyaml-0-2 libzstd1 linux-base locales login logrotate logsave lsb-base lsb-release lua-lpeg lua5.1 luajit mailcap mariadb-common mawk media-types modemmanager mount mysql-common nano ncdu ncurses-base ncurses-bin ncurses-term net-tools netbase netfilter-persistent network-manager nmap nmap-common ntfs-3g ntp openresolv openssh-client openssh-server openssh-sftp-server openssl parted passwd pci.ids pciutils perl perl-base perl-openssl-defaults php-cli php-common php-curl php-pgsql php-snmp php-xml pinentry-curses pkg-config policykit-1 ppp procps psmisc publicsuffix python-apt-common python-is-python3 python3 python3-apt python3-certifi python3-chardet python3-debconf python3-distro python3-distutils python3-idna python3-lib2to3 python3-minimal python3-pip python3-pkg-resources python3-requests python3-setuptools python3-six python3-toml python3-urllib3 python3-wheel raspberrypi net-mods raspberrypi sys-mods raspi-config readline-common rfkill rpi-eeprom rpi-update rsyslog runit-helper sed sensible-utils snmp snmpd sntp ssh ssl-cert strace sudo systemd systemd-sysv sysvinit-utils tar tasksel tasksel-data triggerhappy tzdata ucf udev usb-modeswitch usb-modeswitch-data usbutils userconf-pi util-linux vim-common vim-tiny wget whiptail wireless-regdb wireless-tools wpasupplicant xkb-data xxd xz-utils zlib1g 594 updated, 139 newly installed, 14 to be removed and 0 not updated. It is necessary to take 416 MB from the archives. After this operation, 564 MB of additional disk space will be used. Would you like to continue? [Y/n]
Answer 'Y + ENTER' (For Yes) to continue. Once the download is complete, you will be prompted to cancel the update (CTRL + C) or to start it (ENTER key).
Do not switch off your Unity during this process.
Download complete and in download mode only Now, Your Unity is ready to upgrade to bookworm Press ENTER to continue or CTRL + C to exit
It is essential to avoid shutting down the terminal or a power cut, as the SD card in the unity will be damaged and will no longer boot.
Once you have finished, the process will ask you to restart your Unity. This step is necessary.
OK - Update unity to bookworm SUCCESS Unity is now up to date - Restart ? Press ENTER to continue or CTRL + C to exit
Now you just have to wait a few minutes. Unity will then be accessible again via its web interface and via ssh. The update is now complete.