<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.autosys.tk/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>wiki.autosys.tk</title>
        <description></description>
        <link>https://wiki.autosys.tk/</link>
        <lastBuildDate>Sun, 31 May 2026 03:23:11 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://wiki.autosys.tk/_media/wiki/dokuwiki.svg</url>
            <title>wiki.autosys.tk</title>
            <link>https://wiki.autosys.tk/</link>
        </image>
        <item>
            <title>armbian_install_xfce_desktop</title>
            <link>https://wiki.autosys.tk/android/armbian_install_xfce_desktop</link>
            <description>&lt;pre class=&quot;code&quot;&gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install armbian-jammy-desktop-xfce
[sudo] password for mike: 
Hit:1 http://ports.ubuntu.com jammy InRelease
Hit:2 http://ports.ubuntu.com jammy-security InRelease                                          
Hit:3 http://ports.ubuntu.com jammy-updates InRelease                                           
Hit:5 http://ports.ubuntu.com jammy-backports InRelease             
Hit:6 http://deb.volian.org/volian scar InRelease                   
Hit:4 http://armbian.12z.eu/apt jammy InRelease   
Hit:7 https://ryanfortner.github.io/box64-debs/debian ./ InRelease
Reading package lists... Done                            
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libexpat1:armhf libffi8:armhf libmpdec3:armhf libpython3-stdlib:armhf libpython3.10-minimal:armhf libpython3.10-stdlib:armhf libreadline8:armhf libsqlite3-0:armhf libstdc++6:armhf
Use &amp;#039;sudo apt autoremove&amp;#039; to remove them.
The following additional packages will be installed:
  accountsservice accountsservice-ubuntu-schemas adwaita-icon-theme aglfn anacron apg apparmor apport apport-gtk apport-symptoms appstream apt-config-icons aptdaemon armbian-bsp-cli-odroidhc4 armbian-bsp-desktop-odroidhc4 aspell aspell-en at-spi2-core
  avahi-daemon avahi-utils bamfdaemon binfmt-support blueman bluez bluez-cups bluez-obexd bluez-tools brltty brltty-x11 bubblewrap ca-certificates-mono cheese-common cifs-utils cli-common colord cups cups-browsed cups-bsd cups-client cups-common
  cups-core-drivers cups-daemon cups-filters cups-filters-core-drivers cups-ipp-utils cups-pk-helper cups-ppdc cups-server-common dbus-x11 dc dconf-cli dconf-gsettings-backend dconf-service desktop-base desktop-file-utils dictionaries-common diffstat
  distro-info dmidecode dmz-cursor-theme doc-base docbook-xml elementary-xfce-icon-theme emacsen-common enchant-2 espeak-ng-data evince evince-common evolution-data-server evolution-data-server-common exo-utils fontconfig fontconfig-config
  fonts-arphic-ukai fonts-arphic-uming fonts-dejavu-core fonts-droid-fallback fonts-freefont-ttf fonts-guru fonts-guru-extra fonts-kacst fonts-kacst-one fonts-khmeros-core fonts-lato fonts-liberation fonts-lohit-guru fonts-nanum fonts-noto-mono
  fonts-opensymbol fonts-quicksand fonts-stix fonts-symbola fonts-ubuntu-console fonts-urw-base35 foomatic-db-compressed-ppds fwupd gcr gdb gdebi gdebi-core gdm3 gedit gedit-common geoclue-2.0 gettext ghostscript ghostscript-x
  gir1.2-accountsservice-1.0 gir1.2-adw-1 gir1.2-atk-1.0 gir1.2-atspi-2.0 gir1.2-ayatanaappindicator3-0.1 gir1.2-freedesktop gir1.2-gck-1 gir1.2-gcr-3 gir1.2-gdkpixbuf-2.0 gir1.2-gdm-1.0 gir1.2-geoclue-2.0 gir1.2-gnomebluetooth-3.0
  gir1.2-gnomedesktop-3.0 gir1.2-goa-1.0 gir1.2-graphene-1.0 gir1.2-gstreamer-1.0 gir1.2-gtk-3.0 gir1.2-gtk-4.0 gir1.2-gtksource-4 gir1.2-gweather-3.0 gir1.2-handy-1 gir1.2-harfbuzz-0.0 gir1.2-ibus-1.0 gir1.2-javascriptcoregtk-4.0 gir1.2-json-1.0
  gir1.2-keybinder-3.0 gir1.2-libxfce4util-1.0 gir1.2-mutter-10 gir1.2-nma-1.0 gir1.2-notify-0.7 gir1.2-pango-1.0 gir1.2-peas-1.0 gir1.2-polkit-1.0 gir1.2-rsvg-2.0 gir1.2-secret-1 gir1.2-snapd-1 gir1.2-soup-2.4 gir1.2-upowerglib-1.0 gir1.2-vte-2.91
  gir1.2-webkit2-4.0 gir1.2-wnck-3.0 gir1.2-xfconf-0 gist gkbd-capplet glib-networking glib-networking-common glib-networking-services gnome-bluetooth gnome-control-center gnome-control-center-data gnome-desktop3-data gnome-font-viewer
  gnome-icon-theme gnome-keyring gnome-keyring-pkcs11 gnome-menus gnome-online-accounts gnome-power-manager gnome-remote-desktop gnome-screensaver gnome-screenshot gnome-session-bin gnome-settings-daemon gnome-settings-daemon-common gnome-shell
  gnome-shell-common gnome-software gnome-software-plugin-snap gnome-startup-applications gnome-system-monitor gnome-terminal gnome-terminal-data gnome-user-docs gnome-user-docs-de gnome-user-docs-es gnome-user-docs-it gnome-user-docs-pt
  gnome-user-docs-ru gnome-user-docs-sl gnuplot-data gnuplot-x11 greybird-gtk-theme gsettings-desktop-schemas gsettings-ubuntu-schemas gstreamer1.0-clutter-3.0 gstreamer1.0-gl gstreamer1.0-packagekit gstreamer1.0-pipewire gstreamer1.0-plugins-base
  gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-good gstreamer1.0-pulseaudio gstreamer1.0-tools gstreamer1.0-x gtk-update-icon-cache gtk2-engines gtk2-engines-murrine gtk2-engines-pixbuf gvfs gvfs-backends gvfs-common gvfs-daemons gvfs-libs
  hicolor-icon-theme hplip humanity-icon-theme hunspell-en-us ibus ibus-data ibus-gtk ibus-gtk3 ibus-gtk4 iio-sensor-proxy im-config indicator-applet indicator-application indicator-appmenu indicator-bluetooth indicator-common indicator-datetime
  indicator-keyboard indicator-messages indicator-power indicator-printers indicator-session indicator-sound inputattach intltool-debian inxi ipp-usb javascript-common kerneloops keyutils language-pack-de language-pack-de-base language-pack-en
  language-pack-en-base language-pack-es language-pack-es-base language-pack-fr language-pack-fr-base language-pack-gnome-de language-pack-gnome-de-base language-pack-gnome-en language-pack-gnome-en-base language-pack-gnome-es
  language-pack-gnome-es-base language-pack-gnome-fr language-pack-gnome-fr-base language-pack-gnome-it language-pack-gnome-it-base language-pack-gnome-pt language-pack-gnome-pt-base language-pack-gnome-ru language-pack-gnome-ru-base
  language-pack-gnome-sl language-pack-gnome-sl-base language-pack-it language-pack-it-base language-pack-pt language-pack-pt-base language-pack-ru language-pack-ru-base language-pack-sl language-pack-sl-base language-selector-common
  language-selector-gnome laptop-detect libaa1 libabsl20210324 libaccountsservice0 libadwaita-1-0 libaliased-perl libao-common libao4 libapt-pkg-perl libarchive-zip-perl libarchive13 libasound2-plugins libaspell15 libasyncns0 libatk-adaptor
  libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatkmm-1.6-1v5 libatspi2.0-0 libauthen-sasl-perl libavahi-client3 libavahi-common-data libavahi-common3 libavahi-core7 libavahi-glib1 libavc1394-0 libayatana-appindicator3-1 libayatana-ido3-0.4-0
  libayatana-indicator3-7 libb-hooks-endofscope-perl libb-hooks-op-check-perl libbabeltrace1 libbamf3-2 libboost-regex1.74.0 libbrlapi0.8 libc6-dbg libcairo-gobject-perl libcairo-gobject2 libcairo-perl libcairo-script-interpreter2 libcairo2
  libcairomm-1.0-1v5 libcamel-1.2-63 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-pulse libcanberra0 libcapture-tiny-perl libcdio-cdda2 libcdio-paranoia2 libcdio19 libcdparanoia0 libcheese-gtk25 libcheese8 libclass-data-inheritable-perl
  libclass-method-modifiers-perl libclass-xsaccessor-perl libclone-perl libclutter-1.0-0 libclutter-1.0-common libclutter-gst-3.0-0 libclutter-gtk-1.0-0 libcogl-common libcogl-pango20 libcogl-path20 libcogl20 libcolord-gtk1 libcolord2 libcolorhug2
  libconfig-tiny-perl libconst-fast-perl libcpanel-json-xs-perl libcups2 libcupsfilters1 libcupsimage2 libdata-dpath-perl libdata-dump-perl libdata-messagepack-perl libdata-optlist-perl libdata-validate-domain-perl libdata-validate-ip-perl
  libdata-validate-uri-perl libdatrie1 libdbus-glib-1-2 libdbusmenu-glib4 libdbusmenu-gtk3-4 libdconf1 libdebuginfod-common libdebuginfod1 libdeflate0 libdevel-callchecker-perl libdevel-size-perl libdevel-stacktrace-perl libdjvulibre-text
  libdjvulibre21 libdotconf0 libdouble-conversion3 libdrm-amdgpu1 libdrm-common libdrm-nouveau2 libdrm-radeon1 libdrm2 libdv4 libdynaloader-functions-perl libebackend-1.2-10 libebook-1.2-20 libebook-contacts-1.2-3 libecal-2.0-1 libedata-book-1.2-26
  libedata-cal-2.0-1 libedataserver-1.2-26 libedataserverui-1.2-3 libegl-mesa0 libegl1 libemail-address-xs-perl libenchant-2-2 libencode-locale-perl libepoxy0 libespeak-ng1 libevdev2 libevdocument3-4 libevview3-3 libexception-class-perl libexif12
  libexiv2-27 libexo-2-0 libexo-common libexporter-tiny-perl libextutils-depends-perl libfcitx-config4 libfcitx-gclient1 libfcitx-utils0 libfile-basedir-perl libfile-desktopentry-perl libfile-find-rule-perl libfile-listing-perl libfile-mimeinfo-perl
  libflac8 libflashrom1 libfont-afm-perl libfont-ttf-perl libfontconfig1 libfontembed1 libfontenc1 libfreerdp-client2-2 libfreerdp-server2-2 libfreerdp2-2 libfreetype6 libfribidi0 libftdi1-2 libfwupd2 libfwupdplugin5 libgail-common libgail18
  libgarcon-1-0 libgarcon-common libgarcon-gtk3-1-0 libgbm1 libgck-1-0 libgcr-base-3-1 libgcr-ui-3-1 libgd3 libgdata-common libgdata22 libgdiplus libgdk-pixbuf-2.0-0 libgdk-pixbuf-xlib-2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgdm1
  libgee-0.8-2 libgeoclue-2-0 libgeocode-glib0 libgif7 libgjs0g libgl1 libgl1-amber-dri libgl1-mesa-dri libglapi-mesa libgles2 libglib-object-introspection-perl libglib-perl libglib2.0-cil libglibmm-2.4-1v5 libglu1-mesa libglvnd0 libglx-mesa0 libglx0
  libgnome-autoar-0-0 libgnome-bluetooth-3.0-13 libgnome-bluetooth13 libgnome-desktop-3-19 libgnome-panel0 libgnomekbd-common libgnomekbd8 libgoa-1.0-0b libgoa-1.0-common libgoa-backend-1.0-1 libgphoto2-6 libgphoto2-port12 libgraphene-1.0-0
  libgraphite2-3 libgs9 libgs9-common libgsettings-qt1 libgsound0 libgspell-1-2 libgspell-1-common libgssdp-1.2-0 libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 libgstreamer-plugins-good1.0-0 libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk-4-1
  libgtk-4-bin libgtk-4-common libgtk2.0-0 libgtk2.0-bin libgtk2.0-cil libgtk2.0-common libgtk3-perl libgtkmm-2.4-1v5 libgtkmm-3.0-1v5 libgtksourceview-4-0 libgtksourceview-4-common libgtop-2.0-11 libgtop2-common libgupnp-1.2-1 libgupnp-dlna-2.0-4
  libgutenprint-common libgutenprint9 libgweather-3-16 libgweather-common libgxps2 libhandy-1-0 libharfbuzz-icu0 libharfbuzz0b libhpmud0 libhtml-form-perl libhtml-format-perl libhtml-html5-entities-perl libhtml-parser-perl libhtml-tagset-perl
  libhtml-tree-perl libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libhunspell-1.7-0 libhyphen0 libibus-1.0-5 libical3 libice6 libidn12 libido3-0.1-0 libiec61883-0 libijs-0.35 libimagequant0
  libimport-into-perl libindicator3-7 libinput-bin libinput10 libio-html-perl libio-interactive-perl libio-prompt-tiny-perl libio-socket-ssl-perl libio-string-perl libio-stringy-perl libipc-run3-perl libipc-system-simple-perl libiterator-perl
  libiterator-util-perl libjack-jackd2-0 libjavascriptcoregtk-4.0-18 libjbig0 libjbig2dec0 libjcat1 libjpeg-turbo-progs libjpeg-turbo8 libjpeg8 libjs-jquery libjson-glib-1.0-0 libjson-glib-1.0-common libjson-maybexs-perl libkeybinder-3.0-0
  libkpathsea6 liblcms2-2 liblcms2-utils libldb2 liblightdm-gobject-1-0 liblist-compare-perl liblist-moreutils-perl liblist-moreutils-xs-perl liblist-someutils-perl liblist-someutils-xs-perl liblist-utilsby-perl libllvm13 liblouis-data liblouis20
  liblouisutdml-bin liblouisutdml-data liblouisutdml9 libltdl7 liblua5.4-0 liblwp-mediatypes-perl liblwp-protocol-https-perl libmailtools-perl libmanette-0.2-0 libmarkdown2 libmath-base85-perl libmd4c0 libmediaart-2.0-0 libmessaging-menu0
  libmodule-implementation-perl libmodule-runtime-perl libmono-addins-gui0.2-cil libmono-addins0.2-cil libmono-btls-interface4.0-cil libmono-cairo4.0-cil libmono-corlib4.5-cil libmono-corlib4.5-dll libmono-i18n-west4.0-cil libmono-i18n4.0-cil
  libmono-posix4.0-cil libmono-security4.0-cil libmono-sharpzip4.84-cil libmono-system-configuration4.0-cil libmono-system-core4.0-cil libmono-system-drawing4.0-cil libmono-system-numerics4.0-cil libmono-system-security4.0-cil
  libmono-system-xml4.0-cil libmono-system4.0-cil libmoo-perl libmoox-aliases-perl libmouse-perl libmousepad0 libmp3lame0 libmpg123-0 libmtdev1 libmutter-10-0 libnamespace-clean-perl libnautilus-extension1a libnet-dbus-perl libnet-domain-tld-perl
  libnet-http-perl libnet-ipv6addr-perl libnet-netmask-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnetaddr-ip-perl libnfs13 libnma-common libnma0 libnotify-bin libnotify4 libnss-mdns libnumber-compare-perl libogg0 libopengl0 libopenjp2-7 libopus0
  liborc-0.4-0 libpackage-stash-perl libpackage-stash-xs-perl libpam-gnome-keyring libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpangomm-1.4-1v5 libpangoxft-1.0-0 libpaper-utils libpaper1 libparams-classify-perl libparams-util-perl
  libpath-tiny-perl libpcaudio0 libpciaccess0 libpeas-1.0-0 libperlio-gzip-perl libperlio-utf8-strict-perl libphonenumber8 libpipewire-0.3-0 libpipewire-0.3-common libpipewire-0.3-modules libpixman-1-0 libpoppler-cpp0v5 libpoppler-glib8 libpoppler118
  libprotobuf23 libproxy1-plugin-gsettings libproxy1-plugin-networkmanager libproxy1v5 libpulse-mainloop-glib0 libpulse0 libpulsedsp libqalculate-data libqalculate22 libqpdf28 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5svg5
  libqt5widgets5 libraqm0 libraw1394-11 librest-0.7-0 librole-tiny-perl librsvg2-2 librsvg2-common libruby3.0 librygel-core-2.6-2 librygel-db-2.6-2 librygel-renderer-2.6-2 librygel-server-2.6-2 libsane-hpaio libsane1 libsbc1 libsecret-1-0
  libsecret-common libsereal-decoder-perl libsereal-encoder-perl libshout3 libsm6 libsmbclient libsnapd-glib1 libsndfile1 libsnmp-base libsnmp40 libsocket6-perl libsonic0 libsort-versions-perl libsoup-gnome2.4-1 libsoup2.4-1 libsoup2.4-common
  libsource-highlight-common libsource-highlight4v5 libsoxr0 libspa-0.2-modules libspectre1 libspeechd2 libspeex1 libspeexdsp1 libstartup-notification0 libstrictures-perl libsub-exporter-perl libsub-exporter-progressive-perl libsub-identify-perl
  libsub-install-perl libsub-name-perl libsub-quote-perl libsynctex2 libsyntax-keyword-try-perl libtag1v5 libtag1v5-vanilla libtalloc2 libtdb1 libterm-readkey-perl libtevent0 libtext-glob-perl libtext-iconv-perl libtext-levenshteinxs-perl
  libtext-markdown-discount-perl libtext-xslate-perl libthai-data libthai0 libtheora0 libthunarx-3-0 libtie-ixhash-perl libtiff5 libtime-duration-perl libtime-moment-perl libtimedate-perl libtry-tiny-perl libtumbler-1-0 libtwolame0 libu2f-udev
  libunicode-utf8-perl libunity-gtk2-parser0 libunity-gtk3-parser0 libunity-settings-daemon1 libupower-glib3 liburi-perl libuuid-perl libv4l-0 libv4lconvert0 libvariable-magic-perl libvisual-0.4-0 libvncserver1 libvorbis0a libvorbisenc2 libvorbisfile3
  libvpx7 libvte-2.91-0 libvte-2.91-common libvulkan1 libwacom-bin libwacom-common libwacom9 libwavpack1 libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 libwbclient0 libwebkit2gtk-4.0-37 libwebp7 libwebpdemux2 libwebpmux3
  libwebrtc-audio-processing1 libwhoopsie-preferences0 libwhoopsie0 libwmf-0.2-7 libwmf-0.2-7-gtk libwmf0.2-7-gtk libwmflite-0.2-7 libwnck-3-0 libwnck-3-common libwoff1 libwww-perl libwww-robotrules-perl libwxbase3.0-0v5 libwxgtk3.0-gtk3-0v5 libx11-6
  libx11-data libx11-protocol-perl libx11-xcb1 libxapp1 libxau6 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present0 libxcb-randr0 libxcb-render-util0 libxcb-render0 libxcb-res0 libxcb-shape0
  libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 libxcb-xv0 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfce4panel-2.0-4 libxfce4ui-2-0 libxfce4ui-common libxfce4ui-utils
  libxfce4util-bin libxfce4util-common libxfce4util7 libxfconf-0-3 libxfixes3 libxfont2 libxft2 libxi6 libxinerama1 libxkbcommon-x11-0 libxkbcommon0 libxkbfile1 libxkbregistry0 libxklavier16 libxml-libxml-perl libxml-namespacesupport-perl
  libxml-parser-perl libxml-sax-base-perl libxml-sax-expat-perl libxml-sax-perl libxml-twig-perl libxml-xpathengine-perl libxmu6 libxmuu1 libxpm4 libxpresent1 libxrandr2 libxrender1 libxres1 libxs-parse-keyword-perl libxshmfence1 libxslt1.1 libxss1
  libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 libyaml-libyaml-perl libyaml-tiny-perl libyelp0 lightdm lightdm-settings lintian lm-sensors lxtask lzip lzop mailcap mesa-utils mesa-utils-bin mesa-vulkan-drivers mime-support mono-4.0-gac mono-gac
  mono-runtime mono-runtime-common mono-runtime-sgen mousepad mousetweaks mscompress mutter-common nautilus-data nautilus-extension-gnome-terminal network-manager-gnome network-manager-ssh network-manager-ssh-gnome network-manager-vpnc numix-gtk-theme
  numix-icon-theme numix-icon-theme-circle openprinting-ppds orca p11-kit p11-kit-modules p7zip p7zip-full pamix pasystray patchutils pavucontrol pavucontrol-qt pavucontrol-qt-l10n pavumeter perl-openssl-defaults pinentry-gnome3 pinta pipewire
  pipewire-bin pipewire-media-session plymouth plymouth-label plymouth-theme-ubuntu-text policykit-desktop-privileges poppler-data poppler-utils power-profiles-daemon printer-driver-all printer-driver-brlaser printer-driver-c2050 printer-driver-c2esp
  printer-driver-cjet printer-driver-dymo printer-driver-escpr printer-driver-foo2zjs printer-driver-foo2zjs-common printer-driver-fujixerox printer-driver-gutenprint printer-driver-hpcups printer-driver-indexbraille printer-driver-m2300w
  printer-driver-min12xxw printer-driver-oki printer-driver-pnm2ppa printer-driver-postscript-hp printer-driver-ptouch printer-driver-pxljr printer-driver-sag-gdi printer-driver-splix profile-sync-daemon pulseaudio pulseaudio-module-bluetooth
  pulseaudio-utils python3-apport python3-aptdaemon python3-aptdaemon.gtk3widgets python3-brlapi python3-cairo python3-certifi python3-chardet python3-click python3-colorama python3-configobj python3-cups python3-cupshelpers python3-dateutil
  python3-debconf python3-debian python3-distupgrade python3-gi-cairo python3-gpg python3-ibus-1.0 python3-idna python3-ldb python3-louis python3-macaroonbakery python3-nacl python3-olefile python3-pexpect python3-pil python3-problem-report
  python3-protobuf python3-psutil python3-ptyprocess python3-pyatspi python3-pymacaroons python3-renderpm python3-reportlab python3-reportlab-accel python3-requests python3-rfc3339 python3-samba python3-setproctitle python3-speechd python3-systemd
  python3-talloc python3-tdb python3-tz python3-update-manager python3-urllib3 python3-xapp python3-xdg python3-yaml qalc qalculate-gtk qt5-gtk-platformtheme qttranslations5-l10n rake redshift rtkit ruby ruby-json ruby-net-telnet ruby-rubygems
  ruby-webrick ruby-xmlrpc ruby3.0 rubygems-integration rygel samba-common samba-common-bin samba-dsdb-modules samba-libs sane-airscan sane-utils session-migration sgml-base sgml-data shared-mime-info slick-greeter smbclient snapd
  software-properties-gtk sound-icons sound-theme-freedesktop speech-dispatcher speech-dispatcher-audio-plugins speech-dispatcher-espeak-ng spice-vdagent squashfs-tools sshpass ssl-cert switcheroo-control system-config-printer
  system-config-printer-common system-config-printer-udev t1utils tango-icon-theme terminator thunar thunar-data thunar-volman tree tumbler tumbler-common ubuntu-advantage-desktop-daemon ubuntu-advantage-tools ubuntu-docs ubuntu-drivers-common
  ubuntu-mono ubuntu-release-upgrader-core ubuntu-release-upgrader-gtk ubuntu-session unity-greeter unity-gtk-module-common unity-gtk2-module unity-gtk3-module unity-settings-daemon unity-settings-daemon-schemas update-inetd update-manager
  update-manager-core update-notifier update-notifier-common upower viewnior wamerican wbrazilian wbritish wfrench whoopsie whoopsie-preferences witalian wportuguese wspanish wswiss x11-apps x11-common x11-session-utils x11-utils x11-xkb-utils
  x11-xserver-utils xapp xapps-common xarchiver xauth xbacklight xbitmaps xbrlapi xcursor-themes xdg-dbus-proxy xdg-desktop-portal xdg-desktop-portal-gtk xdg-user-dirs xdg-user-dirs-gtk xdg-utils xfce4 xfce4-appfinder xfce4-helpers xfce4-notifyd
  xfce4-panel xfce4-pulseaudio-plugin xfce4-screensaver xfce4-screenshooter xfce4-session xfce4-settings xfce4-terminal xfconf xfdesktop4 xfdesktop4-data xfonts-100dpi xfonts-75dpi xfonts-base xfonts-encodings xfonts-scalable xfonts-utils xfwm4 xiccd
  xinit xinput xml-core xorg xorg-docs-core xscreensaver xscreensaver-data xserver-common xserver-xephyr xserver-xorg xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-libinput xserver-xorg-input-wacom xserver-xorg-legacy
  xserver-xorg-video-all xserver-xorg-video-amdgpu xserver-xorg-video-ati xserver-xorg-video-fbdev xserver-xorg-video-nouveau xserver-xorg-video-radeon xserver-xorg-video-vesa xwallpaper xwayland yelp yelp-xsl zenity zenity-common
Suggested packages:
  default-mta | mail-transport-agent powermgmt-base apparmor-profiles-extra apparmor-utils aspell-doc spellutils brltty-speechd winbind cups-pdf inetutils-inetd | inet-superserver antiword docx2txt imagemagick lynx shunit2 docbook docbook-dsssl
  docbook-xsl docbook-defguide nautilus-sendto unrar evolution fonts-noto fonts-texgyre hplip-cups gir1.2-fwupd-2.0 gdb-doc gdbserver libpam-fprintd gedit-plugins gettext-doc autopoint libasprintf-dev libgettextpo-dev gnome-user-share
  libcanberra-gtk-module usbguard gir1.2-telepathyglib-0.12 gir1.2-telepathylogger-0.2 gnome-shell-extension-prefs chrome-gnome-shell apt-config-icons-hidpi gnome-software-plugin-flatpak gnuplot-doc murrine-themes hplip-doc hplip-gui python3-notify2
  hunspell openoffice.org-hunspell | openoffice.org-core ibus-clutter unity-greeter-session-broadcast libxml-dumper-perl apache2 | lighttpd | httpd kerneloops-applet libaudio2 libsndio6.1 lrzip libdigest-hmac-perl libgssapi-perl libfont-freetype-perl
  libcanberra-gtk0 libdv-bin oss-compat libenchant-2-voikko exiv2 fcitx freerdp2-x11 libgd-tools monodoc-gtk2.0-manual gphoto2 libvisual-0.4-plugins libgtk-4-media-gstreamer | libgtk-4-media-ffmpeg gutenprint-locales jackd2 ooo2dbk rtf2xml
  libcrypt-ssleay-perl libmono-i18n4.0-all libgamin0 opus-tools libscalar-number-perl qt5-image-formats-plugins qtwayland5 libraw1394-doc librsvg2-bin snmp-mibs-downloader speex libbareword-filehandles-perl libindirect-perl libmultidimensional-perl
  libbusiness-isbn-perl gstreamer1.0-libav gstreamer1.0-plugins-bad gstreamer1.0-alsa libauthen-ntlm-perl devhelp libxml-sax-expatxs-perl libunicode-map8-perl libunicode-string-perl xml-twig-tools binutils-multiarch libtext-template-perl fancontrol
  read-edid network-manager-openconnect-gnome network-manager-openvpn-gnome network-manager-vpnc-gnome network-manager-pptp-gnome hpijs-ppds p7zip-rar paman paprefs pulseaudio-module-zeroconf pinentry-doc plymouth-themes fonts-japanese-mincho
  | fonts-ipafont-mincho fonts-japanese-gothic | fonts-ipafont-gothic psutils foomatic-db-engine | apsfilter hannah-foo2zjs tix tk gutenprint-doc magicfilter | apsfilter ubuntu-sounds python-configobj-doc python-nacl-doc python-pexpect-doc
  python-pil-doc python-psutil-doc python3-egenix-mxtexttools python-reportlab-doc python3-openssl python3-socks python-requests-doc ri ruby-dev bundler gstreamer1.0-plugins-ugly rygel-playbin rygel-preferences rygel-ruih rygel-tracker heimdal-clients
  python3-markdown python3-dnspython unpaper sgml-base-doc perlsgml w3-recs opensp libxml2-utils libttspico-utils espeak mbrola speech-dispatcher-doc-cs speech-dispatcher-festival speech-dispatcher-cicero speech-dispatcher-flite
  speech-dispatcher-espeak python3-smbc kdelibs-data thunar-archive-plugin thunar-media-tags-plugin tumbler-plugins-extra python3-aptdaemon.pkcompat gir1.2-dbusmenu-glib-0.4 gir1.2-unity-5.0 nickle cairo-5c arj lbzip2 lhasa liblz4-tool ncompress
  pbzip2 pigz plzip rar unar xdg-desktop-portal-gnome xfce4-goodies xfce4-power-manager fortunes-mod debhelper xorg-docs x11-xfs-utils fortune qcam | streamer www-browser xdaliclock xfishtank xscreensaver-data-extra xscreensaver-gl
  xscreensaver-gl-extra firmware-amd-graphics xserver-xorg-video-r128 xserver-xorg-video-mach64 firmware-misc-nonfree
Recommended packages:
  google-chrome-stable libgtk2-perl appmenu-qt jayatana systemd-services
The following NEW packages will be installed:
  accountsservice accountsservice-ubuntu-schemas adwaita-icon-theme aglfn anacron apg apparmor apport apport-gtk apport-symptoms appstream apt-config-icons aptdaemon armbian-bsp-cli-odroidhc4 armbian-bsp-desktop-odroidhc4 armbian-jammy-desktop-xfce
  aspell aspell-en at-spi2-core avahi-daemon avahi-utils bamfdaemon binfmt-support blueman bluez bluez-cups bluez-obexd bluez-tools brltty brltty-x11 bubblewrap ca-certificates-mono cheese-common cifs-utils cli-common colord cups cups-browsed cups-bsd
  cups-client cups-common cups-core-drivers cups-daemon cups-filters cups-filters-core-drivers cups-ipp-utils cups-pk-helper cups-ppdc cups-server-common dbus-x11 dc dconf-cli dconf-gsettings-backend dconf-service desktop-base desktop-file-utils
  dictionaries-common diffstat distro-info dmidecode dmz-cursor-theme doc-base docbook-xml elementary-xfce-icon-theme emacsen-common enchant-2 espeak-ng-data evince evince-common evolution-data-server evolution-data-server-common exo-utils fontconfig
  fontconfig-config fonts-arphic-ukai fonts-arphic-uming fonts-dejavu-core fonts-droid-fallback fonts-freefont-ttf fonts-guru fonts-guru-extra fonts-kacst fonts-kacst-one fonts-khmeros-core fonts-lato fonts-liberation fonts-lohit-guru fonts-nanum
  fonts-noto-mono fonts-opensymbol fonts-quicksand fonts-stix fonts-symbola fonts-ubuntu-console fonts-urw-base35 foomatic-db-compressed-ppds fwupd gcr gdb gdebi gdebi-core gdm3 gedit gedit-common geoclue-2.0 gettext ghostscript ghostscript-x
  gir1.2-accountsservice-1.0 gir1.2-adw-1 gir1.2-atk-1.0 gir1.2-atspi-2.0 gir1.2-ayatanaappindicator3-0.1 gir1.2-freedesktop gir1.2-gck-1 gir1.2-gcr-3 gir1.2-gdkpixbuf-2.0 gir1.2-gdm-1.0 gir1.2-geoclue-2.0 gir1.2-gnomebluetooth-3.0
  gir1.2-gnomedesktop-3.0 gir1.2-goa-1.0 gir1.2-graphene-1.0 gir1.2-gstreamer-1.0 gir1.2-gtk-3.0 gir1.2-gtk-4.0 gir1.2-gtksource-4 gir1.2-gweather-3.0 gir1.2-handy-1 gir1.2-harfbuzz-0.0 gir1.2-ibus-1.0 gir1.2-javascriptcoregtk-4.0 gir1.2-json-1.0
  gir1.2-keybinder-3.0 gir1.2-libxfce4util-1.0 gir1.2-mutter-10 gir1.2-nma-1.0 gir1.2-notify-0.7 gir1.2-pango-1.0 gir1.2-peas-1.0 gir1.2-polkit-1.0 gir1.2-rsvg-2.0 gir1.2-secret-1 gir1.2-snapd-1 gir1.2-soup-2.4 gir1.2-upowerglib-1.0 gir1.2-vte-2.91
  gir1.2-webkit2-4.0 gir1.2-wnck-3.0 gir1.2-xfconf-0 gist gkbd-capplet glib-networking glib-networking-common glib-networking-services gnome-bluetooth gnome-control-center gnome-control-center-data gnome-desktop3-data gnome-font-viewer
  gnome-icon-theme gnome-keyring gnome-keyring-pkcs11 gnome-menus gnome-online-accounts gnome-power-manager gnome-remote-desktop gnome-screensaver gnome-screenshot gnome-session-bin gnome-settings-daemon gnome-settings-daemon-common gnome-shell
  gnome-shell-common gnome-software gnome-software-plugin-snap gnome-startup-applications gnome-system-monitor gnome-terminal gnome-terminal-data gnome-user-docs gnome-user-docs-de gnome-user-docs-es gnome-user-docs-it gnome-user-docs-pt
  gnome-user-docs-ru gnome-user-docs-sl gnuplot-data gnuplot-x11 greybird-gtk-theme gsettings-desktop-schemas gsettings-ubuntu-schemas gstreamer1.0-clutter-3.0 gstreamer1.0-gl gstreamer1.0-packagekit gstreamer1.0-pipewire gstreamer1.0-plugins-base
  gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-good gstreamer1.0-pulseaudio gstreamer1.0-tools gstreamer1.0-x gtk-update-icon-cache gtk2-engines gtk2-engines-murrine gtk2-engines-pixbuf gvfs gvfs-backends gvfs-common gvfs-daemons gvfs-libs
  hicolor-icon-theme hplip humanity-icon-theme hunspell-en-us ibus ibus-data ibus-gtk ibus-gtk3 ibus-gtk4 iio-sensor-proxy im-config indicator-applet indicator-application indicator-appmenu indicator-bluetooth indicator-common indicator-datetime
  indicator-keyboard indicator-messages indicator-power indicator-printers indicator-session indicator-sound inputattach intltool-debian inxi ipp-usb javascript-common kerneloops keyutils language-pack-de language-pack-de-base language-pack-en
  language-pack-en-base language-pack-es language-pack-es-base language-pack-fr language-pack-fr-base language-pack-gnome-de language-pack-gnome-de-base language-pack-gnome-en language-pack-gnome-en-base language-pack-gnome-es
  language-pack-gnome-es-base language-pack-gnome-fr language-pack-gnome-fr-base language-pack-gnome-it language-pack-gnome-it-base language-pack-gnome-pt language-pack-gnome-pt-base language-pack-gnome-ru language-pack-gnome-ru-base
  language-pack-gnome-sl language-pack-gnome-sl-base language-pack-it language-pack-it-base language-pack-pt language-pack-pt-base language-pack-ru language-pack-ru-base language-pack-sl language-pack-sl-base language-selector-common
  language-selector-gnome laptop-detect libaa1 libabsl20210324 libaccountsservice0 libadwaita-1-0 libaliased-perl libao-common libao4 libapt-pkg-perl libarchive-zip-perl libarchive13 libasound2-plugins libaspell15 libasyncns0 libatk-adaptor
  libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatkmm-1.6-1v5 libatspi2.0-0 libauthen-sasl-perl libavahi-client3 libavahi-common-data libavahi-common3 libavahi-core7 libavahi-glib1 libavc1394-0 libayatana-appindicator3-1 libayatana-ido3-0.4-0
  libayatana-indicator3-7 libb-hooks-endofscope-perl libb-hooks-op-check-perl libbabeltrace1 libbamf3-2 libboost-regex1.74.0 libbrlapi0.8 libc6-dbg libcairo-gobject-perl libcairo-gobject2 libcairo-perl libcairo-script-interpreter2 libcairo2
  libcairomm-1.0-1v5 libcamel-1.2-63 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-pulse libcanberra0 libcapture-tiny-perl libcdio-cdda2 libcdio-paranoia2 libcdio19 libcdparanoia0 libcheese-gtk25 libcheese8 libclass-data-inheritable-perl
  libclass-method-modifiers-perl libclass-xsaccessor-perl libclone-perl libclutter-1.0-0 libclutter-1.0-common libclutter-gst-3.0-0 libclutter-gtk-1.0-0 libcogl-common libcogl-pango20 libcogl-path20 libcogl20 libcolord-gtk1 libcolord2 libcolorhug2
  libconfig-tiny-perl libconst-fast-perl libcpanel-json-xs-perl libcups2 libcupsfilters1 libcupsimage2 libdata-dpath-perl libdata-dump-perl libdata-messagepack-perl libdata-optlist-perl libdata-validate-domain-perl libdata-validate-ip-perl
  libdata-validate-uri-perl libdatrie1 libdbus-glib-1-2 libdbusmenu-glib4 libdbusmenu-gtk3-4 libdconf1 libdebuginfod-common libdebuginfod1 libdeflate0 libdevel-callchecker-perl libdevel-size-perl libdevel-stacktrace-perl libdjvulibre-text
  libdjvulibre21 libdotconf0 libdouble-conversion3 libdrm-amdgpu1 libdrm-common libdrm-nouveau2 libdrm-radeon1 libdrm2 libdv4 libdynaloader-functions-perl libebackend-1.2-10 libebook-1.2-20 libebook-contacts-1.2-3 libecal-2.0-1 libedata-book-1.2-26
  libedata-cal-2.0-1 libedataserver-1.2-26 libedataserverui-1.2-3 libegl-mesa0 libegl1 libemail-address-xs-perl libenchant-2-2 libencode-locale-perl libepoxy0 libespeak-ng1 libevdev2 libevdocument3-4 libevview3-3 libexception-class-perl libexif12
  libexiv2-27 libexo-2-0 libexo-common libexporter-tiny-perl libextutils-depends-perl libfcitx-config4 libfcitx-gclient1 libfcitx-utils0 libfile-basedir-perl libfile-desktopentry-perl libfile-find-rule-perl libfile-listing-perl libfile-mimeinfo-perl
  libflac8 libflashrom1 libfont-afm-perl libfont-ttf-perl libfontconfig1 libfontembed1 libfontenc1 libfreerdp-client2-2 libfreerdp-server2-2 libfreerdp2-2 libfreetype6 libfribidi0 libftdi1-2 libfwupd2 libfwupdplugin5 libgail-common libgail18
  libgarcon-1-0 libgarcon-common libgarcon-gtk3-1-0 libgbm1 libgck-1-0 libgcr-base-3-1 libgcr-ui-3-1 libgd3 libgdata-common libgdata22 libgdiplus libgdk-pixbuf-2.0-0 libgdk-pixbuf-xlib-2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgdm1
  libgee-0.8-2 libgeoclue-2-0 libgeocode-glib0 libgif7 libgjs0g libgl1 libgl1-amber-dri libgl1-mesa-dri libglapi-mesa libgles2 libglib-object-introspection-perl libglib-perl libglib2.0-cil libglibmm-2.4-1v5 libglu1-mesa libglvnd0 libglx-mesa0 libglx0
  libgnome-autoar-0-0 libgnome-bluetooth-3.0-13 libgnome-bluetooth13 libgnome-desktop-3-19 libgnome-panel0 libgnomekbd-common libgnomekbd8 libgoa-1.0-0b libgoa-1.0-common libgoa-backend-1.0-1 libgphoto2-6 libgphoto2-port12 libgraphene-1.0-0
  libgraphite2-3 libgs9 libgs9-common libgsettings-qt1 libgsound0 libgspell-1-2 libgspell-1-common libgssdp-1.2-0 libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 libgstreamer-plugins-good1.0-0 libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk-4-1
  libgtk-4-bin libgtk-4-common libgtk2.0-0 libgtk2.0-bin libgtk2.0-cil libgtk2.0-common libgtk3-perl libgtkmm-2.4-1v5 libgtkmm-3.0-1v5 libgtksourceview-4-0 libgtksourceview-4-common libgtop-2.0-11 libgtop2-common libgupnp-1.2-1 libgupnp-dlna-2.0-4
  libgutenprint-common libgutenprint9 libgweather-3-16 libgweather-common libgxps2 libhandy-1-0 libharfbuzz-icu0 libharfbuzz0b libhpmud0 libhtml-form-perl libhtml-format-perl libhtml-html5-entities-perl libhtml-parser-perl libhtml-tagset-perl
  libhtml-tree-perl libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libhunspell-1.7-0 libhyphen0 libibus-1.0-5 libical3 libice6 libidn12 libido3-0.1-0 libiec61883-0 libijs-0.35 libimagequant0
  libimport-into-perl libindicator3-7 libinput-bin libinput10 libio-html-perl libio-interactive-perl libio-prompt-tiny-perl libio-socket-ssl-perl libio-string-perl libio-stringy-perl libipc-run3-perl libipc-system-simple-perl libiterator-perl
  libiterator-util-perl libjack-jackd2-0 libjavascriptcoregtk-4.0-18 libjbig0 libjbig2dec0 libjcat1 libjpeg-turbo-progs libjpeg-turbo8 libjpeg8 libjs-jquery libjson-glib-1.0-0 libjson-glib-1.0-common libjson-maybexs-perl libkeybinder-3.0-0
  libkpathsea6 liblcms2-2 liblcms2-utils libldb2 liblightdm-gobject-1-0 liblist-compare-perl liblist-moreutils-perl liblist-moreutils-xs-perl liblist-someutils-perl liblist-someutils-xs-perl liblist-utilsby-perl libllvm13 liblouis-data liblouis20
  liblouisutdml-bin liblouisutdml-data liblouisutdml9 libltdl7 liblua5.4-0 liblwp-mediatypes-perl liblwp-protocol-https-perl libmailtools-perl libmanette-0.2-0 libmarkdown2 libmath-base85-perl libmd4c0 libmediaart-2.0-0 libmessaging-menu0
  libmodule-implementation-perl libmodule-runtime-perl libmono-addins-gui0.2-cil libmono-addins0.2-cil libmono-btls-interface4.0-cil libmono-cairo4.0-cil libmono-corlib4.5-cil libmono-corlib4.5-dll libmono-i18n-west4.0-cil libmono-i18n4.0-cil
  libmono-posix4.0-cil libmono-security4.0-cil libmono-sharpzip4.84-cil libmono-system-configuration4.0-cil libmono-system-core4.0-cil libmono-system-drawing4.0-cil libmono-system-numerics4.0-cil libmono-system-security4.0-cil
  libmono-system-xml4.0-cil libmono-system4.0-cil libmoo-perl libmoox-aliases-perl libmouse-perl libmousepad0 libmp3lame0 libmpg123-0 libmtdev1 libmutter-10-0 libnamespace-clean-perl libnautilus-extension1a libnet-dbus-perl libnet-domain-tld-perl
  libnet-http-perl libnet-ipv6addr-perl libnet-netmask-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnetaddr-ip-perl libnfs13 libnma-common libnma0 libnotify-bin libnotify4 libnss-mdns libnumber-compare-perl libogg0 libopengl0 libopenjp2-7 libopus0
  liborc-0.4-0 libpackage-stash-perl libpackage-stash-xs-perl libpam-gnome-keyring libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpangomm-1.4-1v5 libpangoxft-1.0-0 libpaper-utils libpaper1 libparams-classify-perl libparams-util-perl
  libpath-tiny-perl libpcaudio0 libpciaccess0 libpeas-1.0-0 libperlio-gzip-perl libperlio-utf8-strict-perl libphonenumber8 libpipewire-0.3-0 libpipewire-0.3-common libpipewire-0.3-modules libpixman-1-0 libpoppler-cpp0v5 libpoppler-glib8 libpoppler118
  libprotobuf23 libproxy1-plugin-gsettings libproxy1-plugin-networkmanager libproxy1v5 libpulse-mainloop-glib0 libpulse0 libpulsedsp libqalculate-data libqalculate22 libqpdf28 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5svg5
  libqt5widgets5 libraqm0 libraw1394-11 librest-0.7-0 librole-tiny-perl librsvg2-2 librsvg2-common libruby3.0 librygel-core-2.6-2 librygel-db-2.6-2 librygel-renderer-2.6-2 librygel-server-2.6-2 libsane-hpaio libsane1 libsbc1 libsecret-1-0
  libsecret-common libsereal-decoder-perl libsereal-encoder-perl libshout3 libsm6 libsmbclient libsnapd-glib1 libsndfile1 libsnmp-base libsnmp40 libsocket6-perl libsonic0 libsort-versions-perl libsoup-gnome2.4-1 libsoup2.4-1 libsoup2.4-common
  libsource-highlight-common libsource-highlight4v5 libsoxr0 libspa-0.2-modules libspectre1 libspeechd2 libspeex1 libspeexdsp1 libstartup-notification0 libstrictures-perl libsub-exporter-perl libsub-exporter-progressive-perl libsub-identify-perl
  libsub-install-perl libsub-name-perl libsub-quote-perl libsynctex2 libsyntax-keyword-try-perl libtag1v5 libtag1v5-vanilla libtalloc2 libtdb1 libterm-readkey-perl libtevent0 libtext-glob-perl libtext-iconv-perl libtext-levenshteinxs-perl
  libtext-markdown-discount-perl libtext-xslate-perl libthai-data libthai0 libtheora0 libthunarx-3-0 libtie-ixhash-perl libtiff5 libtime-duration-perl libtime-moment-perl libtimedate-perl libtry-tiny-perl libtumbler-1-0 libtwolame0 libu2f-udev
  libunicode-utf8-perl libunity-gtk2-parser0 libunity-gtk3-parser0 libunity-settings-daemon1 libupower-glib3 liburi-perl libuuid-perl libv4l-0 libv4lconvert0 libvariable-magic-perl libvisual-0.4-0 libvncserver1 libvorbis0a libvorbisenc2 libvorbisfile3
  libvpx7 libvte-2.91-0 libvte-2.91-common libvulkan1 libwacom-bin libwacom-common libwacom9 libwavpack1 libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 libwbclient0 libwebkit2gtk-4.0-37 libwebp7 libwebpdemux2 libwebpmux3
  libwebrtc-audio-processing1 libwhoopsie-preferences0 libwhoopsie0 libwmf-0.2-7 libwmf-0.2-7-gtk libwmf0.2-7-gtk libwmflite-0.2-7 libwnck-3-0 libwnck-3-common libwoff1 libwww-perl libwww-robotrules-perl libwxbase3.0-0v5 libwxgtk3.0-gtk3-0v5 libx11-6
  libx11-data libx11-protocol-perl libx11-xcb1 libxapp1 libxau6 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present0 libxcb-randr0 libxcb-render-util0 libxcb-render0 libxcb-res0 libxcb-shape0
  libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 libxcb-xv0 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfce4panel-2.0-4 libxfce4ui-2-0 libxfce4ui-common libxfce4ui-utils
  libxfce4util-bin libxfce4util-common libxfce4util7 libxfconf-0-3 libxfixes3 libxfont2 libxft2 libxi6 libxinerama1 libxkbcommon-x11-0 libxkbcommon0 libxkbfile1 libxkbregistry0 libxklavier16 libxml-libxml-perl libxml-namespacesupport-perl
  libxml-parser-perl libxml-sax-base-perl libxml-sax-expat-perl libxml-sax-perl libxml-twig-perl libxml-xpathengine-perl libxmu6 libxmuu1 libxpm4 libxpresent1 libxrandr2 libxrender1 libxres1 libxs-parse-keyword-perl libxshmfence1 libxslt1.1 libxss1
  libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 libyaml-libyaml-perl libyaml-tiny-perl libyelp0 lightdm lightdm-settings lintian lm-sensors lxtask lzip lzop mailcap mesa-utils mesa-utils-bin mesa-vulkan-drivers mime-support mono-4.0-gac mono-gac
  mono-runtime mono-runtime-common mono-runtime-sgen mousepad mousetweaks mscompress mutter-common nautilus-data nautilus-extension-gnome-terminal network-manager-gnome network-manager-ssh network-manager-ssh-gnome network-manager-vpnc numix-gtk-theme
  numix-icon-theme numix-icon-theme-circle openprinting-ppds orca p11-kit p11-kit-modules p7zip p7zip-full pamix pasystray patchutils pavucontrol pavucontrol-qt pavucontrol-qt-l10n pavumeter perl-openssl-defaults pinentry-gnome3 pinta pipewire
  pipewire-bin pipewire-media-session plymouth plymouth-label plymouth-theme-ubuntu-text policykit-desktop-privileges poppler-data poppler-utils power-profiles-daemon printer-driver-all printer-driver-brlaser printer-driver-c2050 printer-driver-c2esp
  printer-driver-cjet printer-driver-dymo printer-driver-escpr printer-driver-foo2zjs printer-driver-foo2zjs-common printer-driver-fujixerox printer-driver-gutenprint printer-driver-hpcups printer-driver-indexbraille printer-driver-m2300w
  printer-driver-min12xxw printer-driver-oki printer-driver-pnm2ppa printer-driver-postscript-hp printer-driver-ptouch printer-driver-pxljr printer-driver-sag-gdi printer-driver-splix profile-sync-daemon pulseaudio pulseaudio-module-bluetooth
  pulseaudio-utils python3-apport python3-aptdaemon python3-aptdaemon.gtk3widgets python3-brlapi python3-cairo python3-certifi python3-chardet python3-click python3-colorama python3-configobj python3-cups python3-cupshelpers python3-dateutil
  python3-debconf python3-debian python3-distupgrade python3-gi-cairo python3-gpg python3-ibus-1.0 python3-idna python3-ldb python3-louis python3-macaroonbakery python3-nacl python3-olefile python3-pexpect python3-pil python3-problem-report
  python3-protobuf python3-psutil python3-ptyprocess python3-pyatspi python3-pymacaroons python3-renderpm python3-reportlab python3-reportlab-accel python3-requests python3-rfc3339 python3-samba python3-setproctitle python3-speechd python3-systemd
  python3-talloc python3-tdb python3-tz python3-update-manager python3-urllib3 python3-xapp python3-xdg python3-yaml qalc qalculate-gtk qt5-gtk-platformtheme qttranslations5-l10n rake redshift rtkit ruby ruby-json ruby-net-telnet ruby-rubygems
  ruby-webrick ruby-xmlrpc ruby3.0 rubygems-integration rygel samba-common samba-common-bin samba-dsdb-modules samba-libs sane-airscan sane-utils session-migration sgml-base sgml-data shared-mime-info slick-greeter smbclient snapd
  software-properties-gtk sound-icons sound-theme-freedesktop speech-dispatcher speech-dispatcher-audio-plugins speech-dispatcher-espeak-ng spice-vdagent squashfs-tools sshpass ssl-cert switcheroo-control system-config-printer
  system-config-printer-common system-config-printer-udev t1utils tango-icon-theme terminator thunar thunar-data thunar-volman tree tumbler tumbler-common ubuntu-advantage-desktop-daemon ubuntu-advantage-tools ubuntu-docs ubuntu-drivers-common
  ubuntu-mono ubuntu-release-upgrader-core ubuntu-release-upgrader-gtk ubuntu-session unity-greeter unity-gtk-module-common unity-gtk2-module unity-gtk3-module unity-settings-daemon unity-settings-daemon-schemas update-inetd update-manager
  update-manager-core update-notifier update-notifier-common upower viewnior wamerican wbrazilian wbritish wfrench whoopsie whoopsie-preferences witalian wportuguese wspanish wswiss x11-apps x11-common x11-session-utils x11-utils x11-xkb-utils
  x11-xserver-utils xapp xapps-common xarchiver xauth xbacklight xbitmaps xbrlapi xcursor-themes xdg-dbus-proxy xdg-desktop-portal xdg-desktop-portal-gtk xdg-user-dirs xdg-user-dirs-gtk xdg-utils xfce4 xfce4-appfinder xfce4-helpers xfce4-notifyd
  xfce4-panel xfce4-pulseaudio-plugin xfce4-screensaver xfce4-screenshooter xfce4-session xfce4-settings xfce4-terminal xfconf xfdesktop4 xfdesktop4-data xfonts-100dpi xfonts-75dpi xfonts-base xfonts-encodings xfonts-scalable xfonts-utils xfwm4 xiccd
  xinit xinput xml-core xorg xorg-docs-core xscreensaver xscreensaver-data xserver-common xserver-xephyr xserver-xorg xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-libinput xserver-xorg-input-wacom xserver-xorg-legacy
  xserver-xorg-video-all xserver-xorg-video-amdgpu xserver-xorg-video-ati xserver-xorg-video-fbdev xserver-xorg-video-nouveau xserver-xorg-video-radeon xserver-xorg-video-vesa xwallpaper xwayland yelp yelp-xsl zenity zenity-common
0 upgraded, 1166 newly installed, 0 to remove and 9 not upgraded.
Need to get 330 MB/454 MB of archives.
After this operation, 1,783 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.&lt;/pre&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 27 Jul 2022 14:21:11 +0000</pubDate>
        </item>
        <item>
            <title>boot_linux_on_amlogic_tv_box</title>
            <link>https://wiki.autosys.tk/android/boot_linux_on_amlogic_tv_box</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;о_чем_тут_написано&quot;&gt;О чем тут написано&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
У меня есть &lt;strong&gt;TV-Box&lt;/strong&gt; на базе &lt;strong&gt;Amlogic S905X3&lt;/strong&gt;, на котором я хочу запустить &lt;strong&gt;Linux&lt;/strong&gt; (без DE, в качестве микросервера). &lt;br/&gt;

Вот свежайшая версия: &lt;a href=&quot;https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/&quot; class=&quot;urlextern&quot; title=&quot;https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/&quot; rel=&quot;ugc nofollow&quot;&gt;https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/&lt;/a&gt; хотя написано, что S905X3 не поддерживается… &lt;br/&gt;

Вот тут люди обсуждают запуск armbian - &lt;a href=&quot;https://forum.armbian.com/topic/12348-armbian-for-amlogic-s905x3/&quot; class=&quot;urlextern&quot; title=&quot;https://forum.armbian.com/topic/12348-armbian-for-amlogic-s905x3/&quot; rel=&quot;ugc nofollow&quot;&gt;https://forum.armbian.com/topic/12348-armbian-for-amlogic-s905x3/&lt;/a&gt; &lt;br/&gt;

Вот сборка какого-то ядра: &lt;a href=&quot;https://github.com/superna9999/meta-meson&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/superna9999/meta-meson&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/superna9999/meta-meson&lt;/a&gt; &lt;br/&gt;

Вот тут проект ядра для всех чипов Amlogic Meson (куда входит и S905X3): &lt;a href=&quot;http://linux-meson.com/doku.php&quot; class=&quot;urlextern&quot; title=&quot;http://linux-meson.com/doku.php&quot; rel=&quot;ugc nofollow&quot;&gt;http://linux-meson.com/doku.php&lt;/a&gt; &lt;br/&gt;

Вот процедура установки Armbian на TV Box на базе Amlogic: &lt;a href=&quot;https://www.ondroid.net/armbian-os-installation/&quot; class=&quot;urlextern&quot; title=&quot;https://www.ondroid.net/armbian-os-installation/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.ondroid.net/armbian-os-installation/&lt;/a&gt; (вот что делать с файлами драйверов dtb: &lt;a href=&quot;https://www.ondroid.net/armbian-os-uenv-ini-and-extlinux-conf/&quot; class=&quot;urlextern&quot; title=&quot;https://www.ondroid.net/armbian-os-uenv-ini-and-extlinux-conf/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.ondroid.net/armbian-os-uenv-ini-and-extlinux-conf/&lt;/a&gt;) &lt;br/&gt;

Вот тут написано как можно извлечь файл дерева устройств (dtb) из текущей прошивки: &lt;a href=&quot;https://cnx-software.ru/2015/12/07/how-to-run-headless-linux-on-amlogic-s905-devices-such-as-mini-mx-or-k1-plus/&quot; class=&quot;urlextern&quot; title=&quot;https://cnx-software.ru/2015/12/07/how-to-run-headless-linux-on-amlogic-s905-devices-such-as-mini-mx-or-k1-plus/&quot; rel=&quot;ugc nofollow&quot;&gt;https://cnx-software.ru/2015/12/07/how-to-run-headless-linux-on-amlogic-s905-devices-such-as-mini-mx-or-k1-plus/&lt;/a&gt; &lt;br/&gt;

Если коробка не загружается сразу с карты, то нужно делать так: &lt;a href=&quot;https://www.ondroid.net/armbian-os-troubleshootingboot/&quot; class=&quot;urlextern&quot; title=&quot;https://www.ondroid.net/armbian-os-troubleshootingboot/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.ondroid.net/armbian-os-troubleshootingboot/&lt;/a&gt; &lt;br/&gt;

Раскирпичивание убитых коробок: &lt;a href=&quot;https://www.ondroid.net/armbian-os-bricked-device-recovery/&quot; class=&quot;urlextern&quot; title=&quot;https://www.ondroid.net/armbian-os-bricked-device-recovery/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.ondroid.net/armbian-os-bricked-device-recovery/&lt;/a&gt; &lt;br/&gt;

Бекап eMMC: &lt;a href=&quot;https://www.ondroid.net/armbian-os-backing-up-emmc-nand-via-cli/&quot; class=&quot;urlextern&quot; title=&quot;https://www.ondroid.net/armbian-os-backing-up-emmc-nand-via-cli/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.ondroid.net/armbian-os-backing-up-emmc-nand-via-cli/&lt;/a&gt; &lt;br/&gt;

О U-Boot. Сборка и прочее на примере banana pi : &lt;a href=&quot;https://m.habr.com/ru/post/264259/&quot; class=&quot;urlextern&quot; title=&quot;https://m.habr.com/ru/post/264259/&quot; rel=&quot;ugc nofollow&quot;&gt;https://m.habr.com/ru/post/264259/&lt;/a&gt; &lt;br/&gt;

U-Boot manual: &lt;a href=&quot;https://www.denx.de/wiki/DULG/Manual&quot; class=&quot;urlextern&quot; title=&quot;https://www.denx.de/wiki/DULG/Manual&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.denx.de/wiki/DULG/Manual&lt;/a&gt; &lt;br/&gt;

&lt;a href=&quot;http://www.denx.de/wiki/view/DULG/UBoot&quot; class=&quot;urlextern&quot; title=&quot;http://www.denx.de/wiki/view/DULG/UBoot&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.denx.de/wiki/view/DULG/UBoot&lt;/a&gt; &lt;br/&gt;

Создание Device Tree: &lt;a href=&quot;https://www.raspberrypi.org/documentation/configuration/device-tree.md&quot; class=&quot;urlextern&quot; title=&quot;https://www.raspberrypi.org/documentation/configuration/device-tree.md&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.raspberrypi.org/documentation/configuration/device-tree.md&lt;/a&gt; &lt;br/&gt;

Изменение объема памяти, резервируемого под gpu: &lt;a href=&quot;https://forum.armbian.com/topic/11203-fixed-changing-amlogic-gpu-ram-allocation-through-the-dtb&quot; class=&quot;urlextern&quot; title=&quot;https://forum.armbian.com/topic/11203-fixed-changing-amlogic-gpu-ram-allocation-through-the-dtb&quot; rel=&quot;ugc nofollow&quot;&gt;тема на форуме&lt;/a&gt;, а вот &lt;a href=&quot;https://forum.armbian.com/topic/11203-fixed-changing-amlogic-gpu-ram-allocation-through-the-dtb/?do=findComment&amp;amp;comment=84608&quot; class=&quot;urlextern&quot; title=&quot;https://forum.armbian.com/topic/11203-fixed-changing-amlogic-gpu-ram-allocation-through-the-dtb/?do=findComment&amp;amp;comment=84608&quot; rel=&quot;ugc nofollow&quot;&gt;а вот конкретный кусочек кода&lt;/a&gt;&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://hd-mediaplayers.ru/firmware-update-guide-tv-box-soc-amlogic/&quot; class=&quot;urlextern&quot; title=&quot;https://hd-mediaplayers.ru/firmware-update-guide-tv-box-soc-amlogic/&quot; rel=&quot;ugc nofollow&quot;&gt;Про прошивку амлоджиков разными тулзами&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e \u0447\u0435\u043c \u0442\u0443\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e_\u0447\u0435\u043c_\u0442\u0443\u0442_\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-2616&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;сборка_образа_armbian_для_tv-box_hk1&quot;&gt;Сборка образа Armbian для TV-Box HK1&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Склонируем репозиторий:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;git clone https://github.com/armbian/build.git&lt;/pre&gt;

&lt;p&gt;
Сама плата HK1 естественно не поддерживается дистрибутивом, но построена на поддерживаемой платформе &lt;strong&gt;Amlogic S905X3&lt;/strong&gt; (&lt;strong&gt;meson-sm1&lt;/strong&gt;). &lt;br/&gt;

Чип на моей платформе обозначается как &lt;strong&gt;meson-sm1&lt;/strong&gt;. Чтобы собрать образ под этот чип над найти наиболее похожую плату из списка имеющихся. Для этого в директории, куда скачали репозиторий &lt;strong&gt;armbian&lt;/strong&gt; выполняем:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;grep meson-sm1 ./config/boards/ -r&lt;/pre&gt;

&lt;p&gt;
На данный момент наиболее похоже на то что мне нужно выглядит файл &lt;strong&gt;odroidc4.conf&lt;/strong&gt;. &lt;br/&gt;

Собираю &lt;strong&gt;Ubuntu 22.04&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;./compile.sh docker BOARD=odroidc4 BRANCH=current RELEASE=jammy BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=no&lt;/pre&gt;

&lt;p&gt;
если при дефолтной ext4 возникают проблемы (как у меня), то можно собраться с f2fs в качестве рутовой системы:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;./compile.sh docker BOARD=odroidc4 BRANCH=current RELEASE=jammy BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=no ROOTFS_TYPE=f2fs FIXED_IMAGE_SIZE=32000&lt;/pre&gt;

&lt;p&gt;
На моем ноуте с процессором &lt;strong&gt;Ryzen 4800H&lt;/strong&gt; сборка в докере идет 47 минут (с учетом выкачивания всех зависимостей, канал 100Мбит/с), а после выкачивания зависимостей - 8 минут. &lt;br/&gt;

После того, как я подключился к консоли, дождался загрузки android&amp;#039;а, подключил флешку с файлом образа и выполнил:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dd if=/mnt/media_rw/8B32-FC48/Armbian_20.11.0-trunk_Odroidc4_focal_current_5.9.9_minimal.img of=/dev/block/mmcblk0 bs=1024k&lt;/pre&gt;

&lt;p&gt;
Бокс ожидаемо окрипичился :))) с таким сообщением (среди прочих):
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;All ddr config failed...&lt;/pre&gt;

&lt;p&gt;
Судя по всему это значит, что параметры инициализации памяти, которые есть в новом загрузчике не подошли к моей железке. Вот тут: &lt;a href=&quot;https://github.com/3F/aml_s905_uboot&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/3F/aml_s905_uboot&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/3F/aml_s905_uboot&lt;/a&gt; я нашел как можно их взять из старого загрузчика и добавить в новый. План был такой - с помощью &lt;strong&gt;Amlogic USB Burning Tool&lt;/strong&gt; я прошью старую прошивку, а дальше - выдеру старого бутлоадера параметры для инциализации памяти. НО это не понадобилось!! &lt;br/&gt;

Оказалось, кнопка &lt;strong&gt;Reset&lt;/strong&gt; на моей коробке не работает (она в разъеме 3,5мм) и воспользоваться &lt;strong&gt;Amlogic USB Burning Tool&lt;/strong&gt; я не смогу. После подключения коробки USB-шнурком A-A к ноуту и подаче питания при зажатой (предполагаемой) кнопкой &lt;strong&gt;Reset&lt;/strong&gt; в настольной системе новое USB-устройство не появлялось, а в консоли всё тот же &lt;strong&gt;boot loop&lt;/strong&gt;. &lt;br/&gt;

Я внимательно изучил печатную плату возле чипа флешки, а также на обратную исторону и увидел пару контактных площадок. &lt;br/&gt;

Терять было нечего - с помощью &lt;strong&gt;dd&lt;/strong&gt; я залил на SD-карту в самое начало карты старый &lt;strong&gt;bootloader&lt;/strong&gt; (слава богу я сохранил все разделы со старой прошивкой), вставил в коробку SD-карту, подал питание и замкнул контактные площадки на обратной от чипа флехи стороне платы отверткой. &lt;br/&gt;

Вместо таких сообщений в начале лога:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;...
Board ID = 1
Set cpu clk to 24M
Set clk81 to 24M
Use GP1_pll as DSU clk.
DSU clk: 1200 Mhz
CPU clk: 1200 MHz
Set clk81 to 166.6M
eMMC boot @ 0
sw8 s
DDR driver_vesion: LPDDR4_PHY_V_0_1_15 build time: Jun 18 2019 20:29:37
board id: 1
Load FIP HDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0
fw parse done
Load ddrfw from eMMC, src: 0x00060200, des: 0xfffd0000, size: 0x0000c000, part: 0
Load ddrfw from eMMC, src: 0x00038200, des: 0xfffd0000, size: 0x00004000, part: 0
...&lt;/pre&gt;

&lt;p&gt;
Я увидел такое:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;...
Board ID = 1
Set cpu clk to 24M
Set clk81 to 24M
Use GP1_pll as DSU clk.
DSU clk: 1200 Mhz
CPU clk: 1200 MHz
Set clk81 to 166.6M
DDR driver_vesion: LPDDR4_PHY_V_0_1_15 build time: Jun 18 2019 20:29:37
board id: 1
Load FIP HDR from SD, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0
fw parse done
Load ddrfw from SD, src: 0x00060200, des: 0xfffd0000, size: 0x0000c000, part: 0
Load ddrfw from SD, src: 0x00038200, des: 0xfffd0000, size: 0x00004000, part: 0
...&lt;/pre&gt;

&lt;p&gt;
Внезапно - она не нашла встроенный NAND-flash, но нашла опреативку, SD-карту и сначала загрузилась старым бутлоадером:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;...
U-Boot 2015.01 (Dec 14 2019 - 17:22:12)

DRAM:  3.8 GiB
Relocation Offset is: d6e50000
spi_post_bind(spifc): req_seq = 0
register usb cfg[0][1] = 00000000d7f3e528
NAND:  get_sys_clk_rate_mtd() 290, clock setting 200!
couldn`t found selected chip: 0 ready
NAND device id: 0 0 0 0 0 0 
No NAND device found!!!

...

card in
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 40000000
aml_sd_retry_refix[983]:delay = 0x0,gadjust =0x182000
[mmc_startup] mmc refix success
[mmc_init] mmc init success
Device: SDIO Port B
Manufacturer ID: 9f
OEM: 5449
Name:       
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 14.5 GiB
mmc clock: 40000000
Bus Width: 4-bit
** Unrecognized filesystem type **
Net:   dwmac.ff3f0000[KM]Error:f[keymanage_dts_parse]L307:not a fdt at 0x0000000001000000
MACADDR:02:00:00:16:1d:01(from chipid)

CONFIG_AVB2: null 
Start read misc partition datas!
Cannot find dev.
amlmmc cmd &amp;lt;NULL&amp;gt; failed&lt;/pre&gt;

&lt;p&gt;
Затем прошло что-то похожее на тестирование RAM, а потом - я увидел загрузку нового &lt;strong&gt;U-Boot&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;...

U-Boot 2020.04-armbian (Nov 21 2020 - 18:06:39 +0000) odroid-c4

Model: Hardkernel ODROID-C4
SoC:   Amlogic Meson SM1 (Unknown) Revision 2b:c (10:2)
DRAM:  3.8 GiB
MMC:   sd@ffe05000: 0, mmc@ffe07000: 1
In:    serial
Out:   serial
Err:   serial
Net:   
Warning: ethernet@ff3f0000 (eth0) using random MAC address - f6:fc:5c:62:17:95
eth0: ethernet@ff3f0000

...&lt;/pre&gt;

&lt;p&gt;
Эксперименты показали, что держать замкнутыми контакты нужно до момента появления строк:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cs0 DataBus test pass
cs0 AddrBus test pass&lt;/pre&gt;

&lt;p&gt;
А прд ними будет счетчик. &lt;br/&gt;

Затем - я извлек карту памяти и выключил-включил коробку - пошла загрузка с новым &lt;strong&gt;U-Boot&lt;/strong&gt; со встроенной флеш-памяти и далее при включении коробки (без карты памяти) стабильно запускался новый &lt;strong&gt;U-Boot&lt;/strong&gt; (что уже неплохо). &lt;br/&gt;

Дальше - я залил на карту пямяти собранный образ &lt;strong&gt;Armbian&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt; dd if=./output/images/Armbian_20.11.0-trunk_Odroidc4_focal_current_5.9.9_minimal.img of=/dev/sda bs=1M&lt;/pre&gt;

&lt;p&gt;
вставил карту в коробку и включил. Началась загрузка с карты памяти. Сначала мне показалось, что ядро пока не стартует я видел только сообщение:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Starting kernel ...&lt;/pre&gt;

&lt;p&gt;
и дальше пусто. В конфиге &lt;strong&gt;build/config/bootscripts/boot-odroid-c4.ini&lt;/strong&gt; указано устройство консоли &lt;strong&gt;ttyS0&lt;/strong&gt;, а должно быть наверное ttyAML0
Но, судя по тому что моргание светодиодов у коробки  стало другим было похоже, что что-то там загружалось и через некоторое время увидел вот такое:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Starting kernel ...


odroidc4 login: root (automatic login)

  ___      _           _     _    ____ _  _   
 / _ \  __| |_ __ ___ (_) __| |  / ___| || |  
| | | |/ _` | &amp;#039;__/ _ \| |/ _` | | |   | || |_ 
| |_| | (_| | | | (_) | | (_| | | |___|__   _|
 \___/ \__,_|_|  \___/|_|\__,_|  \____|  |_|  
                                              
Welcome to Armbian 20.11.0-trunk Focal with Linux 5.9.9-meson64

No end-user support: built from trunk

System load:   3%               Up time:       0 min
Memory usage:  3% of 3.67G      IP:            
CPU temp:      33�°C            Usage of /:    1% of 114G&lt;/pre&gt;

&lt;p&gt;
и дальше - приглашение ввести новый пароль!! Система смогла нормально загрузиться с SD-карты!!!!!! Потом я выключил бокс, вытащил карту и система уже нормально загрузилась с внутреннего накопителя. Armbian сам себя установил. А отсутствие сообщений при загрузке ядра - это сокрее всего некорректные параметры запуска ядра. &lt;br/&gt;

К сожалению, в системе оказался не виден беспроводной модуль (наверное загружается не подходящий dtb). &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0431\u043e\u0440\u043a\u0430 \u043e\u0431\u0440\u0430\u0437\u0430 Armbian \u0434\u043b\u044f TV-Box HK1&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0431\u043e\u0440\u043a\u0430_\u043e\u0431\u0440\u0430\u0437\u0430_armbian_\u0434\u043b\u044f_tv-box_hk1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;2617-12785&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;как_прошить_armbian_на_hk1box&quot;&gt;Как прошить Armbian на HK1BOX&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
В итоге порядок установки &lt;strong&gt;Armbian&lt;/strong&gt; на &lt;strong&gt;HK1BOX&lt;/strong&gt; вышел такой:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Подключился к консоли коробки, загрузил андроид и забекапил образы встроенной флехи целиком и разделов поотдельности. Нужен будет раздел &lt;strong&gt;bootloader&lt;/strong&gt;.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Собрал образ и скопировал файл образа (именно как файл) на SD-карту. 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Загрузился в дефолтный андроид, вставил SD-карту и залил файл образа с помощью dd на встроенную флешку.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Вытащил SD-карту и перезагрузил коробку - она загрузилась с новым U-Boot и ушла в &lt;strong&gt;boot loop&lt;/strong&gt; с ошибками инициализации памяти.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Залил на SD-карту с помощью &lt;strong&gt;dd&lt;/strong&gt; старый &lt;strong&gt;U-Boot bootloader&lt;/strong&gt;, вставил карту в коробку и замкнул контактики под встроенной флешкой. Система стартанула с SD-карты со старым &lt;strong&gt;U-Boot&lt;/strong&gt; и прописала во встроенную флеху (на которой уже новый U-Boot) параметры для инициализации памяти. Теперь система нормально стартует с новым U-Boot со встроенной флешки и способна загрузиться.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Готово
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Чтобы заработал Wi-Fi обращаем внимание &lt;a href=&quot;https://wiki.autosys.tk/android/boot_linux_on_amlogic_tv_box#fdt_%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD_%D0%B2_u-boot&quot; class=&quot;urlextern&quot; title=&quot;https://wiki.autosys.tk/android/boot_linux_on_amlogic_tv_box#fdt_%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD_%D0%B2_u-boot&quot; rel=&quot;ugc nofollow&quot;&gt;сюда&lt;/a&gt; 
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;
Немного осмелев и поняв, что убить коробку совсем не так уж просто я залил всю внутреннюю флеху нулями и повторил установку. Всё заработало.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u0430\u043a \u043f\u0440\u043e\u0448\u0438\u0442\u044c Armbian \u043d\u0430 HK1BOX&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u0430\u043a_\u043f\u0440\u043e\u0448\u0438\u0442\u044c_armbian_\u043d\u0430_hk1box&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;12786-14863&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;обновление_armbian&quot;&gt;Обновление Armbian&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Тут описан НЕУДАЧНЫЙ опыт. Он привел к бутлупу, необходимости заливать образ через dd и замыкать тест-поинты на плате. &lt;br/&gt;

&lt;br/&gt;

При попытке обновить штатными средствами Ubuntu с groovy до jammy я столкнулся с тем, что скрипты обновления отказываются обновлять уже неподдерживаеймый релиз (groovy). &lt;br/&gt;

Выход - пересобрать jammy и перезалить его. &lt;br/&gt;

Но я решил попытаться просто заменить файлики на файловой системе. &lt;br/&gt;

Итак:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Заливаем с помощью dd на флешку новый Armbian
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Загружаем коробку (там старый Ubuntu groovy)
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class=&quot;code&quot;&gt;mount /dev/sda1 /mnt/USB/
cd /mnt/USB/
mount --bind /sys ./sys
mount --bind /dev ./dev
mount --bind /proc ./proc
swapoff -a
chroot /mnt/USB/ /bin/bash&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Монтируем старый корневой раздел, удаляем старые файлы и копируем новые:
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class=&quot;code&quot;&gt;mkdir /mnt/newroot
mount /dev/mmcblk0p1 /mnt/newroot/
rm -Rf /mnt/newroot/*
rsync -avHAXS --exclude={&amp;quot;/dev/*&amp;quot;,&amp;quot;/proc/*&amp;quot;,&amp;quot;/sys/*&amp;quot;,&amp;quot;/tmp/*&amp;quot;,&amp;quot;/run/*&amp;quot;,&amp;quot;/mnt/*&amp;quot;,&amp;quot;/media/*&amp;quot;,&amp;quot;/lost+found&amp;quot;} /* /mnt/newroot/&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Теперь назачим рутом новый рут и обнлвим initamfs:
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class=&quot;code&quot;&gt;mount --bind /sys /mnt/newroot/sys
mount --bind /proc /mnt/newroot/proc
mount --bind /dev /mnt/newroot/dev
chroot /mnt/newroot/ /bin/bash
update-initramfs -u
sync&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 ребутнемся &lt;pre class=&quot;code&quot;&gt;echo 1 &amp;gt; /proc/sys/kernel/sysrq &amp;amp;&amp;amp; echo b &amp;gt; /proc/sysrq-trigger&lt;/pre&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;
В результате проделанных манипуляций - система отказалась грузиться со встроенной флехи (/dev/mmbblk1p1), но нормально грузится с USB-флешки. Загрузчик мы не меняли, но судя по строке в консоли:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Mainline bootargs: root=UUID=75e1723f-a20e-4cdd-afa0-ab27ff00c162 rootwait rootfstype=ext4 console=ttyAML0,115200 ...&lt;/pre&gt;

&lt;p&gt;
где &lt;strong&gt;root=UUID=75e1723f-a20e-4cdd-afa0-ab27ff00c162&lt;/strong&gt; - это как раз &lt;strong&gt;UUID&lt;/strong&gt; раздела на внешней флешке, а этот &lt;strong&gt;UUID&lt;/strong&gt; прописан в &lt;strong&gt;/boot/armbianEnv.txt&lt;/strong&gt;. То есть наверное нужно было проверить соответствет ли то что прописано в &lt;strong&gt;/boot/armbianEnv.txt&lt;/strong&gt; тому что выдаст &lt;strong&gt;blkid&lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 Armbian&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435_armbian&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;14864-17535&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;проблемы&quot;&gt;Проблемы&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;17536-17564&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;не_загружается_при_отсоединенной_последовательной_консоли&quot;&gt;не загружается при отсоединенной последовательной консоли&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;strong&gt;U-Boot&lt;/strong&gt; не загружает систему, если отключена консоль (кабель физически не подключен). &lt;br/&gt;

При подключении кабеля &lt;strong&gt;rs-232&lt;/strong&gt; в момент “зависания” там видно приглашение консоли &lt;strong&gt;U-Boot&lt;/strong&gt;. Всё выглядит так, как если бы загрузка прервалась по нажатию клавиши. &lt;br/&gt;

При нажатии &lt;strong&gt;Enter&lt;/strong&gt; в консоли &lt;strong&gt;U-Boot&lt;/strong&gt; должна выполниться последняя команда, но там в последней команде обычно бывал какой-то мусор, причем довольно часто разный. &lt;br/&gt;

Я сделал вывод, что скорее всего консоль не притянута к +3.3 и “шумит” - то есть самопроизвольно льет всякий мусор в &lt;strong&gt;RX&lt;/strong&gt;. Выход - в коробке между выводом &lt;strong&gt;V&lt;/strong&gt; (3.3V) и &lt;strong&gt;RX&lt;/strong&gt; припаять резистор 47-100кОм.  &lt;br/&gt;

И это помогло. Теперь всё нормально загружается. &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043e\u0442\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0435_\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f_\u043f\u0440\u0438_\u043e\u0442\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u043d\u043e\u0439_\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439_\u043a\u043e\u043d\u0441\u043e\u043b\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;17565-18858&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;не_смог_загрузить_образ&quot;&gt;Не смог загрузить образ&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Не смог загрузить образ, собранный вот так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;./compile.sh docker BOARD=odroidc4 BRANCH=current RELEASE=groovy BUILD_MINIMAL=no BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=no &lt;/pre&gt;

&lt;p&gt;
Хотя вот такой вариант грузился норм:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;./compile.sh docker BOARD=odroidc4 BRANCH=current RELEASE=focal BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=no&lt;/pre&gt;

&lt;p&gt;
Хотя имеет проблемы с работой &lt;strong&gt;systemd&lt;/strong&gt; и других программ. Веротяно - дело в версии &lt;strong&gt;glibc&lt;/strong&gt; или других библиотек. 
В итоге сейчас нормально заработал такой:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;./compile.sh docker BOARD=odroidc4 BRANCH=current RELEASE=groovy BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=no&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0435 \u0441\u043c\u043e\u0433 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043e\u0431\u0440\u0430\u0437&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0435_\u0441\u043c\u043e\u0433_\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c_\u043e\u0431\u0440\u0430\u0437&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;18859-19746&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;загрузка_с_sd-карты_для_переустановки_системы&quot;&gt;Загрузка с sd-карты для переустановки системы&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
В скриптах загрузки &lt;strong&gt;U-Boot&lt;/strong&gt; из &lt;strong&gt;Armbian&lt;/strong&gt; обнаружил, что можно переключать загрузочные устройства - практически как в BIOS ПК. &lt;br/&gt;

Для того, чтобы стартануть с SD-карты нужно в консоли &lt;strong&gt;U-Boot&lt;/strong&gt; выполнить:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mmc rescan
mmc dev 0 
mmc info&lt;/pre&gt;

&lt;p&gt;
Убедиться, что под номером 0 видна SD-карта. И затем загрузиться с нее:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;run bootcmd_mmc0&lt;/pre&gt;

&lt;p&gt;
Предполагается, что на SD-карте будет образ, совместимый с текущими скриптами &lt;strong&gt;U-Boot&lt;/strong&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441 sd-\u043a\u0430\u0440\u0442\u044b \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430_\u0441_sd-\u043a\u0430\u0440\u0442\u044b_\u0434\u043b\u044f_\u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438_\u0441\u0438\u0441\u0442\u0435\u043c\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;19747-20519&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;fdt_задан_в_u-boot&quot;&gt;fdt задан в U-Boot&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
После загрузки не заработал Wi-Fi. В логах видно, что загружается дефолтный файлик &lt;strong&gt;dtb&lt;/strong&gt; - &lt;strong&gt;meson-sm1-khadas-vim3l.dtb&lt;/strong&gt;, в котором, видимо, нет поддержки моего WiFi-адаптера &lt;strong&gt;HK5235F&lt;/strong&gt;, однако эта поддержка точно есть в &lt;strong&gt;dtb&lt;/strong&gt; для &lt;strong&gt;odroidc4&lt;/strong&gt;. Судя по скриптам Armbian, этот файл можно переназначить, но у меня не вышло. &lt;br/&gt;

В параметрах U-Boot жестко приписан путь к dtb
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;fdtfile=amlogic/meson-sm1-odroid-c4.dtb&lt;/pre&gt;

&lt;p&gt;
И на девайссе HK1BOX с этим &lt;strong&gt;dtb&lt;/strong&gt; не заработал &lt;strong&gt;Wi-Fi&lt;/strong&gt;. Я просто скопировал под этим именем dtb, с которым все работает, перезагрузился и Wi-Fi появился:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mv /boot/dtb/amlogic/meson-sm1-odroid-c4.dtb  /boot/dtb/amlogic/meson-sm1-odroid-c4.dtb_bak
cp /boot/dtb/amlogic/meson-sm1-khadas-vim3l.dtb /boot/dtb/amlogic/meson-sm1-odroid-c4.dtb
reboot&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;fdt \u0437\u0430\u0434\u0430\u043d \u0432 U-Boot&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fdt_\u0437\u0430\u0434\u0430\u043d_\u0432_u-boot&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;20520-21645&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;попытка_загрузиться_с_альтернативным_dtb&quot;&gt;попытка загрузиться с альтернативным dtb&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Я скопировал хороший dtb (с которым все работает) и попытался подложить dtb, который извлек из прошивки.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mv /boot/dtb/amlogic/meson-sm1-odroid-c4.dtb /boot/dtb/amlogic/meson-sm1-odroid-c4.dtb_good
cp /home/mike/hk1.dtb /boot/dtb/amlogic/meson-sm1-odroid-c4.dtb &lt;/pre&gt;

&lt;p&gt;
В итоге - ядро грузиться отказалось. Чтобы исправить ситуацию - при загрузке жмем любую клавишу, чтобы попасть в shell U-Boot и дальше:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 переключаемся на загрузочную партицию:&lt;pre class=&quot;code&quot;&gt;mmc dev 1
mmc info
mmc part
mmc part 1&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 задаем значение переменной, чтобы использовать нормальный &lt;strong&gt;dtb&lt;/strong&gt; и грузимся:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;env set fdtfile amlogic/meson-sm1-odroid-c4.dtb_good
boot&lt;/pre&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c\u0441\u044f \u0441 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u043c dtb&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u043f\u044b\u0442\u043a\u0430_\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c\u0441\u044f_\u0441_\u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u043c_dtb&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;21646-22649&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;раскирпичивание&quot;&gt;Раскирпичивание&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Специально ради эксперимента я залил нулями весь внутренний флеш. &lt;br/&gt;

Восстановить коробку удалось так:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Заливаем на SD-карту старый бутлоадер. В самое начало. Это 4 Мб (8192 секторов).
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Вставляем карту и включаем коробку - она будет пытаться загрузиться со встроенного флеша, но не сможет. На ходу замыкаю контакты под встроенным флешем - он отключается и начинается загрузка U-Boot. Жму пробелы, чтобы попасть в консоль &lt;strong&gt;U-Boot&lt;/strong&gt;.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Когда загружен оригинальный &lt;strong&gt;U-boot&lt;/strong&gt; можно извлечь SD-карту и залить на нее универсальный образ для &lt;strong&gt;Arm64&lt;/strong&gt;, в котором ядро лежит на &lt;strong&gt;FAT&lt;/strong&gt;, так как родной бутлоадер может грузить ядро с &lt;strong&gt;FAT&lt;/strong&gt;. Образ берем, например, отсюда - &lt;a href=&quot;https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/&quot; class=&quot;urlextern&quot; title=&quot;https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/&quot; rel=&quot;ugc nofollow&quot;&gt;https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/&lt;/a&gt;.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 После того, как залит универсальный образ для &lt;strong&gt;Arm64&lt;/strong&gt;, нужно отредактировать его параметры загрузки в файлике &lt;strong&gt;uEnv.txt&lt;/strong&gt; в корне первого &lt;strong&gt;BOOT&lt;/strong&gt;-раздела. Если файлика &lt;strong&gt;uEnv.txt&lt;/strong&gt; нет, то нужно его создать руками. В моем случае они должны быть такие:&lt;pre class=&quot;code&quot;&gt;LINUX=/zImage
INITRD=/uInitrd
# aml s9xxx
FDT=/dtb/amlogic/meson-sm1-khadas-vim3l.dtb
APPEND=root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0&lt;/pre&gt;

&lt;p&gt;
 Файл &lt;strong&gt;/dtb/amlogic/meson-sm1-khadas-vim3l.dtb&lt;/strong&gt; может отсустствовать, или для вашей системы может быть другим - надо подбирать. Я нашел этот файлик в образе, собранном для &lt;strong&gt;odroidc4&lt;/strong&gt;. Но, наверное, можно и взять тот, который был в составе прошивки Android.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Вставляем SD-карту в коробку и в консоли выполняем шаги, необходимые для загрузки системы (задаем смещения по которым будут загружены ядро, initrd и файл fdt, загружаем их и стартуем ядро):
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# Обновляем список mmc девайсов.
mmc rescan

#Смотрим какие девайсы есть у нас
mmc list

# Выбираем первое устройство (обычно это устройство, с которого загрузился U-Boot)
mmc dev 0

# Убеждаемся что выбранное устройство - это карта памяти
mmc info

#Смотрим список разделов.
mmc part

# Загружаем систему
setenv fdt_addr_r 0x1000000
setenv env_addr 0x10400000
setenv kernel_addr_r 0x11000000
setenv ramdisk_addr_r 0x13000000

fatload mmc 0 ${env_addr} uEnv.txt
env import -t ${env_addr} ${filesize};
setenv bootargs ${APPEND};
fatload mmc 0 ${kernel_addr_r} ${LINUX}
fatload mmc 0 ${ramdisk_addr_r} ${INITRD};
fatload mmc 0 ${fdt_addr_r} ${FDT}
fdt addr ${fdt_addr_r}
booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r};&lt;/pre&gt;

&lt;p&gt;
 То есть фактически грузим систему с SD-карты.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Дальше я просто брал USB-флеху (нормальную отформатированную), копировал на нее файл img с образом только что собранной системы и заливал этот образ (вернее можно залить первые 4Мб, в которых лежит  U-Boot) на внутренний флеш.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Теперь уже занакомая ситуация. На внутреннем флеше есть новый U-Boot, но он не может инициализировать DDR-память. Я заливаю свежесобранный образ снова на SD-карту и следом заливаю на него U-Boot на стоковый.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Вставляю карту, стартую коробку - она уходит в  bootloop, замыкаю флеш - она грузится с SD-карты, инициализирует память, настройки DDR попадают на внутренний флеш и загружается новый Armbian с SD-карты. Новый Armbian сам заливает себя на внутренний флеш.
&lt;/p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0430\u0441\u043a\u0438\u0440\u043f\u0438\u0447\u0438\u0432\u0430\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0430\u0441\u043a\u0438\u0440\u043f\u0438\u0447\u0438\u0432\u0430\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;22650-27609&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit12&quot; id=&quot;неактуальное&quot;&gt;НЕАКТУАЛЬНОЕ&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Всё что написано ниже - заметки о моих первых попытках что-то залить в TV-Box HK1. Оно не очень уже актуально, но может кому-то поможет.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0415\u0410\u041a\u0422\u0423\u0410\u041b\u042c\u041d\u041e\u0415&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0435\u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:13,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;27610-27884&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit13&quot; id=&quot;как_загружаться&quot;&gt;Как загружаться&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Скачиваем отсюда: &lt;a href=&quot;https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/&quot; class=&quot;urlextern&quot; title=&quot;https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/&quot; rel=&quot;ugc nofollow&quot;&gt;https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/&lt;/a&gt; &lt;br/&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Заливаем на sd-карту с помощью dd.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 На компе монтируем раздел первый (boot).
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Открываем файлик &lt;strong&gt;uEnv.txt&lt;/strong&gt;. В нем по-дефолту незакомментирвоаны строки &lt;strong&gt;rk-3399&lt;/strong&gt; - комментируем их и раскомментируем строки &lt;strong&gt;aml s9xxx&lt;/strong&gt;. &lt;strong&gt;APPEND&lt;/strong&gt; - оставляем как есть, а &lt;strong&gt;FDT&lt;/strong&gt; - прописываем &lt;pre class=&quot;code&quot;&gt;FDT=/dtb/amlogic/meson-sm1-khadas-vim3l.dtb&lt;/pre&gt;

&lt;p&gt;
В итоге файлик получается такой (если убрать все закоментированные строки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;LINUX=/zImage
INITRD=/uInitrd

FDT=/dtb/amlogic/meson-sm1-khadas-vim3l.dtb
APPEND=root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Подключаем отладочную консоль. Запускаем железку и в моменты загрузки - жмем пробелыыыы - консоль выдаст приглашение для ввода команд &lt;strong&gt;uBoot&lt;/strong&gt;. ЗАгружемся с SD командой
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;run recovery_from_sdcard;&lt;/pre&gt;

&lt;p&gt;
 На самом деле это скрипт. Фактически, если отбрсить всякие if-then он делает следующее:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mmc rescan

setenv fdt_addr_r 0x1000000
setenv env_addr 0x10400000
setenv kernel_addr_r 0x11000000
setenv ramdisk_addr_r 0x13000000

fatload mmc 0 ${env_addr} uEnv.txt
env import -t ${env_addr} ${filesize};
setenv bootargs ${APPEND};
fatload mmc 0 ${kernel_addr_r} ${LINUX}
fatload mmc 0 ${ramdisk_addr_r} ${INITRD};
fatload mmc 0 ${fdt_addr_r} ${FDT}
fdt addr ${fdt_addr_r}
booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r};&lt;/pre&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;
разобратьэто все, можно если выполнить команду
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;printenv&lt;/pre&gt;

&lt;p&gt;
 и начать копать. &lt;br/&gt;

Загрузка начинается с выпонения того, что написано в &lt;strong&gt;bootcmd&lt;/strong&gt;. Чтобы &lt;strong&gt;printenv&lt;/strong&gt; выводил длинные строки целиком необходимо в терминале включить &lt;strong&gt;wrapping&lt;/strong&gt; в minicom это можно сделать нажав &lt;strong&gt;Ctrl-A&lt;/strong&gt;, затем &lt;strong&gt;Z&lt;/strong&gt; и затем &lt;strong&gt;W&lt;/strong&gt;.&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u0430\u043a \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u0430\u043a_\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:13,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;27885-30413&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;dtb&quot;&gt;dtb&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Нормально подошел &lt;strong&gt;meson-sm1-khadas-vim3l.dtb&lt;/strong&gt; с образа &lt;strong&gt;Armbian_19.11.5_Arm-64_eoan_current_5.5.0-rc6_20200127.img&lt;/strong&gt; &lt;br/&gt;

А вот результаты тестирования некоторых других &lt;strong&gt;dtb&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;meson-g12b-a311d-khadas-vim3.dtb - 3288MB, сеть есть, ВИДЕН mmcblk2 (Disk /dev/mmcblk2: 116.49 GiB).
meson-g12b-s922x-khadas-vim3.dtb - 3288MB, сеть есть, виден mmcblk2 (Disk /dev/mmcblk2: 116.49 GiB)
meson-sm1-khadas-vim3l.dtb 3288MB, сеть есть, виден mmcblk2 (Disk /dev/mmcblk2: 116.49 GiB)
meson-g12b-odroid-n2.dtb - сеть только провод, ВИДЕН mmcblk0 (Disk /dev/mmcblk0: 116.49 GiB)
meson-g12a-u200.dtb - 3288MB, сети нет вообще. Видны mmcblk0 (SD-карта) и mmcblk1 (Disk /dev/mmcblk1: 116.49 GiB)
meson-g12a-gt1-mini-a.dtb - 3256MB, сеть есть, не виден внутренний флеш
meson-g12a-sei510.dtb - 3256, сеть есть только WiFi, ВИДЕН mmcblk2, но не видно разделов на нем
meson-g12a-x96-max-rmii.dtb - 3288MB, сеть есть только WiFi, не виден внутренний флеш
meson-g12a-x96-max.dtb - 3256MB, сеть есть, не виден внутренний флеш
meson-g12b-gtking.dtb - 3288MB, сеть есть, не виден внутренний флеш
meson-g12b-ugoos-am6.dtb - 3288MB, сеть есть, не виден внутренний флеш&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;LINUX=/zImage
INITRD=/uInitrd
FDT=/dtb.img
APPEND=root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0&lt;/pre&gt;

&lt;p&gt;
Чтобы после установки на emmc логи systemd сыпались в консоль нужно дописать в строку запуска ядра в файлике &lt;strong&gt;/boot/uEnv.txt&lt;/strong&gt; параметр &lt;strong&gt;systemd.log_target=console&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;APPEND=root=LABEL=ROOT_EMMC rootflags=data=writeback rw console=ttyAML0,115200n8 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 systemd.log_target=console&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;systemctl disable serial-getty@ttyS2.service&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;dtb&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dtb&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:18,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;30414-32654&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit15&quot; id=&quot;hk1_box&quot;&gt;HK1 Box&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Отказалась загружаться с образа &lt;strong&gt;Armbian_19.11.3_Aml-g12_eoan_legacy_5.3.0_20191126.img&lt;/strong&gt; как с &lt;strong&gt;SD&lt;/strong&gt;-карты, так и с двух портов &lt;strong&gt;USB&lt;/strong&gt;. Это значит, что для того, чтобы загрузить ее с внешнего носителя нужно изменить настройки загрузчика &lt;strong&gt;U-Boot&lt;/strong&gt;. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Поэтому - следуем &lt;a href=&quot;https://www.ondroid.net/armbian-os-troubleshootingboot/&quot; class=&quot;urlextern&quot; title=&quot;https://www.ondroid.net/armbian-os-troubleshootingboot/&quot; rel=&quot;ugc nofollow&quot;&gt; мануалам armbian&lt;/a&gt;. Вставляю карточку с &lt;strong&gt;armbian&lt;/strong&gt;, загружаюсь в &lt;strong&gt;Android&lt;/strong&gt; , иду в &lt;strong&gt;Apps&lt;/strong&gt;, нахожу там &lt;strong&gt;Update&lt;/strong&gt;, кликаю &lt;strong&gt;UpdateLocale&lt;/strong&gt; - &lt;strong&gt;Select&lt;/strong&gt;, выбираю &lt;strong&gt;BOOT/aml_autoscript.zip&lt;/strong&gt;, и кликаю &lt;strong&gt;Update&lt;/strong&gt;. Система перезагружается и я вижу меню &lt;strong&gt;bootloader&lt;/strong&gt;&amp;#039;а и ошибку:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Error!
Supported API: 3
charge_status 2, charged 1, status: SUCCESS, capacity 100
Finding update package...
Opening update package...
Verifying update package...
E:footer is wrong
Update package verification took 0.0 s (result 1).
E:signature verification failed
E:error: 21
Installation Aborted.&lt;/pre&gt;

&lt;p&gt;
Этот скрипт должен был скорректировать параметры загрузки &lt;strong&gt;U-Boot&lt;/strong&gt; и позволить загрузиться с &lt;strong&gt;sd&lt;/strong&gt;-карты, однако, судя по всему, установка неподписанных обновлений запрещена, поэтому нужно подключиться к консоли. &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;HK1 Box&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hk1_box&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:18,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;32655-34249&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit16&quot; id=&quot;подключение_к_отладочной_консоли_rs-232&quot;&gt;Подключение к отладочной консоли RS-232&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
На плате оказались “пятачки” с обозначениями &amp;#039;&lt;strong&gt;V R T G&lt;/strong&gt;&amp;#039; - видимо консоль. Я откопал старинный провод &lt;strong&gt;USB-COM&lt;/strong&gt; на базе &lt;strong&gt;pl2303&lt;/strong&gt;, с помощью которого я когда-то подключал &lt;strong&gt;Siemens ME45&lt;/strong&gt; к компу для выхода в интернет, припаял к плате &lt;strong&gt;TV-Box&lt;/strong&gt;&amp;#039;а три проводочка - &lt;strong&gt;G&lt;/strong&gt; (земля), &lt;strong&gt;R&lt;/strong&gt; и &lt;strong&gt;T&lt;/strong&gt; (прием и передача) и запустил &lt;strong&gt;minicom&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo apt-get install -y minicom
sudo minicom -b 115200 -D /dev/ttyUSB0&lt;/pre&gt;

&lt;p&gt;
При включении &lt;strong&gt;TV-Box&lt;/strong&gt;&amp;#039;а в консоли &lt;strong&gt;minicom&lt;/strong&gt; побежали сообщения.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;system cmd  1.
SM1:BL:511f6b:81ca2f;FEAT:A0F83180:20282000;POC:F;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
bl2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0001 - pwm id 0x00
bl2_stage_init 0xc0
bl2_stage_init 0x02

L0:00000000
L1:00000703
L2:00008067
L3:15000020
S1:00000000
B2:20282000
B1:a0f83180

TE: 163073

BL2 Built : 20:29:41, Jun 18 2019. g12a ga659aac - luan.yuan@droid15-sz

Board ID = 1
Set cpu clk to 24M
Set clk81 to 24M
Use GP1_pll as DSU clk.
DSU clk: 1200 Mhz
CPU clk: 1200 MHz
Set clk81 to 166.6M
eMMC boot @ 0
sw8 s
DDR driver_vesion: LPDDR4_PHY_V_0_1_15 build time: Jun 18 2019 20:29:37
board id: 1
Load FIP HDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0
fw parse done
Load ddrfw from eMMC, src: 0x00060200, des: 0xfffd0000, size: 0x0000c000, part: 0
Load ddrfw from eMMC, src: 0x00038200, des: 0xfffd0000, size: 0x00004000, part: 0
PIEI prepare done
fastboot data load
00000000
emmc switch 1 ok
ddr saved addr:00016000
Load ddr parameter from eMMC, src: 0x02c00000, des: 0xfffd0000, size: 0x00001000, part: 0
00000000
emmc switch 0 ok
fastboot data verify
verify result: 0
enable_fast_boot
dmc_margin_rx==12 dmc_margin_tx==12 steps
DDR3 probe
ddr clk to 672MHz
Load ddrfw from eMMC, src: 0x0002c200, des: 0xfffd0000, size: 0x0000c000, part: 0

dmc_version 0001
Check phy result
INFO : End of initialization
INFO : Training has run successfully!
aml_ddr_fw_vesion: LPDDR4_PHY_V_0_1_15 build time: Jun 18 2019 20:29:43
DDR cs0 size: 3928MB
DDR cs1 size: 0MB
DMC_DDR_CTRL: 0000002dDDR size: 3928MB
cs0 DataBus test pass
cs0 AddrBus test pass

non-sec scramble use zero key
ddr scramble enabled

100bdlr_step_size ps== 483
result report
boot times 2Enable ddr reg access
00000000
emmc switch 3 ok
BL2: rpmb counter: 0x00002374
00000000
emmc switch 0 ok
Load FIP HDR from eMMC, src: 0x00010200, des: 0x01700000, size: 0x00004000, part: 0
Load BL3X from eMMC, src: 0x00078200, des: 0x01768000, size: 0x000d0000, part: 0
bl2z: ptr: 05129330, size: 00001e40
0.0;M3 CHK:0;cm4_sp_mode 0
MVN_1=0x00000000
MVN_2=0x00000000
[Image: g12a_v1.1.3389-92241b5 2019-07-02 17:22:49 luan.yuan@droid15-sz]
OPS=0x10
ring efuse init
2b 0c 10 00 01 1d 16 00 00 0c 35 30 43 57 50 50 
[0.679256 Inits done]
secure task start!
high task start!
low task start!
run into bl31
NOTICE:  BL31: v1.3(release):4fc40b1
NOTICE:  BL31: Built : 15:57:33, May 22 2019
NOTICE:  BL31: G12A normal boot!
NOTICE:  BL31: BL33 decompress pass
ERROR:   Error initializing runtime service opteed_fast


U-Boot 2015.01 (Dec 14 2019 - 17:22:12)

DRAM:  3.8 GiB
Relocation Offset is: d6e50000
spi_post_bind(spifc): req_seq = 0
register usb cfg[0][1] = 00000000d7f3e528
NAND:  get_sys_clk_rate_mtd() 290, clock setting 200!
NAND device id: 0 ff ff ff ff ff 
No NAND device found!!!
nand init failed: -6
get_sys_clk_rate_mtd() 290, clock setting 200!
NAND device id: 0 ff ff ff ff ff 
No NAND device found!!!
nand init failed: -6
MMC:   aml_priv-&amp;gt;desc_buf = 0x00000000d3e40a70
aml_priv-&amp;gt;desc_buf = 0x00000000d3e42db0
SDIO Port B: 0, SDIO Port C: 1
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
emmc/sd response timeout, cmd8, status=0x1ff2800
emmc/sd response timeout, cmd55, status=0x1ff2800
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 40000000
aml_sd_retry_refix[983]:delay = 0x0,gadjust =0x162000
[mmc_startup] mmc refix success
init_part() 297: PART_TYPE_AML
[mmc_init] mmc init success
      Amlogic multi-dtb tool
      Single dtb detected
start dts,buffer=00000000d3e45620,dt_addr=00000000d3e45620
get_partition_from_dts() 91: ret 0
      Amlogic multi-dtb tool
      Single dtb detected
parts: 17
00:      logo   0000000000800000 1
01:  recovery   0000000001800000 1
02:      misc   0000000000800000 1
03:      dtbo   0000000000800000 1
04:  cri_data   0000000000800000 2
05:     param   0000000001000000 2
06:      boot   0000000001000000 1
set has_boot_slot = 0
07:       rsv   0000000001000000 1
08:  metadata   0000000001000000 1
09:    vbmeta   0000000000200000 1
10:       tee   0000000002000000 1
11:    vendor   0000000014000000 1
12:       odm   0000000008000000 1
13:    system   0000000074000000 1
14:   product   0000000008000000 1
15:     cache   0000000046000000 2
16:      data   ffffffffffffffff 4
init_part() 297: PART_TYPE_AML
eMMC/TSD partition table have been checked OK!
crc32_s:0x1577dad == storage crc_pattern:0x1577dad!!!
crc32_s:0xee152b83 == storage crc_pattern:0xee152b83!!!
crc32_s:0x79f50f07 == storage crc_pattern:0x79f50f07!!!
mmc env offset: 0x4d400000 
In:    serial
Out:   serial
Err:   serial
reboot_mode=normal
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
_verify_dtb_checksum()-3406: calc 5d3b67d1, store 5d3b67d1
_verify_dtb_checksum()-3406: calc 5d3b67d1, store 5d3b67d1
dtb_read()-3623: total valid 2
update_old_dtb()-3604: do nothing
      Amlogic multi-dtb tool
      Single dtb detected
amlkey_init() enter!
[EFUSE_MSG]keynum is 4
vpu: clk_level in dts: 7
vpu: vpu_power_on
vpu: set clk: 666667000Hz, readback: 666666667Hz(0x100)
vpu: vpu_module_init_config
vpp: vpp_init
vpp: vpp osd2 matrix rgb2yuv..............
cvbs: cpuid:0x2b
Net:   dwmac.ff3f0000amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4

CONFIG_AVB2: null 
Start read misc partition datas!
info-&amp;gt;magic = 
info-&amp;gt;version_major = 1
info-&amp;gt;version_minor = 0
info-&amp;gt;slots[0].priority = 15
info-&amp;gt;slots[0].tries_remaining = 7
info-&amp;gt;slots[0].successful_boot = 0
info-&amp;gt;slots[1].priority = 14
info-&amp;gt;slots[1].tries_remaining = 7
info-&amp;gt;slots[1].successful_boot = 0
info-&amp;gt;crc32 = -1075449479
active slot = 0
wipe_data=successful
wipe_cache=successful
upgrade_step=2
reboot_mode:::: normal
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[KM]Error:f[key_manage_query_size]L515:key[usid] not programed yet
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
hpd_state=0
edid preferred_mode is &amp;lt;NULL&amp;gt;[0]
hdr mode is 0
dv  mode is ver:0  len: 0
hdr10+ mode is 0
[OSD]load fb addr from dts:/meson-fb
[OSD]load fb addr from dts:/fb
[OSD]set initrd_high: 0x7f800000
[OSD]fb_addr for logo: 0x7f800000
[OSD]load fb addr from dts:/meson-fb
[OSD]load fb addr from dts:/fb
[OSD]fb_addr for logo: 0x7f800000
[OSD]VPP_OFIFO_SIZE:0xfff01fff
[CANVAS]canvas init
[CANVAS]addr=0x7f800000 width=3840, height=2160
[OSD]osd_hw.free_dst_data: 0,719,0,575
[OSD]osd1_update_disp_freescale_enable
vpp: vpp_matrix_update: 2
cvbs performance type = 9, table = 0
cvbs_config_hdmipll_g12a
cvbs_set_vid2_clk
vpp: sdr_mode = 0
vpp: Rx hdr_info.hdr_sup_eotf_smpte_st_2084 = 0
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[KM]Error:f[key_manage_query_size]L515:key[usid] not programed yet
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
InUsbBurn
noSof
sof timeout, reset usb phy tuning
gpio: pin GPIOAO_3 (gpio 3) value is 1
Command: bcb uboot-command 
Start read misc partition datas!
BCB hasn&amp;#039;t any datas,exit!
Hit Enter or space or Ctrl+C key to stop autoboot -- :  0&lt;/pre&gt;

&lt;p&gt;
Для того, чтобы прервать загрузку и скорректировать параметры загрузки нужно понажимать пробел и появится приглашение консоли &lt;strong&gt;U-Boot&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Hit Enter or space or Ctrl+C key to stop autoboot -- :  0 
g12a_u219_v1#&lt;/pre&gt;

&lt;p&gt;
Теперь можно поглядеть текущие параметры загрузки. Чтоы длинные строки можно было увиждеть целиком - включаем перенос (Ctrl+a w). 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;g12a_u219_v1#printenv
EnableSelinux=permissive
Irq_check_en=0
active_slot=normal
avb2=0
baudrate=115200
bcb_cmd=get_avb_mode;get_valid_slot;
board_defined_bootup=bootup_X3
boot_part=boot
bootargs=init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xff803000 ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 o
tg_device=0 reboot_mode_android=normal logo=osd0,loaded,0x3d800000 vout=576cvbs,enable panel_type=lcd_1 hdmitx=,444,8bit hdmimode=1080p60hz frac_rate_policy=1 hdmi_read
_edid=1 cvbsmode=576cvbs osd_reverse=0 video_reverse=0 irq_check_en=0 androidboot.selinux=permissive androidboot.firstboot=0 jtag=disable androidboot.hardware=amlogic a
ndroidboot.serialno=1234567890 mac=00:df:04:00:38:30 androidboot.mac=00:df:04:00:38:30
bootcmd=ddr_auto_fast_boot_check 6 0 0 50;run storeboot
bootdelay=1
bootup_offset=0x1137ad8
bootup_size=0x3f488a
cmdline_keys=if keyman init 0x1234; then if keyman read usid ${loadaddr} str; then setenv bootargs ${bootargs} androidboot.serialno=${usid};setenv serial ${usid};else s
etenv bootargs ${bootargs} androidboot.serialno=1234567890;setenv serial 1234567890;fi;if keyman read mac ${loadaddr} str; then setenv bootargs ${bootargs} mac=${mac} a
ndroidboot.mac=${mac};fi;if keyman read deviceid ${loadaddr} str; then setenv bootargs ${bootargs} androidboot.deviceid=${deviceid};fi;fi;
colorattribute=444,8bit
cvbs_drv=0
cvbsmode=576cvbs
display_bpp=16
display_color_bg=0
display_color_fg=0xffff
display_color_index=16
display_height=576
display_layer=osd0
display_width=720
dtb_mem_addr=0x1000000
ethact=dwmac.ff3f0000
ethaddr=00:df:04:00:38:30
factory_reset_poweroff_protect=echo wipe_data=${wipe_data}; echo wipe_cache=${wipe_cache};if test ${wipe_data} = failed; then run init_display; run storeargs;if mmcinfo
; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;fi; if test ${wipe_cache} = failed; then run init_display; ru
n storeargs;if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;fi; 
fb_addr=0x3d800000
fb_height=1080
fb_width=1920
fdt_high=0x20000000
firstboot=0
frac_rate_policy=1
fs_type=rootfstype=ramfs
gatewayip=10.18.9.1
hdmi_read_edid=1
hdmimode=1080p60hz
hostname=arm_gxbb
init_display=get_rebootmode;echo reboot_mode:::: ${reboot_mode};if test ${reboot_mode} = quiescent; then setenv reboot_mode_android quiescent;run storeargs;setenv boota
rgs ${bootargs} androidboot.quiescent=1;osd open;osd clear;else if test ${reboot_mode} = recovery_quiescent; then setenv reboot_mode_android quiescent;run storeargs;set
env bootargs ${bootargs} androidboot.quiescent=1;osd open;osd clear;else setenv reboot_mode_android normal;run storeargs;hdmitx hpd;hdmitx get_preferred_mode;osd open;o
sd clear;imgread pic logo bootup $loadaddr;bmp display $bootup_offset;bmp scale;vout output ${outputmode};vpp hdrpkt;fi;fi;
initargs=init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xff803000 ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 
initrd_high=7f800000
ipaddr=10.18.9.97
irremote_update=if irkey 2500000 0xe31cfb04 0xb748fb04; then echo read irkey ok!; if itest ${irkey_value} == 0xe31cfb04; then run update;else if itest ${irkey_value} ==
 0xb748fb04; then run update;\
fi;fi;fi;
jtag=disable
loadaddr=1080000
lock=10001000
mac=00:df:04:00:38:30
netmask=255.255.255.0
osd_reverse=0
otg_device=0
outputmode=576cvbs
panel_type=lcd_1
preboot=run bcb_cmd; run factory_reset_poweroff_protect;run upgrade_check;run init_display;run storeargs;run usb_burning;run upgrade_key;bcb uboot-command;run switch_bo
otmode;
reboot_mode=cold_boot
reboot_mode_android=normal
recovery_from_flash=get_valid_slot;echo active_slot: ${active_slot};if test ${active_slot} = normal; then setenv bootargs ${bootargs} ${fs_type} aml_dt=${aml_dt} recove
ry_part={recovery_part} recovery_offset={recovery_offset};if imgread kernel ${recovery_part} ${loadaddr} ${recovery_offset}; then wipeisb; bootm ${loadaddr}; fi;else se
tenv bootargs ${bootargs} ${fs_type} aml_dt=${aml_dt} recovery_part=${boot_part} recovery_offset=${recovery_offset};if imgread kernel ${boot_part} ${loadaddr}; then boo
tm ${loadaddr}; fi;fi;
recovery_from_sdcard=if fatload mmc 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload mmc 0 ${loadaddr} recovery.img; then if fatload mmc 0 ${dtb_me
m_addr} dtb.img; then echo sd dtb.img loaded; fi;wipeisb; setenv bootargs ${bootargs} ${fs_type};bootm ${loadaddr};fi;
recovery_from_udisk=if fatload usb 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload usb 0 ${loadaddr} recovery.img; then if fatload usb 0 ${dtb_mem
_addr} dtb.img; then echo udisk dtb.img loaded; fi;wipeisb; setenv bootargs ${bootargs} ${fs_type};bootm ${loadaddr};fi;
recovery_offset=0
recovery_part=recovery
rpmb_state=1
sdc_burning=sdc_burn ${sdcburncfg}
sdcburncfg=aml_sdc_burn.ini
sdr2hdr=0
serial=1234567890
serverip=10.18.9.113
stderr=serial
stdin=serial
stdout=serial
storeargs=setenv bootargs ${initargs} otg_device=${otg_device} reboot_mode_android=${reboot_mode_android} logo=${display_layer},loaded,${fb_addr} vout=${outputmode},ena
ble panel_type=${panel_type} hdmitx=${cecconfig},${colorattribute} hdmimode=${hdmimode} frac_rate_policy=${frac_rate_policy} hdmi_read_edid=${hdmi_read_edid} cvbsmode=$
{cvbsmode} osd_reverse=${osd_reverse} video_reverse=${video_reverse} irq_check_en=${Irq_check_en}  androidboot.selinux=${EnableSelinux} androidboot.firstboot=${firstboo
t} jtag=${jtag}; setenv bootargs ${bootargs} androidboot.hardware=amlogic;run cmdline_keys;
storeboot=boot_cooling;get_system_as_root_mode;echo system_mode: ${system_mode};if test ${system_mode} = 1; then setenv bootargs ${bootargs} ro rootwait skip_initramfs;
else setenv bootargs ${bootargs} ${fs_type};fi;get_valid_slot;get_avb_mode;echo active_slot: ${active_slot};if test ${active_slot} != normal; then setenv bootargs ${boo
targs} androidboot.slot_suffix=${active_slot};fi;if test ${avb2} = 0; then if test ${active_slot} = _a; then setenv bootargs ${bootargs} root=/dev/mmcblk0p23;else if te
st ${active_slot} = _b; then setenv bootargs ${bootargs} root=/dev/mmcblk0p24;fi;fi;fi;if imgread kernel ${boot_part} ${loadaddr}; then bootm ${loadaddr}; fi;run storea
rgs; run update;
switch_bootmode=get_rebootmode;if test ${reboot_mode} = factory_reset; then setenv reboot_mode_android normal;run storeargs;run recovery_from_flash;else if test ${reboo
t_mode} = update; then setenv reboot_mode_android normal;run storeargs;run update;else if test ${reboot_mode} = quiescent; then setenv reboot_mode_android quiescent;run
 storeargs;setenv bootargs ${bootargs} androidboot.quiescent=1;else if test ${reboot_mode} = recovery_quiescent; then setenv reboot_mode_android quiescent;run storeargs
;setenv bootargs ${bootargs} androidboot.quiescent=1;run recovery_from_flash;else if test ${reboot_mode} = cold_boot; then setenv reboot_mode_android normal;run storear
gs;else if test ${reboot_mode} = fastboot; then setenv reboot_mode_android normal;run storeargs;fastboot;fi;fi;fi;fi;fi;fi;
try_auto_burn=update 700 750;
update=run usb_burning; run sdc_burning; if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;
upgrade_check=echo upgrade_step=${upgrade_step}; if itest ${upgrade_step} == 3; then run init_display; run storeargs; run update;else fi;
upgrade_key=if gpio input GPIOAO_3; then echo detect upgrade key; run update;fi;
upgrade_step=2
usb_burning=update 1000
video_reverse=0
wipe_cache=successful
wipe_data=successful

Environment size: 7754/65532 bytes&lt;/pre&gt;

&lt;p&gt;
Если при вставленной SD-карте выполнить:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;fatload mmc 0 1080000 zImage&lt;/pre&gt;

&lt;p&gt;
то успешно загружается в память ядро - файлик &lt;strong&gt;zImage&lt;/strong&gt; с первго раздела вставленной SD-карточки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;g12a_u219_v1#fatload mmc 0 1080000 zImage      
reading zImage
27871744 bytes read in 1520 ms (17.5 MiB/s)&lt;/pre&gt;

&lt;p&gt;
В данном случае &lt;strong&gt;1080000&lt;/strong&gt; - это значение переменной &lt;strong&gt;loadaddr&lt;/strong&gt; из вывода &lt;strong&gt;printenv&lt;/strong&gt;. &lt;br/&gt;

&lt;br/&gt;

Для того, чтоб запустить какое-либо cтороннее ядро нам нужен образ ядра и файл &lt;strong&gt;dtb&lt;/strong&gt; (&lt;strong&gt;DeviceTreeBlob&lt;/strong&gt;). Ядро у нас есть (на карте памяти), а &lt;strong&gt;dtb&lt;/strong&gt; нужно либо скомпилировать, либо - извлечь.&lt;br/&gt;

Вот &lt;strong&gt;# cat /proc/cmdline&lt;/strong&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xff803000 ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 otg_device
=0 reboot_mode_android=normal logo=osd0,loaded,0x3d800000 vout=1080p60hz,enable panel_type=lcd_1 hdmitx=,444,8bit hdmimode=1080p60hz frac_rate_policy=1 hdmi_read_edid=1
 cvbsmode=576cvbs osd_reverse=0 video_reverse=0 irq_check_en=0 androidboot.selinux=permissive androidboot.firstboot=0 jtag=disable androidboot.hardware=amlogic androidb
oot.serialno=1234567890 mac=00:df:04:00:38:30 androidboot.mac=00:df:04:00:38:30 ro rootwait skip_initramfs androidboot.dtbo_idx=0 --cmdline root=/dev/mmcblk0p18 buildva
riant=user&lt;/pre&gt;

&lt;p&gt;
С работающего андроида
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;console:/ # uname -a
Linux localhost 4.9.113 #1 SMP PREEMPT Sat Dec 14 17:30:12 CST 2019 armv7l&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 RS-232&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435_\u043a_\u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439_\u043a\u043e\u043d\u0441\u043e\u043b\u0438_rs-232&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:19,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;34250-52133&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit17&quot; id=&quot;извлечение_dtb_devicetreeblob&quot;&gt;Извлечение dtb (DeviceTreeBlob)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.cnx-software.com/2014/05/12/how-to-extract-a-device-tree-file-from-android-firmware-files/&quot; class=&quot;urlextern&quot; title=&quot;https://www.cnx-software.com/2014/05/12/how-to-extract-a-device-tree-file-from-android-firmware-files/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.cnx-software.com/2014/05/12/how-to-extract-a-device-tree-file-from-android-firmware-files/&lt;/a&gt; &lt;br/&gt;

Чтобы извлечь &lt;strong&gt;dtb&lt;/strong&gt; из текущей прошивки нужно сделать образ раздела &lt;strong&gt;boot&lt;/strong&gt; или &lt;strong&gt;recovery&lt;/strong&gt; и распаковать его с помощью утилиты &lt;a href=&quot;https://enck.org/tools.html#split_bootimg&quot; class=&quot;urlextern&quot; title=&quot;https://enck.org/tools.html#split_bootimg&quot; rel=&quot;ugc nofollow&quot;&gt;split_bootimg.pl&lt;/a&gt;. У меня не получилось распаковать образ раздела &lt;strong&gt;boot&lt;/strong&gt; (распаковывался неполностью), но нормально распаковался образ раздела &lt;strong&gt;recovery&lt;/strong&gt;. &lt;br/&gt;

Для этого:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Подключаем к девайсу флешку и с помощью консоли монтируем ее (или если она (ext)FAT - она смонтируется сама в &lt;strong&gt;/mnt/media_rw/xxxx&lt;/strong&gt;):&lt;pre class=&quot;code&quot;&gt;mkdir /mnt/media_rw/USB
mount /dev/sda1 /mnt/media_rw/USB&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 И создаем образ раздела &lt;strong&gt;recovery&lt;/strong&gt; (или &lt;strong&gt;boot&lt;/strong&gt;):
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dd if=/dev/block/recovery of=/mnt/media/USB/recovery.img&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Отмонтируем флеху, переносим файлик на комп и распаковываем:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;wget wget https://gist.githubusercontent.com/jberkel/1087743/raw/5be96af0e1c1346678379b0c0f0330b71df51f25/split_bootimg.pl
chmod a+x ./split_bootimg.pl
./split_bootimg.pl ./recovery.img&lt;/pre&gt;

&lt;p&gt;
Кстати, извлечь этот файлик с помощью стандартных утилит &lt;a href=&quot;https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android-serialport-api/android_bootimg_tools.tar.gz&quot; class=&quot;urlextern&quot; title=&quot;https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android-serialport-api/android_bootimg_tools.tar.gz&quot; rel=&quot;ugc nofollow&quot;&gt;android_bootimg_tools&lt;/a&gt; не удалось. &lt;strong&gt;RamDisk&lt;/strong&gt; и &lt;strong&gt;kernel&lt;/strong&gt; извлекаются, а вот третий файлик - нет!
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 вывод будет примерно такой:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Page size: 2048 (0x00000800)
Kernel size: 9531352 (0x00916fd8)
Ramdisk size: 6839445 (0x00685c95)
Second size: 78980 (0x00013484)
Board name: 
Command line: androidboot.dtbo_idx=0 --cmdline root=/dev/mmcblk0p18 buildvariant=user
Writing recovery.img-kernel ... complete.
Writing recovery.img-ramdisk.gz ... complete.
Writing recovery.img-second.gz ... complete.&lt;/pre&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;
Нужный нам файлик - &lt;strong&gt;recovery.img-second.gz&lt;/strong&gt; &lt;br/&gt;

Убедиться, что полученный файлик - это &lt;strong&gt;dtb&lt;/strong&gt; можно, декомпилировав его. Как это сделать - написано ниже.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 dtb (DeviceTreeBlob)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435_dtb_devicetreeblob&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:23,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;52134-54651&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit18&quot; id=&quot;изменение_аппаратных_настроек_в_файле_dtb_с_помощью_dtc&quot;&gt;Изменение аппаратных настроек в файле dtb с помощью DTC&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://pcminipro.ru/os/apparatnaya-konfiguratsiya-redaktirovanie-fajla-dtb-v-linux-s-yadrom-mainline-4-9-x/&quot; class=&quot;urlextern&quot; title=&quot;https://pcminipro.ru/os/apparatnaya-konfiguratsiya-redaktirovanie-fajla-dtb-v-linux-s-yadrom-mainline-4-9-x/&quot; rel=&quot;ugc nofollow&quot;&gt;https://pcminipro.ru/os/apparatnaya-konfiguratsiya-redaktirovanie-fajla-dtb-v-linux-s-yadrom-mainline-4-9-x/&lt;/a&gt; &lt;br/&gt;

&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Установим &lt;strong&gt;DTC&lt;/strong&gt; (если он не установлен): &lt;pre class=&quot;code&quot;&gt;sudo apt-get install device-tree-compiler&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Преобразуем двоичный файл &lt;strong&gt;dtb&lt;/strong&gt; в редактируемый текстовый файл &lt;strong&gt;dts&lt;/strong&gt;: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dtc -b 0 -O dts -I dtb -o hk1_box.dts recovery.img-second.gz&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Редактируем то, что нам нужно в файле &lt;strong&gt;dts&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;nano hk1_box.dts&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Преобразуем отредактированный файл &lt;strong&gt;dts&lt;/strong&gt; в двоичный формат &lt;strong&gt;dtb&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dtc -b 0 -O dtb -I dts -o hk1_box.dtb hk1_box.dts&lt;/pre&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0432 \u0444\u0430\u0439\u043b\u0435 dtb \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e DTC&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435_\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445_\u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a_\u0432_\u0444\u0430\u0439\u043b\u0435_dtb_\u0441_\u043f\u043e\u043c\u043e\u0449\u044c\u044e_dtc&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:27,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;54652-55497&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit19&quot; id=&quot;изменение_объема_памяти_выделенной_видеоадаптеру&quot;&gt;Изменение объема памяти, выделенной видеоадаптеру&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Вот в таком кусочке кода (параметр &lt;strong&gt;size&lt;/strong&gt;):
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;linux,cma 
	{
	compatible = &amp;quot;shared-dma-pool&amp;quot;;
	reusable; size = &amp;lt;0x0 0x2000000&amp;gt;;
	alignment = &amp;lt;0x0 0x400000&amp;gt;;
	linux,cma-default;
    };&lt;/pre&gt;

&lt;p&gt;
Задается объем памяти, выделенной видяхе. В данном случае выдляется 32Mb.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043c\u0430 \u043f\u0430\u043c\u044f\u0442\u0438, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0432\u0438\u0434\u0435\u043e\u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0443&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435_\u043e\u0431\u044a\u0435\u043c\u0430_\u043f\u0430\u043c\u044f\u0442\u0438_\u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439_\u0432\u0438\u0434\u0435\u043e\u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0443&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:31,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;55498-55960&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit20&quot; id=&quot;изменение_доступного_объема_ram&quot;&gt;Изменение доступного объема RAM&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/?do=findComment&amp;amp;comment=101732&quot; class=&quot;urlextern&quot; title=&quot;https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/?do=findComment&amp;amp;comment=101732&quot; rel=&quot;ugc nofollow&quot;&gt;https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/?do=findComment&amp;amp;comment=101732&lt;/a&gt; &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;decompile your dtb with &amp;quot;dtc -I dtb -O dts meson-gxl-s905w-tx3-mini.dtb &amp;gt; meson-gxl-s905w-tx3-mini.dts&amp;quot; and then edit the dts file: change &amp;quot;reg = &amp;lt;0x0 0x0 0x0 0x40000000&amp;gt;;&amp;quot; in the memory@0 section to &amp;quot;reg = &amp;lt;0x0 0x0 0x0 0x80000000&amp;gt;;&amp;quot; and compile it back into a dtb: &amp;quot;dtc -I dts -O dtb meson-gxl-s905w-tx3-mini.dts &amp;gt; meson-gxl-s905w-tx3-mini.dtb&amp;quot;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043c\u0430 RAM&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435_\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0433\u043e_\u043e\u0431\u044a\u0435\u043c\u0430_ram&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:32,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;55961-56502&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit21&quot; id=&quot;загрузка&quot;&gt;Загрузка&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;kernel load addr: 0x01080000
dtb load addr: 0x1000000&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:32,&amp;quot;secid&amp;quot;:21,&amp;quot;range&amp;quot;:&amp;quot;56503-56597&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit22&quot; id=&quot;последние_эксперименты&quot;&gt;Последние эксперименты&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw/&quot; class=&quot;urlextern&quot; title=&quot;https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw/&quot; rel=&quot;ugc nofollow&quot;&gt;https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw/&lt;/a&gt; &lt;br/&gt;

&lt;a href=&quot;https://yadi.sk/d/_rQgn_FosYuW0g&quot; class=&quot;urlextern&quot; title=&quot;https://yadi.sk/d/_rQgn_FosYuW0g&quot; rel=&quot;ugc nofollow&quot;&gt;https://yadi.sk/d/_rQgn_FosYuW0g&lt;/a&gt; &lt;br/&gt;

&lt;a href=&quot;https://yadi.sk/d/_rQgn_FosYuW0g/19.11.5/20200127&quot; class=&quot;urlextern&quot; title=&quot;https://yadi.sk/d/_rQgn_FosYuW0g/19.11.5/20200127&quot; rel=&quot;ugc nofollow&quot;&gt;https://yadi.sk/d/_rQgn_FosYuW0g/19.11.5/20200127&lt;/a&gt; &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;setenv kernel_addr_r 0x11000000; setenv ramdisk_addr_r 0x13000000; setenv fdt_addr_r 0x1000000; setenv devnum &amp;quot;0&amp;quot;; setenv devtype &amp;quot;mmc&amp;quot;; setenv androidboot.dtbo_idx 0;
fatload ${devtype} ${devnum} ${loadaddr} uEnv.txt; env import -t ${loadaddr} ${filesize}; setenv bootargs ${APPEND}; setenv bootargs ${bootargs} mac=${mac}; fatload ${devtype} ${devnum} ${kernel_addr_r} ${LINUX}; fatload ${devtype} ${devnum} ${ramdisk_addr_r} ${INITRD}; fatload ${devtype} ${devnum} ${fdt_addr_r} ${FDT}; fdt addr ${fdt_addr_r}; booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}; &lt;/pre&gt;

&lt;p&gt;
Настройки (bootargs и dtb) лежат в файлике &lt;strong&gt;uEnv.txt&lt;/strong&gt; &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;setenv androidboot.dtbo_idx 0; run recovery_from_sdcard;&lt;/pre&gt;

&lt;p&gt;
В оригинале загружается содержимое раздела boot и хапускается, а там указан &lt;strong&gt;androidboot.dtbo_idx&lt;/strong&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;imgread kernel ${boot_part} ${loadaddr}
bootm ${loadaddr}&lt;/pre&gt;

&lt;p&gt;
Вероятно, можно просто перепаковать??? boot.img - &lt;a href=&quot;https://www.whitewinterwolf.com/posts/2016/08/11/how-to-unpack-and-edit-android-boot-img/&quot; class=&quot;urlextern&quot; title=&quot;https://www.whitewinterwolf.com/posts/2016/08/11/how-to-unpack-and-edit-android-boot-img/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.whitewinterwolf.com/posts/2016/08/11/how-to-unpack-and-edit-android-boot-img/&lt;/a&gt; &lt;br/&gt;

Или просто добавить этот параметр к строке запуска ядра как тут:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[    0.000000] Kernel command line: androidboot.mode=normal androidboot.dtbo_idx=0 root=PARTUUID=af01642c-9b84-11e8-9b2a-234eb5e198a0 androidboot.verifiedbootstate=orange androidboot.slot_suffix= androidboot.serialno=HCYRK3318334473094 console=ttyFIQ0 androidboot.baseband=N/A androidboot.selinux=permissive androidboot.wificountrycode=US androidboot.veritymode=enforcing androidboot.hardware=rk30board androidboot.console=ttyFIQ0 firmware_class.path=/vendor/etc/firmware init=/init rootwait ro init=/init root=PARTUUID=af01642c-9b84-11e8-9b2a-234eb5e198a0 loop.max_part=7 buildvariant=userdebug earlycon=uart8250,mmio32,0xff130000 swiotlb=1 kpti=0&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435_\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:32,&amp;quot;secid&amp;quot;:22,&amp;quot;range&amp;quot;:&amp;quot;56598-58719&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit23&quot; id=&quot;ошибки&quot;&gt;Ошибки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Если появляется сообщение:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;## Flattened Device Tree blob at 01000000
   Booting using the fdt blob at 0x1000000
find 1 dtbos
No androidboot.dtbo_idx configured
And no dtbos will be applied&lt;/pre&gt;

&lt;p&gt;
Значит нужно задать переменную &lt;strong&gt;androidboot.dtbo_idx&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;setenv androidboot.dtbo_idx 0&lt;/pre&gt;

&lt;p&gt;
Значение которой видно при распаковке &lt;strong&gt;boot.img&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Command line: androidboot.dtbo_idx=0 --cmdline root=/dev/mmcblk0p18 buildvariant=user&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0448\u0438\u0431\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0448\u0438\u0431\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:33,&amp;quot;secid&amp;quot;:23,&amp;quot;range&amp;quot;:&amp;quot;58720-59266&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit24&quot; id=&quot;удалось_загрузиться&quot;&gt;УДАЛОСЬ ЗАГРУЗИТЬСЯ&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Запустить скрипт путем &lt;strong&gt;update&lt;/strong&gt; не удалось (т.к. он не подписан), однако, после пристального изучения вывода &lt;strong&gt;printenv&lt;/strong&gt; оказалось, что его успешно запускает команда &lt;strong&gt;recovery_from_sdcard&lt;/strong&gt;, прописанная в &lt;strong&gt;env&lt;/strong&gt; &lt;strong&gt;U-Boot&lt;/strong&gt;. То есть - готовим флеху, в консоли RS-232 жмем пробелы и в ответ на приглашение &lt;strong&gt;U-Boot&lt;/strong&gt; вводим такое:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;run recovery_from_sdcard;&lt;/pre&gt;

&lt;p&gt;
В результате приставка перейдет в режим дуалбута и будет грузиться с SD-карты, когда она вставлена.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0414\u0410\u041b\u041e\u0421\u042c \u0417\u0410\u0413\u0420\u0423\u0417\u0418\u0422\u042c\u0421\u042f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0434\u0430\u043b\u043e\u0441\u044c_\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c\u0441\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:34,&amp;quot;secid&amp;quot;:24,&amp;quot;range&amp;quot;:&amp;quot;59267-60060&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit25&quot; id=&quot;boot_from_sd-card_log&quot;&gt;boot from sd-card log&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;Welcome to minicom 2.7.1

OPTIONS: I18n 
Compiled on May  3 2018, 15:20:11.
Port /dev/ttyUSB0, 22:43:26

Press CTRL-A Z for help on special keys

SM1:BL:511f6b:81ca2f;FEAT:A0F83180:20282000;POC:F;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
bl2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0001 - pwm id 0x00
bl2_stage_init 0xc0
bl2_stage_init 0x02

L0:00000000
L1:00000703
L2:00008067
L3:15000020
S1:00000000
B2:20282000
B1:a0f83180

TE: 158641

BL2 Built : 20:29:41, Jun 18 2019. g12a ga659aac - luan.yuan@droid15-sz

Board ID = 1
Set cpu clk to 24M
Set clk81 to 24M
Use GP1_pll as DSU clk.
DSU clk: 1200 Mhz
CPU clk: 1200 MHz
Set clk81 to 166.6M
eMMC boot @ 0
sw8 s
DDR driver_vesion: LPDDR4_PHY_V_0_1_15 build time: Jun 18 2019 20:29:37
board id: 1
Load FIP HDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0
fw parse done
Load ddrfw from eMMC, src: 0x00060200, des: 0xfffd0000, size: 0x0000c000, part: 0
Load ddrfw from eMMC, src: 0x00038200, des: 0xfffd0000, size: 0x00004000, part: 0
PIEI prepare done
fastboot data load
00000000
emmc switch 1 ok
ddr saved addr:00016000
Load ddr parameter from eMMC, src: 0x02c00000, des: 0xfffd0000, size: 0x00001000, part: 0
00000000
emmc switch 0 ok
fastboot data verify
verify result: 0
enable_fast_boot
dmc_margin_rx==12 dmc_margin_tx==12 steps
DDR3 probe
ddr clk to 672MHz
Load ddrfw from eMMC, src: 0x0002c200, des: 0xfffd0000, size: 0x0000c000, part: 0

dmc_version 0001
Check phy result
INFO : End of initialization
INFO : Training has run successfully!
aml_ddr_fw_vesion: LPDDR4_PHY_V_0_1_15 build time: Jun 18 2019 20:29:43
DDR cs0 size: 3928MB
DDR cs1 size: 0MB
DMC_DDR_CTRL: 0000002dDDR size: 3928MB
cs0 DataBus test pass
cs0 AddrBus test pass

non-sec scramble use zero key
ddr scramble enabled

100bdlr_step_size ps== 483
result report
boot times 0Enable ddr reg access
00000000
emmc switch 3 ok
BL2: rpmb counter: 0x00002374
00000000
emmc switch 0 ok
Load FIP HDR from eMMC, src: 0x00010200, des: 0x01700000, size: 0x00004000, part: 0
Load BL3X from eMMC, src: 0x00078200, des: 0x01768000, size: 0x000d0000, part: 0
bl2z: ptr: 05129330, size: 00001e40
0.0;M3 CHK:0;cm4_sp_mode 0
MVN_1=0x00000000
MVN_2=0x00000000
[Image: g12a_v1.1.3389-92241b5 2019-07-02 17:22:49 luan.yuan@droid15-sz]
OPS=0x10
ring efuse init
2b 0c 10 00 01 1d 16 00 00 0c 35 30 43 57 50 50 
[0.017354 Inits done]
secure task start!
high task start!
low task start!
run into bl31
NOTICE:  BL31: v1.3(release):4fc40b1
NOTICE:  BL31: Built : 15:57:33, May 22 2019
NOTICE:  BL31: G12A normal boot!
NOTICE:  BL31: BL33 decompress pass
ERROR:   Error initializing runtime service opteed_fast


U-Boot 2015.01 (Dec 14 2019 - 17:22:12)

DRAM:  3.8 GiB
Relocation Offset is: d6e50000
spi_post_bind(spifc): req_seq = 0
register usb cfg[0][1] = 00000000d7f3e528
NAND:  get_sys_clk_rate_mtd() 290, clock setting 200!
NAND device id: 0 ff ff ff ff ff 
No NAND device found!!!
nand init failed: -6
get_sys_clk_rate_mtd() 290, clock setting 200!
NAND device id: 0 ff ff ff ff ff 
No NAND device found!!!
nand init failed: -6
MMC:   aml_priv-&amp;gt;desc_buf = 0x00000000d3e40a70
aml_priv-&amp;gt;desc_buf = 0x00000000d3e42db0
SDIO Port B: 0, SDIO Port C: 1
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
emmc/sd response timeout, cmd8, status=0x1ff2800
emmc/sd response timeout, cmd55, status=0x1ff2800
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 40000000
aml_sd_retry_refix[983]:delay = 0x0,gadjust =0x162000
[mmc_startup] mmc refix success
init_part() 282: PART_TYPE_DOS
[mmc_init] mmc init success
      Amlogic multi-dtb tool
      Single dtb detected
start dts,buffer=00000000d3e45620,dt_addr=00000000d3e45620
get_partition_from_dts() 91: ret 0
      Amlogic multi-dtb tool
      Single dtb detected
parts: 17
00:      logo   0000000000800000 1
01:  recovery   0000000001800000 1
02:      misc   0000000000800000 1
03:      dtbo   0000000000800000 1
04:  cri_data   0000000000800000 2
05:     param   0000000001000000 2
06:      boot   0000000001000000 1
set has_boot_slot = 0
07:       rsv   0000000001000000 1
08:  metadata   0000000001000000 1
09:    vbmeta   0000000000200000 1
10:       tee   0000000002000000 1
11:    vendor   0000000014000000 1
12:       odm   0000000008000000 1
13:    system   0000000074000000 1
14:   product   0000000008000000 1
15:     cache   0000000046000000 2
16:      data   ffffffffffffffff 4
init_part() 282: PART_TYPE_DOS
eMMC/TSD partition table have been checked OK!
crc32_s:0x1577dad == storage crc_pattern:0x1577dad!!!
crc32_s:0xee152b83 == storage crc_pattern:0xee152b83!!!
crc32_s:0x79f50f07 == storage crc_pattern:0x79f50f07!!!
mmc env offset: 0x4d400000 
In:    serial
Out:   serial
Err:   serial
reboot_mode=cold_boot
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
_verify_dtb_checksum()-3406: calc 5d3b67d1, store 5d3b67d1
_verify_dtb_checksum()-3406: calc 5d3b67d1, store 5d3b67d1
dtb_read()-3623: total valid 2
update_old_dtb()-3604: do nothing
      Amlogic multi-dtb tool
      Single dtb detected
amlkey_init() enter!
[EFUSE_MSG]keynum is 4
vpu: clk_level in dts: 7
vpu: vpu_power_on
vpu: set clk: 666667000Hz, readback: 666666667Hz(0x100)
vpu: vpu_module_init_config
vpp: vpp_init
vpp: vpp osd2 matrix rgb2yuv..............
cvbs: cpuid:0x2b
Net:   dwmac.ff3f0000amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4

CONFIG_AVB2: null 
Start read misc partition datas!
info-&amp;gt;magic = 
info-&amp;gt;version_major = 1
info-&amp;gt;version_minor = 0
info-&amp;gt;slots[0].priority = 15
info-&amp;gt;slots[0].tries_remaining = 7
info-&amp;gt;slots[0].successful_boot = 0
info-&amp;gt;slots[1].priority = 14
info-&amp;gt;slots[1].tries_remaining = 7
info-&amp;gt;slots[1].successful_boot = 0
info-&amp;gt;crc32 = -1075449479
active slot = 0
wipe_data=successful
wipe_cache=successful
upgrade_step=2
reboot_mode:::: cold_boot
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[KM]Error:f[key_manage_query_size]L515:key[usid] not programed yet
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
hpd_state=0
edid preferred_mode is &amp;lt;NULL&amp;gt;[0]
hdr mode is 0
dv  mode is ver:0  len: 0
hdr10+ mode is 0
[OSD]load fb addr from dts:/meson-fb
[OSD]load fb addr from dts:/fb
[OSD]set initrd_high: 0x7f800000
[OSD]fb_addr for logo: 0x7f800000
[OSD]load fb addr from dts:/meson-fb
[OSD]load fb addr from dts:/fb
[OSD]fb_addr for logo: 0x7f800000
[OSD]VPP_OFIFO_SIZE:0xfff01fff
[CANVAS]canvas init
[CANVAS]addr=0x7f800000 width=3840, height=2160
Err imgread(L544):Logo header err.
There is no valid bmp file at the given address
[OSD]osd_hw.free_dst_data: 0,719,0,575
[OSD]osd1_update_disp_freescale_enable
vpp: vpp_matrix_update: 2
cvbs performance type = 9, table = 0
cvbs_config_hdmipll_g12a
cvbs_set_vid2_clk
vpp: sdr_mode = 2
vpp: Rx hdr_info.hdr_sup_eotf_smpte_st_2084 = 0
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[KM]Error:f[key_manage_query_size]L515:key[usid] not programed yet
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
InUsbBurn
noSof
sof timeout, reset usb phy tuning
gpio: pin GPIOAO_3 (gpio 3) value is 1
Command: bcb uboot-command 
Start read misc partition datas!
BCB hasn&amp;#039;t any datas,exit!
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[KM]Error:f[key_manage_query_size]L515:key[usid] not programed yet
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
Hit Enter or space or Ctrl+C key to stop autoboot -- :  0 
card in
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 40000000
aml_sd_retry_refix[983]:delay = 0x0,gadjust =0x182000
[mmc_startup] mmc refix success
init_part() 282: PART_TYPE_DOS
[mmc_init] mmc init success
Device: SDIO Port B
Manufacturer ID: 3
OEM: 5344
Name: SS08G 
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 7.4 GiB
mmc clock: 40000000
Bus Width: 4-bit
reading s905_autoscript
1351 bytes read in 5 ms (263.7 KiB/s)
## Executing script at 01020000
start amlogic old u-boot
reading boot_android
** Unable to read file boot_android **
** Bad device usb 0 **
reading u-boot.ext
** Unable to read file u-boot.ext **
** Bad device usb 0 **
reading uEnv.txt
1088 bytes read in 5 ms (211.9 KiB/s)
mac=00:df:04:00:38:30
reading /zImage
23357952 bytes read in 1276 ms (17.5 MiB/s)
reading /uInitrd
13608950 bytes read in 746 ms (17.4 MiB/s)
reading /dtb.img
45989 bytes read in 5 ms (8.8 MiB/s)
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND                               +-----------------------------+
[rsvmem] fdt get prop fail.                                                      |                             |
## Loading init Ramdisk from Legacy Image at 13000000 ...                        |  Cannot open /dev/ttyUSB0!  |
   Image Name:   uInitrd                                                         |                             |
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)                   +-----------------------------+
   Data Size:    13608886 Bytes = 13 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
Start read misc partition datas!
info-&amp;gt;magic = 
info-&amp;gt;version_major = 1
info-&amp;gt;version_minor = 0
info-&amp;gt;slots[0].priority = 15
info-&amp;gt;slots[0].tries_remaining = 7
info-&amp;gt;slots[0].successful_boot = 0
info-&amp;gt;slots[1].priority = 14
info-&amp;gt;slots[1].tries_remaining = 7
info-&amp;gt;slots[1].successful_boot = 0
info-&amp;gt;crc32 = -1075449479
active slot = 0
active_slot is normal
DTBO partition header is incorrect
load dtb from 0x1000000 ......
      Amlogic multi-dtb tool
      Single dtb detected
## Flattened Device Tree blob at 01000000
   Booting using the fdt blob at 0x1000000
No valid dtbo image found
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
[rsvmem] fdt get prop fail.
   Loading Ramdisk to 7eb05000, end 7f7ff7b6 ... OK
   Loading Device Tree to 000000001fff1000, end 000000001ffff3a4 ... OK

Starting kernel ...

uboot time: 6206312 us&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;boot from sd-card log&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;boot_from_sd-card_log&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:34,&amp;quot;secid&amp;quot;:25,&amp;quot;range&amp;quot;:&amp;quot;60061-70178&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit26&quot; id=&quot;reboot_sd_card_log&quot;&gt;reboot sd card log&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;[  285.513308] reboot: Restarting system
bl31 reboot reason: 0xd
bl31 reboot reason: 0x0
system cmd  1.
SM1:BL:511f6b:81ca2f;FEAT:A0F83180:20282000;POC:F;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
bl2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0001 - pwm id 0x00
bl2_stage_init 0xc0
bl2_stage_init 0x02

L0:00000000
L1:00000703
L2:00008067
L3:15000020
S1:00000000
B2:20282000
B1:a0f83180

TE: 154850

BL2 Built : 20:29:41, Jun 18 2019. g12a ga659aac - luan.yuan@droid15-sz

Board ID = 1
Set cpu clk to 24M
Set clk81 to 24M
Use GP1_pll as DSU clk.
DSU clk: 1200 Mhz
CPU clk: 1200 MHz
Set clk81 to 166.6M
eMMC boot @ 0
sw8 s
DDR driver_vesion: LPDDR4_PHY_V_0_1_15 build time: Jun 18 2019 20:29:37
board id: 1
Load FIP HDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0
fw parse done
Load ddrfw from eMMC, src: 0x00060200, des: 0xfffd0000, size: 0x0000c000, part: 0
Load ddrfw from eMMC, src: 0x00038200, des: 0xfffd0000, size: 0x00004000, part: 0
PIEI prepare done
fastboot data load
00000000
emmc switch 1 ok
ddr saved addr:00016000
Load ddr parameter from eMMC, src: 0x02c00000, des: 0xfffd0000, size: 0x00001000, part: 0
00000000
emmc switch 0 ok
fastboot data verify
verify result: 0
enable_fast_boot
dmc_margin_rx==12 dmc_margin_tx==12 steps
DDR3 probe
ddr clk to 672MHz
Load ddrfw from eMMC, src: 0x0002c200, des: 0xfffd0000, size: 0x0000c000, part: 0

dmc_version 0001
Check phy result
INFO : End of initialization
INFO : Training has run successfully!
aml_ddr_fw_vesion: LPDDR4_PHY_V_0_1_15 build time: Jun 18 2019 20:29:43
DDR cs0 size: 3928MB
DDR cs1 size: 0MB
DMC_DDR_CTRL: 0000002dDDR size: 3928MB
cs0 DataBus test pass
cs0 AddrBus test pass

non-sec scramble use zero key
ddr scramble enabled

100bdlr_step_size ps== 476
result report
boot times 1Enable ddr reg access
00000000
emmc switch 3 ok
BL2: rpmb counter: 0x00002374
00000000
emmc switch 0 ok
Load FIP HDR from eMMC, src: 0x00010200, des: 0x01700000, size: 0x00004000, part: 0
Load BL3X from eMMC, src: 0x00078200, des: 0x01768000, size: 0x000d0000, part: 0
bl2z: ptr: 05129330, size: 00001e40
0.0;M3 CHK:0;cm4_sp_mode 0
MVN_1=0x00000000
MVN_2=0x00000000
[Image: g12a_v1.1.3389-92241b5 2019-07-02 17:22:49 luan.yuan@droid15-sz]
OPS=0x10
ring efuse init
2b 0c 10 00 01 1d 16 00 00 0c 35 30 43 57 50 50 
[0.670124 Inits done]
secure task start!
high task start!
low task start!
run into bl31
NOTICE:  BL31: v1.3(release):4fc40b1
NOTICE:  BL31: Built : 15:57:33, May 22 2019
NOTICE:  BL31: G12A normal boot!
NOTICE:  BL31: BL33 decompress pass
ERROR:   Error initializing runtime service opteed_fast


U-Boot 2015.01 (Dec 14 2019 - 17:22:12)

DRAM:  3.8 GiB
Relocation Offset is: d6e50000
spi_post_bind(spifc): req_seq = 0
register usb cfg[0][1] = 00000000d7f3e528
NAND:  get_sys_clk_rate_mtd() 290, clock setting 200!
NAND device id: 0 ff ff ff ff ff 
No NAND device found!!!
nand init failed: -6
get_sys_clk_rate_mtd() 290, clock setting 200!
NAND device id: 0 ff ff ff ff ff 
No NAND device found!!!
nand init failed: -6
MMC:   aml_priv-&amp;gt;desc_buf = 0x00000000d3e40a70
aml_priv-&amp;gt;desc_buf = 0x00000000d3e42db0
SDIO Port B: 0, SDIO Port C: 1
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
emmc/sd response timeout, cmd8, status=0x1ff2800
emmc/sd response timeout, cmd55, status=0x1ff2800
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 40000000
aml_sd_retry_refix[983]:delay = 0x0,gadjust =0x162000
[mmc_startup] mmc refix success
init_part() 282: PART_TYPE_DOS
[mmc_init] mmc init success
      Amlogic multi-dtb tool
      Single dtb detected
start dts,buffer=00000000d3e45620,dt_addr=00000000d3e45620
get_partition_from_dts() 91: ret 0
      Amlogic multi-dtb tool
      Single dtb detected
parts: 17
00:      logo   0000000000800000 1
01:  recovery   0000000001800000 1
02:      misc   0000000000800000 1
03:      dtbo   0000000000800000 1
04:  cri_data   0000000000800000 2
05:     param   0000000001000000 2
06:      boot   0000000001000000 1
set has_boot_slot = 0
07:       rsv   0000000001000000 1
08:  metadata   0000000001000000 1
09:    vbmeta   0000000000200000 1
10:       tee   0000000002000000 1
11:    vendor   0000000014000000 1
12:       odm   0000000008000000 1
13:    system   0000000074000000 1
14:   product   0000000008000000 1
15:     cache   0000000046000000 2
16:      data   ffffffffffffffff 4
init_part() 282: PART_TYPE_DOS
eMMC/TSD partition table have been checked OK!
crc32_s:0x1577dad == storage crc_pattern:0x1577dad!!!
crc32_s:0xee152b83 == storage crc_pattern:0xee152b83!!!
crc32_s:0x79f50f07 == storage crc_pattern:0x79f50f07!!!
mmc env offset: 0x4d400000 
In:    serial
Out:   serial
Err:   serial
reboot_mode=cold_boot
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
_verify_dtb_checksum()-3406: calc 5d3b67d1, store 5d3b67d1
_verify_dtb_checksum()-3406: calc 5d3b67d1, store 5d3b67d1
dtb_read()-3623: total valid 2
update_old_dtb()-3604: do nothing
      Amlogic multi-dtb tool
      Single dtb detected
amlkey_init() enter!
[EFUSE_MSG]keynum is 4
vpu: clk_level in dts: 7
vpu: vpu_power_on
vpu: set clk: 666667000Hz, readback: 666666667Hz(0x100)
vpu: vpu_module_init_config
vpp: vpp_init
vpp: vpp osd2 matrix rgb2yuv..............
cvbs: cpuid:0x2b
Net:   dwmac.ff3f0000amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4

CONFIG_AVB2: null 
Start read misc partition datas!
info-&amp;gt;magic = 
info-&amp;gt;version_major = 1
info-&amp;gt;version_minor = 0
info-&amp;gt;slots[0].priority = 15
info-&amp;gt;slots[0].tries_remaining = 7
info-&amp;gt;slots[0].successful_boot = 0
info-&amp;gt;slots[1].priority = 14
info-&amp;gt;slots[1].tries_remaining = 7
info-&amp;gt;slots[1].successful_boot = 0
info-&amp;gt;crc32 = -1075449479
active slot = 0
wipe_data=successful
wipe_cache=successful
upgrade_step=2
reboot_mode:::: cold_boot
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[KM]Error:f[key_manage_query_size]L515:key[usid] not programed yet
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
hpd_state=0
edid preferred_mode is &amp;lt;NULL&amp;gt;[0]
hdr mode is 0
dv  mode is ver:0  len: 0
hdr10+ mode is 0
[OSD]load fb addr from dts:/meson-fb
[OSD]load fb addr from dts:/fb
[OSD]set initrd_high: 0x7f800000
[OSD]fb_addr for logo: 0x7f800000
[OSD]load fb addr from dts:/meson-fb
[OSD]load fb addr from dts:/fb
[OSD]fb_addr for logo: 0x7f800000
[OSD]VPP_OFIFO_SIZE:0xfff01fff
[CANVAS]canvas init
[CANVAS]addr=0x7f800000 width=3840, height=2160
Err imgread(L544):Logo header err.
There is no valid bmp file at the given address
[OSD]osd_hw.free_dst_data: 0,719,0,575
[OSD]osd1_update_disp_freescale_enable
vpp: vpp_matrix_update: 2
cvbs performance type = 9, table = 0
cvbs_config_hdmipll_g12a
cvbs_set_vid2_clk
vpp: sdr_mode = 2
vpp: Rx hdr_info.hdr_sup_eotf_smpte_st_2084 = 0
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[KM]Error:f[key_manage_query_size]L515:key[usid] not programed yet
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
InUsbBurn
noSof
sof timeout, reset usb phy tuning
gpio: pin GPIOAO_3 (gpio 3) value is 0
detect upgrade key
InUsbBurn
noSof
sof timeout, reset usb phy tuning
card in
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 40000000
aml_sd_retry_refix[983]:delay = 0x0,gadjust =0x182000
[mmc_startup] mmc refix success
init_part() 282: PART_TYPE_DOS
[mmc_init] mmc init success
Device: SDIO Port B
Manufacturer ID: 3
OEM: 5344
Name: SS08G 
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 7.4 GiB
mmc clock: 40000000
Bus Width: 4-bit
Device: SDIO Port B
Manufacturer ID: 3
OEM: 5344
Name: SS08G 
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 7.4 GiB
mmc clock: 40000000
Bus Width: 4-bit
reading aml_autoscript
709 bytes read in 4 ms (172.9 KiB/s)
## Executing script at 01080000
## Error: &amp;quot;bootfromsd&amp;quot; not defined
Saving Environment to aml-storage...
mmc env offset: 0x4d400000 
Writing to MMC(1)... done
reboot use default mode: normal
bl31 reboot reason: 0xd
bl31 reboot reason: 0x1
system cmd  1.&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;reboot sd card log&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;reboot_sd_card_log&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:35,&amp;quot;secid&amp;quot;:26,&amp;quot;range&amp;quot;:&amp;quot;70179-78404&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit27&quot; id=&quot;boot_from_emmc_after_install_amlsh&quot;&gt;boot from emmc after install_aml.sh&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;SM1:BL:511f6b:81ca2f;FEAT:A0F83180:20282000;POC:F;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
bl2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0001 - pwm id 0x00
bl2_stage_init 0xc0
bl2_stage_init 0x02

L0:00000000
L1:00000703
L2:00008067
L3:15000020
S1:00000000
B2:20282000
B1:a0f83180

TE: 403002

BL2 Built : 20:29:41, Jun 18 2019. g12a ga659aac - luan.yuan@droid15-sz

Board ID = 1
Set cpu clk to 24M
Set clk81 to 24M
Use GP1_pll as DSU clk.
DSU clk: 1200 Mhz
CPU clk: 1200 MHz
Set clk81 to 166.6M
eMMC boot @ 0
sw8 s
DDR driver_vesion: LPDDR4_PHY_V_0_1_15 build time: Jun 18 2019 20:29:37
board id: 1
Load FIP HDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0
fw parse done
Load ddrfw from eMMC, src: 0x00060200, des: 0xfffd0000, size: 0x0000c000, part: 0
Load ddrfw from eMMC, src: 0x00038200, des: 0xfffd0000, size: 0x00004000, part: 0
PIEI prepare done
fastboot data load
00000000
emmc switch 1 ok
ddr saved addr:00016000
Load ddr parameter from eMMC, src: 0x02c00000, des: 0xfffd0000, size: 0x00001000, part: 0
00000000
emmc switch 0 ok
fastboot data verify
verify result: 0
enable_fast_boot
dmc_margin_rx==12 dmc_margin_tx==12 steps
DDR3 probe
ddr clk to 672MHz
Load ddrfw from eMMC, src: 0x0002c200, des: 0xfffd0000, size: 0x0000c000, part: 0

dmc_version 0001
Check phy result
INFO : End of initialization
INFO : Training has run successfully!
aml_ddr_fw_vesion: LPDDR4_PHY_V_0_1_15 build time: Jun 18 2019 20:29:43
DDR cs0 size: 3928MB
DDR cs1 size: 0MB
DMC_DDR_CTRL: 0000002dDDR size: 3928MB
cs0 DataBus test pass
cs0 AddrBus test pass

non-sec scramble use zero key
ddr scramble enabled

100bdlr_step_size ps== 480
result report
boot times 0Enable ddr reg access
00000000
emmc switch 3 ok
BL2: rpmb counter: 0x00002374
00000000
emmc switch 0 ok
Load FIP HDR from eMMC, src: 0x00010200, des: 0x01700000, size: 0x00004000, part: 0
Load BL3X from eMMC, src: 0x00078200, des: 0x01768000, size: 0x000d0000, part: 0
bl2z: ptr: 05129330, size: 00001e40
0.0;M3 CHK:0;cm4_sp_mode 0
MVN_1=0x00000000
MVN_2=0x00000000
[Image: g12a_v1.1.3389-92241b5 2019-07-02 17:22:49 luan.yuan@droid15-sz]
OPS=0x10
ring efuse init
2b 0c 10 00 01 1d 16 00 00 0c 35 30 43 57 50 50 
[0.017354 Inits done]
secure task start!
high task start!
low task start!
run into bl31
NOTICE:  BL31: v1.3(release):4fc40b1
NOTICE:  BL31: Built : 15:57:33, May 22 2019
NOTICE:  BL31: G12A normal boot!
NOTICE:  BL31: BL33 decompress pass
ERROR:   Error initializing runtime service opteed_fast


U-Boot 2015.01 (Dec 14 2019 - 17:22:12)

DRAM:  3.8 GiB
Relocation Offset is: d6e50000
spi_post_bind(spifc): req_seq = 0
register usb cfg[0][1] = 00000000d7f3e528
NAND:  get_sys_clk_rate_mtd() 290, clock setting 200!
NAND device id: 0 ff ff ff ff ff 
No NAND device found!!!
nand init failed: -6
get_sys_clk_rate_mtd() 290, clock setting 200!
NAND device id: 0 ff ff ff ff ff 
No NAND device found!!!
nand init failed: -6
MMC:   aml_priv-&amp;gt;desc_buf = 0x00000000d3e40a70
aml_priv-&amp;gt;desc_buf = 0x00000000d3e42db0
SDIO Port B: 0, SDIO Port C: 1
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
emmc/sd response timeout, cmd8, status=0x1ff2800
emmc/sd response timeout, cmd55, status=0x1ff2800
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 40000000
aml_sd_retry_refix[983]:delay = 0x0,gadjust =0x162000
[mmc_startup] mmc refix success
init_part() 282: PART_TYPE_DOS
[mmc_init] mmc init success
      Amlogic multi-dtb tool
      Single dtb detected
start dts,buffer=00000000d3e45620,dt_addr=00000000d3e45620
get_partition_from_dts() 91: ret 0
      Amlogic multi-dtb tool
      Single dtb detected
parts: 17
00:      logo   0000000000800000 1
01:  recovery   0000000001800000 1
02:      misc   0000000000800000 1
03:      dtbo   0000000000800000 1
04:  cri_data   0000000000800000 2
05:     param   0000000001000000 2
06:      boot   0000000001000000 1
set has_boot_slot = 0
07:       rsv   0000000001000000 1
08:  metadata   0000000001000000 1
09:    vbmeta   0000000000200000 1
10:       tee   0000000002000000 1
11:    vendor   0000000014000000 1
12:       odm   0000000008000000 1
13:    system   0000000074000000 1
14:   product   0000000008000000 1
15:     cache   0000000046000000 2
16:      data   ffffffffffffffff 4
init_part() 282: PART_TYPE_DOS
eMMC/TSD partition table have been checked OK!
crc32_s:0x1577dad == storage crc_pattern:0x1577dad!!!
crc32_s:0xee152b83 == storage crc_pattern:0xee152b83!!!
crc32_s:0x79f50f07 == storage crc_pattern:0x79f50f07!!!
mmc env offset: 0x4d400000 
In:    serial
Out:   serial
Err:   serial
reboot_mode=cold_boot
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
_verify_dtb_checksum()-3406: calc 5d3b67d1, store 5d3b67d1
_verify_dtb_checksum()-3406: calc 5d3b67d1, store 5d3b67d1
dtb_read()-3623: total valid 2
update_old_dtb()-3604: do nothing
      Amlogic multi-dtb tool
      Single dtb detected
amlkey_init() enter!
[EFUSE_MSG]keynum is 4
vpu: clk_level in dts: 7
vpu: vpu_power_on
vpu: set clk: 666667000Hz, readback: 666666667Hz(0x100)
vpu: vpu_module_init_config
vpp: vpp_init
vpp: vpp osd2 matrix rgb2yuv..............
cvbs: cpuid:0x2b
Net:   dwmac.ff3f0000amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4

CONFIG_AVB2: null 
Start read misc partition datas!
info-&amp;gt;magic = 
info-&amp;gt;version_major = 1
info-&amp;gt;version_minor = 0
info-&amp;gt;slots[0].priority = 15
info-&amp;gt;slots[0].tries_remaining = 7
info-&amp;gt;slots[0].successful_boot = 0
info-&amp;gt;slots[1].priority = 14
info-&amp;gt;slots[1].tries_remaining = 7
info-&amp;gt;slots[1].successful_boot = 0
info-&amp;gt;crc32 = -1075449479
active slot = 0
wipe_data=successful
wipe_cache=successful
upgrade_step=2
reboot_mode:::: cold_boot
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[KM]Error:f[key_manage_query_size]L515:key[usid] not programed yet
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
hpd_state=0
edid preferred_mode is &amp;lt;NULL&amp;gt;[0]
hdr mode is 0
dv  mode is ver:0  len: 0
hdr10+ mode is 0
[OSD]load fb addr from dts:/meson-fb
[OSD]load fb addr from dts:/fb
[OSD]set initrd_high: 0x7f800000
[OSD]fb_addr for logo: 0x7f800000
[OSD]load fb addr from dts:/meson-fb
[OSD]load fb addr from dts:/fb
[OSD]fb_addr for logo: 0x7f800000
[OSD]VPP_OFIFO_SIZE:0xfff01fff
[CANVAS]canvas init
[CANVAS]addr=0x7f800000 width=3840, height=2160
Err imgread(L544):Logo header err.
There is no valid bmp file at the given address
[OSD]osd_hw.free_dst_data: 0,719,0,575
[OSD]osd1_update_disp_freescale_enable
vpp: vpp_matrix_update: 2
cvbs performance type = 9, table = 0
cvbs_config_hdmipll_g12a
cvbs_set_vid2_clk
vpp: sdr_mode = 2
vpp: Rx hdr_info.hdr_sup_eotf_smpte_st_2084 = 0
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[KM]Error:f[key_manage_query_size]L515:key[usid] not programed yet
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
InUsbBurn
noSof
sof timeout, reset usb phy tuning
gpio: pin GPIOAO_3 (gpio 3) value is 1
Command: bcb uboot-command 
Start read misc partition datas!
BCB hasn&amp;#039;t any datas,exit!
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 4
[KM]Error:f[key_manage_query_size]L515:key[usid] not programed yet
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
Hit Enter or space or Ctrl+C key to stop autoboot -- :  0 
card out
(Re)start USB...
USB0:   USB3.0 XHCI init start
Register 3000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 1 **
** Bad device usb 2 **
** Bad device usb 3 **
reading emmc_autoscript
759 bytes read in 4 ms (184.6 KiB/s)
## Executing script at 01020000
reading u-boot.emmc
** Unable to read file u-boot.emmc **
reading uEnv.txt
1103 bytes read in 3 ms (358.4 KiB/s)
reading /zImage
23357952 bytes read in 652 ms (34.2 MiB/s)
reading /uInitrd
13608950 bytes read in 382 ms (34 MiB/s)
reading /dtb.img
45989 bytes read in 4 ms (11 MiB/s)
mac=00:df:04:00:38:30
[rsvmem] get fdtaddr NULL!
rsvmem - reserve memory

Usage:
rsvmem check                   - check reserved memory
rsvmem dump                    - dump reserved memory

rsvmem check failed
## Loading init Ramdisk from Legacy Image at 13000000 ...
   Image Name:   uInitrd
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    13608886 Bytes = 13 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
Start read misc partition datas!
info-&amp;gt;magic = 
info-&amp;gt;version_major = 1
info-&amp;gt;version_minor = 0
info-&amp;gt;slots[0].priority = 15
info-&amp;gt;slots[0].tries_remaining = 7
info-&amp;gt;slots[0].successful_boot = 0
info-&amp;gt;slots[1].priority = 14
info-&amp;gt;slots[1].tries_remaining = 7
info-&amp;gt;slots[1].successful_boot = 0
info-&amp;gt;crc32 = -1075449479
active slot = 0
active_slot is normal
DTBO partition header is incorrect
load dtb from 0x1000000 ......
      Amlogic multi-dtb tool
      Single dtb detected
## Flattened Device Tree blob at 01000000
   Booting using the fdt blob at 0x1000000
No valid dtbo image found
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
[rsvmem] fdt get prop fail.
   Loading Ramdisk to 7eb05000, end 7f7ff7b6 ... OK
   Loading Device Tree to 000000001fff1000, end 000000001ffff3a4 ... OK

Starting kernel ...

uboot time: 5974060 us&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;boot from emmc after install_aml.sh&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;boot_from_emmc_after_install_amlsh&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:36,&amp;quot;secid&amp;quot;:27,&amp;quot;range&amp;quot;:&amp;quot;78405-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 29 Jul 2022 15:14:18 +0000</pubDate>
        </item>
        <item>
            <title>armbian_k3s</title>
            <link>https://wiki.autosys.tk/android/armbian_k3s</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;задача&quot;&gt;Задача&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Хочу запустить на &lt;strong&gt;Android TV-Box HK1 (Amlogic S905X3, 4Gb Ram, 128 Gb MMC) ~ $50&lt;/strong&gt; какой-нибудь из &lt;strong&gt;kubernetes&lt;/strong&gt;. Например - легковесный k3s от Rancher.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0417\u0430\u0434\u0430\u0447\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u0434\u0430\u0447\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-233&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;сборка_armbian&quot;&gt;Сборка Armbian&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Я люблю &lt;strong&gt;Ubuntu&lt;/strong&gt;, поэтому - собирать буду её. &lt;br/&gt;

При сборке &lt;strong&gt;Armbian&lt;/strong&gt; важно учесть следующее:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 дефолтная корневая файловая система &lt;strong&gt;ext4&lt;/strong&gt; - довольно небрежно относится к ресурсу накопителя &lt;strong&gt;eMMC&lt;/strong&gt;, а он отвечает ей тем же - часто случается переход системы в &lt;strong&gt;ReadOnly&lt;/strong&gt;, а в журнале можно обнаружить &lt;strong&gt;EXT4-fs error&lt;/strong&gt;. Поэтому - работать надо не на &lt;strong&gt;ext4&lt;/strong&gt;, а, например, на &lt;strong&gt;F2FS&lt;/strong&gt;.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 В дефолтных конфигурациях ядер &lt;strong&gt;Armbian&lt;/strong&gt; выключен модель ядра &lt;strong&gt;br_netfilter&lt;/strong&gt;. То есть - перед сборкой следует его включить. Например, для моего железа, так: &lt;pre class=&quot;code&quot;&gt; sed -i &amp;#039;s/CONFIG_BRIDGE_NETFILTER=.*$/CONFIG_BRIDGE_NETFILTER=y/&amp;#039; config/kernel/linux-meson-current.config&lt;/pre&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;
Я собирал свой образ такой командой:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;./compile.sh docker BOARD=odroidc4 BRANCH=current RELEASE=jammy BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=no ROOTFS_TYPE=f2fs FIXED_IMAGE_SIZE=32000&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0431\u043e\u0440\u043a\u0430 Armbian&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0431\u043e\u0440\u043a\u0430_armbian&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;234-1535&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;установка_k3s&quot;&gt;Установка k3s&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Выполняю локально на самой коробке с Armbian, поэтому в качестве адреса master-хоста указываю &lt;strong&gt;0.0.0.0&lt;/strong&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apt-get install ansible git sshpass
git clone https://github.com/k3s-io/k3s-ansible
cd k3s-ansible
cp -R inventory/sample inventory/armbian-box

cat &amp;lt;&amp;lt;EOF &amp;gt; inventory/armbian-box/hosts.ini
[master]
0.0.0.0
[k3s_cluster:children]
master
EOF

sed -i &amp;#039;s/ansible_user:.*/ansible_user: root/&amp;#039; inventory/armbian-box/group_vars/all.yml
ansible-playbook site.yml -i inventory/armbian-box/hosts.ini --ask-pass&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 k3s&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430_k3s&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1536-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 17 Jul 2022 20:55:59 +0000</pubDate>
        </item>
    </channel>
</rss>
