Tools

Account Tools

Search Tools


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.

WarningAvoid 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 an older Unity via USB key

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

AttentionWarning 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.

en/advanced/update_unity_arm_bookworm.txt · Last modified: 2025/05/12 12:47 by n.toumi