[SOLVED] Support for NanoPC-T3 (very similar to NanoPi-M2)

Hello Fourdee,

I have noticed that you seem to have just freshly added DietPi support for NanoPi-M2 (by FriendlyARM) today:
http://dietpi.com/phpbb/viewtopic.php?f=8&t=620

The NanoPC-T3 is a very similar device, but based on octa-core S5P6818 instead of quad-core S5P4418 (which seem to be pin-compatible).

While S5P6818 is 64-bits ARMv8, the only existing kernel as provided by FriendlyARM is still 32 bits ARMv7 based on 3.4.y (3.4.39) and very similar if not identical to the NanoPi-M2 kernel (with some slight exceptions for kernel config/devices). A 64-bit kernel for S5P6818 is currently under development, but has only been announced for “end of 2016” by Samsung/Nexell, and FriendlyARM does not yet comment on their device-specific release. (Adding full 64-bits support for NanoPC-T3 will only be possible some time in 2017 based on Nexell’s new 64-bit kernel.)

As it seems to have been quite straightforward for you to support the NanoPi-M2, would it be possible for you to also - while just “at it” and familiar with FriendlyARM’s kernels and images - support NanoPC-T3 in its current 32-bit 3.4.y-based “state of the art” like you did for NanoPi-M2? :wink:

If there is anything that I can help with doing so, just let me know (unfortunately, the process of image creation seems not to be contained in the DietPi git?). I also volunteer as a tester for this image (but am only available for any tasks starting Sept 5th)…

Many thanks in advance for your kind help and the great job you are doing with DietPi! :smiley:

Best regards,
awl

As it seems to have been quite straightforward for you to support the NanoPi-M2

Only because I’ve had to create images so many times lol :slight_smile:


support NanoPC-T3 in its current 32-bit 3.4.y-based “state of the art” like you did for NanoPi-M2?

if there is anything that I can help with doing so, just let me know (unfortunately, the process of image creation seems not to be contained in the DietPi git?). I also volunteer as a tester for this image (but am only available for any tasks starting Sept 5th)…

Its only possible for me to implement DietPi support and images, if I have the device. However, if your willing, I can guide you through the process?
We will do it in stages, ending up with a highly optimized image for DietPi to run on.

Firsts things first. Lets use the official Friendly ARM Debian image:
http://www.mediafire.com/download/6q7pvr03pb7pdoc/s5p6818-debian-sd4g-20160629.img.zip

Next its package removals and sources, Run the following commands:
Unified apt sources

cat << _EOF_ > /etc/apt/sources.list
deb http://ftp.debian.org/debian jessie main contrib non-free
deb http://ftp.debian.org/debian jessie-updates main contrib non-free
deb http://security.debian.org jessie/updates main contrib non-free
deb http://ftp.debian.org/debian jessie-backports main contrib non-free
_EOF_

Clean/update:

apt-get clean
apt-get update

Now its package removals:

apt-get purge cpp-* cpp ntpdate bluez bluetooth rsync dialog dhcpcd5 libsqlite* libxapian22 lua5.1 netcat-* make makedev ncdu plymouth openresolv shared-mime-in* tcpd strace tasksel* wireless-* xdg-user-dirs triggerhappy python* v4l-utils traceroute xz-utils ucf xauth zlib1g-dev xml-core aptitude* avahi-daemon rsyslog logrotate man-db manpages vim vim-common vim-runtime vim-tiny mc mc-data

NB: This is what I used for the M2 image, so should be the same results. If you get any “packages not found” or errors, post them here.

apt-get purge libpod-* libpeas-* isc-dhcp-server gnome-* fonts-dejavu* eject dnsmasq* dns-root-data colord-data libturbojpeg1 libjasper* libjson* libwbclient* libwayland* golang-* libavahi* libtext* libweb* libpcsclite1 libxau6* libvpx1 libxc* dictionaries-* libgtk* miscfiles minicom lrzsz lxmenu-* x11-* zenity* yelp-*



apt-get purge '\-dev$'



apt-get purge linux-headers*



apt-get autoremove --purge -y

Now I need to see the list of packages, so I can see if we need to remove any more:

dpkg -l

Hello again,

and thanks for your quick reply! :slight_smile:

Great! I will be more than happy to follow your instructions, but unfortunately only starting from Sept 5th… :smiley:

Fine. I have checked the instructions and list of commands you provided and think I will be able to successfully make it to the point where you expect the “dpkg -l” output from me :wink:

Looking forward to reporting back here the week after September 5th… :smiley:

Thanks again for your help & have a nice weekend!
awl

Hi,

I have a NanoPI m3, and install s5p6818-debian-wifiap-sd4g-20160701.img from friendlyarm.com.

I run your suggestion code.

At last i got this:

root@NanoPi3:~# dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
++±===================-==============-==============-===========================================
ii acl 2.2.52-2 armhf Access control list utilities
ii adduser 3.113+nmu3 all add and remove users and groups
ii apt 1.0.9.8 armhf commandline package manager
ii apt-utils 1.0.9.8 armhf package management related utility programs
ii base-files 8+deb8u1 armhf Debian base system miscellaneous files
ii base-passwd 3.5.37 armhf Debian base system master password and grou
ii bash 4.3-11+b1 armhf GNU Bourne Again SHell
ii bc 1.06.95-9 armhf GNU bc arbitrary precision calculator langu
ii bsdmainutils 9.0.6 armhf collection of more utilities from FreeBSD
ii bsdutils 1:2.25.2-6 armhf basic utilities from 4.4BSD-Lite
ii busybox 1:1.22.0-9+deb armhf Tiny utilities for small and embedded syste
ii bzip2 1.0.6-7+b3 armhf high-quality block-sorting file compressor
ii ca-certificates 20141019 all Common CA certificates
ii coreutils 8.23-4 armhf GNU core utilities
ii cpio 2.11+dfsg-4.1 armhf GNU cpio – a program to manage archives of
ii cron 3.0pl1-127 armhf process scheduling daemon
ii curl 7.38.0-4+deb8u armhf command line tool for transferring data wit
ii dash 0.5.7-4+b1 armhf POSIX-compliant shell
ii dbus 1.8.20-0+deb8u armhf simple interprocess messaging system (daemo
ii dconf-gsettings-bac 0.22.0-1 armhf simple configuration storage system - GSett
ii dconf-service 0.22.0-1 armhf simple configuration storage system - D-Bus
ii debconf 1.5.56 all Debian configuration management system
ii debian-archive-keyr 2014.3 all GnuPG archive keys of the Debian archive
ii debianutils 4.4+b1 armhf Miscellaneous utilities specific to Debian
ii desktop-file-utils 0.22-1 armhf Utilities for .desktop files
ii diffutils 1:3.3-1+b1 armhf File comparison utilities
ii dmidecode 2.12-3 armhf SMBIOS/DMI table decoder
ii dmsetup 2:1.02.90-2.2 armhf Linux Kernel Device Mapper userspace librar
ii dosfstools 3.0.27-1 armhf utilities for making and checking MS-DOS FA
ii dpkg 1.17.25 armhf Debian package management system
ii e2fslibs:armhf 1.42.12-1.1 armhf ext2/ext3/ext4 file system libraries
ii e2fsprogs 1.42.12-1.1 armhf ext2/ext3/ext4 file system utilities
ii fbcat 0.3-1 armhf framebuffer grabber
ii findutils 4.4.2-9+b1 armhf utilities for finding files–find, xargs
ii ftp 0.17-31 armhf classical file transfer client
ii fuse 2.9.3-15+deb8u armhf Filesystem in Userspace
ii gcc-4.8-base:armhf 4.8.4-1 armhf GCC, the GNU Compiler Collection (base pack
ii gcc-4.9-base:armhf 4.9.2-10 armhf GCC, the GNU Compiler Collection (base pack
ii gedit-common 3.14.0-3 all official text editor of the GNOME desktop e
ii glib-networking:arm 2.42.0-2 armhf network-related giomodules for GLib
ii glib-networking-com 2.42.0-2 all network-related giomodules for GLib - data
ii glib-networking-ser 2.42.0-2 armhf network-related giomodules for GLib - D-Bus
ii gnupg 1.4.18-7 armhf GNU privacy guard - a free PGP replacement
ii gpgv 1.4.18-7 armhf GNU privacy guard - signature verification
ii gpsd 3.11-3 armhf Global Positioning System - daemon
ii grep 2.20-4.1 armhf GNU grep, egrep and fgrep
ii groff-base 1.22.2-8 armhf GNU troff text-formatting system (base syst
ii gsettings-desktop-s 3.14.1-1 all GSettings desktop-wide schemas
ii gzip 1.6-4 armhf GNU compression utilities
ii hicolor-icon-theme 0.13-1 all default fallback theme for FreeDesktop.org
ii hostapd 1:2.3-1+deb8u1 armhf IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP
ii hostname 3.15 armhf utility to set/show the host name or domain
ii ifupdown 0.7.53.1 armhf high level tools to configure network inter
ii init 1.22 armhf System-V-like init utilities - metapackage
ii init-system-helpers 1.22 all helper tools for all init systems
ii initscripts 2.88dsf-59 armhf scripts for initializing and shutting down
ii insserv 1.14.0-5 armhf boot sequence organizer using LSB init.d sc
ii iproute2 3.16.0-2 armhf networking and traffic control tools
ii iputils-ping 3:20121221-5+b armhf Tools to test the reachability of network h
ii isc-dhcp-client 4.3.1-6 armhf DHCP client for automatically obtaining an
ii isc-dhcp-common 4.3.1-6 armhf common files used by all of the isc-dhcp pa
ii iw 3.17-1 armhf tool for configuring Linux wireless devices
ii keyboard-configurat 1.123 all system-wide keyboard preferences
ii kmod 18-3 armhf tools for managing Linux kernel modules
ii less 458-3 armhf pager program similar to more
ii libaacs0:armhf 0.7.1-1+b1 armhf free-and-libre implementation of AACS
ii libacl1:armhf 2.2.52-2 armhf Access control list shared library
ii libapt-inst1.5:armh 1.0.9.8 armhf deb package format runtime library
ii libapt-pkg4.12:armh 1.0.9.8 armhf package management runtime library
ii libarchive-extract- 0.72-1 all generic archive extracting module
ii libasn1-8-heimdal:a 1.6~rc2+dfsg-9 armhf Heimdal Kerberos - ASN.1 library
ii libatasmart4:armhf 0.19-3 armhf ATA S.M.A.R.T. reading and parsing library
ii libatk1.0-0:armhf 2.14.0-1 armhf ATK accessibility toolkit
ii libatk1.0-data 2.14.0-1 all Common files for the ATK accessibility tool
ii libattr1:armhf 1:2.4.47-2 armhf Extended attribute shared library
ii libaudit-common 1:2.4-1 all Dynamic library for security auditing - com
ii libaudit1:armhf 1:2.4-1+b1 armhf Dynamic library for security auditing
ii libblkid1:armhf 2.25.2-6 armhf block device id library
ii libbluetooth3:armhf 5.23-2+b1 armhf Library to use the BlueZ Linux Bluetooth st
ii libboost-iostreams1 1.55.0+dfsg-3 armhf Boost.Iostreams Library
ii libbsd0:armhf 0.7.0-2 armhf utility functions from BSD systems - shared
ii libbz2-1.0:armhf 1.0.6-7+b3 armhf high-quality block-sorting file compressor
ii libc-bin 2.19-18 armhf GNU C Library: Binaries
ii libc6:armhf 2.19-18+deb8u1 armhf GNU C Library: Shared libraries
ii libcap-ng0:armhf 0.7.4-2 armhf An alternate POSIX capabilities library
ii libcap2:armhf 1:2.24-8 armhf POSIX 1003.1e capabilities (library)
ii libcap2-bin 1:2.24-8 armhf POSIX 1003.1e capabilities (utilities)
ii libcgi-fast-perl 1:2.04-1 all CGI subclass for work with FCGI
ii libcgi-pm-perl 4.09-1 all module for Common Gateway Interface applica
ii libcolord2:armhf 1.2.1-1+b2 armhf system service to manage device colour prof
ii libcolorhug2:armhf 1.2.1-1+b2 armhf library to access the ColorHug colourimeter
ii libcomerr2:armhf 1.42.12-1.1 armhf common error description library
ii libcpan-meta-perl 2.142690-1 all Perl module to access CPAN distributions me
ii libcryptsetup4:armh 2:1.6.6-5 armhf disk encryption support - shared library
ii libcurl3:armhf 7.38.0-4+deb8u armhf easy-to-use client-side URL transfer librar
ii libdb5.3:armhf 5.3.28-9 armhf Berkeley v5.3 Database Libraries [runtime]
ii libdbus-1-3:armhf 1.8.20-0+deb8u armhf simple interprocess messaging system (libra
ii libdbus-glib-1-2:ar 0.102-1 armhf simple interprocess messaging system (GLib-
ii libdconf1:armhf 0.22.0-1 armhf simple configuration storage system - runti
ii libdebconfclient0:a 0.192 armhf Debian Configuration Management System (C-i
ii libdevmapper1.02.1: 2:1.02.90-2.2 armhf Linux Kernel Device Mapper userspace librar
ii libdns-export100 1:9.9.5.dfsg-9 armhf Exported DNS Shared Library
ii libdrm2:armhf 2.4.58-2 armhf Userspace interface to kernel DRM services
ii libedit2:armhf 3.1-20140620-2 armhf BSD editline and history libraries
ii libestr0 0.1.9-1.1 armhf Helper functions for handling strings (lib)
ii libevdev2 1.3+dfsg-1 armhf wrapper library for evdev devices
ii libexif12:armhf 0.6.21-2 armhf library to parse EXIF files
ii libexpat1:armhf 2.1.0-6+deb8u1 armhf XML parsing C library - runtime library
ii libfcgi-perl 0.77-1+b1 armhf helper module for FastCGI
ii libffi6:armhf 3.1-2+b2 armhf Foreign Function Interface library runtime
ii libfm-data 1.2.3-1 all file management support (common data)
ii libfm-extra4:armhf 1.2.3-1 armhf file management support (extra library)
ii libfm-gtk-data 1.2.3-1 all file management support (GTK+ library commo
ii libfreetype6:armhf 2.5.2-3+deb8u1 armhf FreeType 2 font engine, shared library file
ii libfribidi0:armhf 0.19.6-3 armhf Free Implementation of the Unicode BiDi alg
ii libfuse2:armhf 2.9.3-15+deb8u armhf Filesystem in Userspace (library)
ii libgcc1:armhf 1:4.9.2-10 armhf GCC support library
ii libgck-1-0:armhf 3.14.0-2 armhf Glib wrapper library for PKCS#11 - runtime
ii libgcr-3-common 3.14.0-2 all Library for Crypto UI related tasks - commo
ii libgcr-base-3-1:arm 3.14.0-2 armhf Library for Crypto related tasks
ii libgcrypt20:armhf 1.6.3-2 armhf LGPL Crypto library - runtime library
ii libgdbm3:armhf 1.8.3-13.1 armhf GNU dbm database routines (runtime version)
ii libgdk-pixbuf2.0-co 2.31.1-2+deb8u all GDK Pixbuf library - data files
ii libglapi-mesa:armhf 10.3.2-1+deb8u armhf free implementation of the GL API – shared
ii libgles2-mesa:armhf 10.3.2-1+deb8u armhf free implementation of the OpenGL|ES 2.x AP
ii libglib2.0-0:armhf 2.42.1-1+b1 armhf GLib library of C routines
ii libglib2.0-data 2.42.1-1 all Common files for GLib library
ii libgmp10:armhf 2:6.0.0+dfsg-6 armhf Multiprecision arithmetic library
ii libgnutls-deb0-28:a 3.3.8-6+deb8u1 armhf GNU TLS library - main runtime library
ii libgnutls-openssl27 3.3.8-6+deb8u1 armhf GNU TLS library - OpenSSL wrapper
ii libgoa-1.0-0b:armhf 3.14.2-1 armhf library for GNOME Online Accounts
ii libgoa-1.0-common 3.14.2-1 all library for GNOME Online Accounts - common
ii libgpg-error0:armhf 1.17-3 armhf library for common error values and message
ii libgphoto2-port10:a 2.5.4-1.1+b2 armhf gphoto2 digital camera port library
ii libgpm2:armhf 1.20.4-6.1+b2 armhf General Purpose Mouse - shared library
ii libgps21:armhf 3.11-3 armhf Global Positioning System - library
ii libgraphite2-3:armh 1.2.4-3 armhf Font rendering engine for Complex Scripts -
ii libgssapi-krb5-2:ar 1.12.1+dfsg-19 armhf MIT Kerberos runtime libraries - krb5 GSS-A
ii libgudev-1.0-0:armh 215-17+deb8u2 armhf GObject-based wrapper library for libudev
ii libgusb2:armhf 0.1.6-5 armhf GLib wrapper around libusb1
ii libharfbuzz-icu0:ar 0.9.35-2 armhf OpenType text shaping engine ICU backend
ii libharfbuzz0b:armhf 0.9.35-2 armhf OpenType text shaping engine (shared librar
ii libhcrypto4-heimdal 1.6~rc2+dfsg-9 armhf Heimdal Kerberos - crypto library
ii libheimbase1-heimda 1.6~rc2+dfsg-9 armhf Heimdal Kerberos - Base library
ii libhogweed2:armhf 2.7.1-5 armhf low level cryptographic library (public-key
ii libhx509-5-heimdal: 1.6~rc2+dfsg-9 armhf Heimdal Kerberos - X509 support library
ii libicu52:armhf 52.1-8 armhf International Components for Unicode
ii libidn11:armhf 1.29-1+b2 armhf GNU Libidn library, implementation of IETF
ii libieee1284-3:armhf 0.2.11-12 armhf cross-platform library for parallel port ac
ii libirs-export91 1:9.9.5.dfsg-9 armhf Exported IRS Shared Library
ii libisc-export95 1:9.9.5.dfsg-9 armhf Exported ISC Shared Library
ii libisccfg-export90 1:9.9.5.dfsg-9 armhf Exported ISC CFG Shared Library
ii libjavascriptcoregt 2.4.9-1~deb8u1 armhf JavaScript engine library from WebKitGTK+
ii libjbig0:armhf 2.1-3.1 armhf JBIGkit libraries
ii libjim0.75:armhf 0.75-1 armhf small-footprint implementation of Tcl - sha
ii libjpeg62-turbo:arm 1:1.3.1-12 armhf libjpeg-turbo JPEG runtime library
ii libk5crypto3:armhf 1.12.1+dfsg-19 armhf MIT Kerberos runtime libraries - Crypto Lib
ii libkeyutils1:armhf 1.5.9-5+b1 armhf Linux Key Management Utilities (library)
ii libkmod2:armhf 18-3 armhf libkmod shared library
ii libkrb5-3:armhf 1.12.1+dfsg-19 armhf MIT Kerberos runtime libraries
ii libkrb5support0:arm 1.12.1+dfsg-19 armhf MIT Kerberos runtime libraries - Support li
ii liblcms2-2:armhf 2.6-3+b3 armhf Little CMS 2 color management library
ii libldap-2.4-2:armhf 2.4.40+dfsg-1 armhf OpenLDAP libraries
ii libldb1:armhf 2:1.1.20-0+deb armhf LDAP-like embedded database - shared librar
ii liblocale-gettext-p 1.05-8+b1 armhf module using libc functions for internation
ii liblog-message-perl 0.8-1 all powerful and flexible message logging mecha
ii liblog-message-simp 0.10-2 all simplified interface to Log::Message
ii liblogging-stdlog0: 1.0.4-1 armhf easy to use and lightweight logging library
ii libltdl7:armhf 2.4.2-1.11 armhf System independent dlopen wrapper for GNU l
ii liblzma5:armhf 5.1.1alpha+201 armhf XZ-format compression library
ii liblzo2-2:armhf 2.08-1.2 armhf data compression library
ii libmbim-glib4:armhf 1.10.0-2.1 armhf Support library to use the MBIM protocol
ii libmbim-proxy 1.10.0-2.1 armhf Proxy to communicate with MBIM ports
ii libmenu-cache-bin 1.0.0-1 armhf LXDE implementation of the freedesktop Menu
ii libmenu-cache3:armh 1.0.0-1 armhf LXDE implementation of the freedesktop Menu
ii libmm-glib0:armhf 1.4.0-1 armhf D-Bus service for managing modems - shared
ii libmnl0:armhf 1.0.3-5 armhf minimalistic Netlink communication library
ii libmodule-build-per 0.421000-2 all framework for building and installing Perl
ii libmodule-pluggable 5.1-1 all module for giving modules the ability to h
ii libmodule-signature 0.73-1+deb8u2 all module to manipulate CPAN SIGNATURE files
ii libmount1:armhf 2.25.2-6 armhf device mounting library
ii libmpdec2:armhf 2.4.1-1 armhf library for decimal floating point arithmet
ii libmtdev1:armhf 1.1.5-1 armhf Multitouch Protocol Translation Library - s
ii libmtp-common 1.1.8-1 all Media Transfer Protocol (MTP) common files
ii libmtp9:armhf 1.1.8-1+b1 armhf Media Transfer Protocol (MTP) library
ii libncurses5:armhf 5.9+20140913-1 armhf shared libraries for terminal handling
ii libncursesw5:armhf 5.9+20140913-1 armhf shared libraries for terminal handling (wid
ii libnetfilter-acct1: 1.0.2-1.1 armhf Netfilter acct library
ii libnetpbm10 2:10.0-15.2 armhf Graphics conversion tools shared libraries
ii libnettle4:armhf 2.7.1-5 armhf low level cryptographic library (symmetric
ii libnewt0.52:armhf 0.52.17-1+b1 armhf Not Erik’s Windowing Toolkit - text mode wi
ii libnfnetlink0:armhf 1.0.1-3 armhf Netfilter netlink library
ii libnl-3-200:armhf 3.2.24-2 armhf library for dealing with netlink sockets
ii libnl-genl-3-200:ar 3.2.24-2 armhf library for dealing with netlink sockets -
ii libnl-route-3-200:a 3.2.24-2 armhf library for dealing with netlink sockets -
ii libntdb1:armhf 1.0-5 armhf New Trivial Database - shared library
ii libopenvg1-mesa:arm 10.3.2-1+deb8u armhf free implementation of the OpenVG API – ru
ii libopts25:armhf 1:5.18.4-3 armhf automated option processing library based o
ii libp11-kit0:armhf 0.20.7-1 armhf Library for loading and coordinating access
ii libpackage-constant 0.04-1 all List constants defined in a package
ii libpam-modules:armh 1.1.8-3.1 armhf Pluggable Authentication Modules for PAM
ii libpam-modules-bin 1.1.8-3.1 armhf Pluggable Authentication Modules for PAM -
ii libpam-runtime 1.1.8-3.1 all Runtime support for the PAM library
ii libpam-systemd:armh 215-17+deb8u2 armhf system and service manager - PAM module
ii libpam0g:armhf 1.1.8-3.1 armhf Pluggable Authentication Modules library
ii libparted2:armhf 3.2-7 armhf disk partition manipulator - shared library
ii libpci3:armhf 1:3.2.1-3 armhf Linux PCI Utilities (shared library)
ii libpciaccess0:armhf 0.13.2-3+b1 armhf Generic PCI access library for X
ii libpcre3:armhf 2:8.35-3.3+deb armhf Perl 5 Compatible Regular Expression Librar
ii libpipeline1:armhf 1.4.0-1 armhf pipeline manipulation library
ii libpng12-0:armhf 1.2.50-2+deb8u armhf PNG library - runtime
ii libpolkit-agent-1-0 0.105-8 armhf PolicyKit Authentication Agent API
ii libpolkit-backend-1 0.105-8 armhf PolicyKit backend API
ii libpolkit-gobject-1 0.105-8 armhf PolicyKit Authorization API
ii libpopt0:armhf 1.16-10 armhf lib for parsing cmdline parameters
ii libprocps3:armhf 2:3.3.9-9 armhf library for accessing process information f
ii libproxy1:armhf 0.4.11-4+b2 armhf automatic proxy configuration management li
ii libpsl0:armhf 0.5.1-1 armhf Library for Public Suffix List (shared libr
ii libqmi-glib1:armhf 1.10.2-2 armhf Support library to use the Qualcomm MSM Int
ii libqmi-proxy 1.10.2-2 armhf Proxy to communicate with QMI ports
ii libreadline6:armhf 6.3-8+b3 armhf GNU readline and history libraries, run-tim
ii libroken18-heimdal: 1.6~rc2+dfsg-9 armhf Heimdal Kerberos - roken support library
ii librtmp1:armhf 2.4+20150115.g armhf toolkit for RTMP streams (shared library)
ii libsane-common 1.0.24-8+deb8u all API library for scanners – documentation a
ii libsasl2-2:armhf 2.1.26.dfsg1-1 armhf Cyrus SASL - authentication abstraction lib
ii libsasl2-modules:ar 2.1.26.dfsg1-1 armhf Cyrus SASL - pluggable authentication modul
ii libsasl2-modules-db 2.1.26.dfsg1-1 armhf Cyrus SASL - pluggable authentication modul
ii libsecret-1-0:armhf 0.18-1+b1 armhf Secret store
ii libsecret-common 0.18-1 all Secret store (common files)
ii libselinux1:armhf 2.3-2 armhf SELinux runtime shared libraries
ii libsemanage-common 2.3-1 all Common files for SELinux policy management
ii libsemanage1:armhf 2.3-1+b1 armhf SELinux policy management library
ii libsepol1:armhf 2.3-2 armhf SELinux library for manipulating binary sec
ii libsigc+±2.0-0c2a: 2.4.0-1 armhf type-safe Signal Framework for C++ - runtim
ii libslang2:armhf 2.3.0-2 armhf S-Lang programming library - runtime versio
ii libsmartcols1:armhf 2.25.2-6 armhf smart column output alignment library
ii libss2:armhf 1.42.12-1.1 armhf command-line interface parsing library
ii libssh2-1:armhf 1.4.3-4.1 armhf SSH2 client-side library
ii libssl1.0.0:armhf 1.0.1k-3 armhf Secure Sockets Layer toolkit - shared libra
ii libstdc++6:armhf 4.9.2-10 armhf GNU Standard C++ Library v3
ii libsystemd0:armhf 215-17+deb8u2 armhf systemd utility library
ii libtalloc2:armhf 2.1.1-2 armhf hierarchical pool based memory allocator
ii libtasn1-6:armhf 4.2-3+deb8u1 armhf Manage ASN.1 structures (runtime)
ii libtdb1:armhf 1.3.1-1 armhf Trivial Database - shared library
ii libterm-ui-perl 0.42-1 all Term::ReadLine UI made easy
ii libtevent0:armhf 0.9.21-1 armhf talloc-based event loop library - shared li
ii libtiff5:armhf 4.0.3-12.3+deb armhf Tag Image File Format (TIFF) library
ii libtinfo5:armhf 5.9+20140913-1 armhf shared low-level terminfo library for termi
ii libudev1:armhf 215-17+deb8u1 armhf libudev shared library
ii libudisks2-0:armhf 2.1.3-5 armhf GObject based library to access udisks2
ii libusb-0.1-4:armhf 2:0.1.12-25 armhf userspace USB programming library
ii libusb-1.0-0:armhf 2:1.0.19-1 armhf userspace USB programming library
ii libustr-1.0-1:armhf 1.0.4-3+b2 armhf Micro string library: shared library
ii libuuid1:armhf 2.25.2-6 armhf Universally Unique ID library
ii libwind0-heimdal:ar 1.6~rc2+dfsg-9 armhf Heimdal Kerberos - stringprep implementatio
ii libwrap0:armhf 7.6.q-25 armhf Wietse Venema’s TCP wrappers library
ii locales 2.19-18+deb8u1 all GNU C Library: National Language (locale) d
ii locate 4.4.2-9+b1 armhf maintain and query an index of a directory
ii login 1:4.2-3 armhf system login tools
ii lsb-base 4.1+Debian13+n all Linux Standard Base 4.1 init script functio
ii mawk 1.3.3-17 armhf a pattern scanning and text processing lang
ii modemmanager 1.4.0-1 armhf D-Bus service for managing modems
ii mount 2.25.2-6 armhf Tools for mounting and manipulating filesys
ii multiarch-support 2.19-18 armhf Transitional package to ensure multiarch co
ii nano 2.2.6-3 armhf small, friendly text editor inspired by Pic
ii ncurses-base 5.9+20140913-1 all basic terminal type definitions
ii ncurses-bin 5.9+20140913-1 armhf terminal-related programs and man pages
ii net-tools 1.60-26+b1 armhf NET-3 networking toolkit
ii netbase 5.3 all Basic TCP/IP networking system
ii netpbm 2:10.0-15.2 armhf Graphics conversion tools between image for
ii nfacct 1.0.1-1.1 armhf netfilter accounting object tool
ii ntfs-3g 1:2014.2.15AR. armhf read/write NTFS driver for FUSE
ii ntp 1:4.2.6.p5+dfs armhf Network Time Protocol daemon and utility pr
ii openssh-client 1:6.7p1-5 armhf secure shell (SSH) client, for secure acces
ii openssh-server 1:6.7p1-5 armhf secure shell (SSH) server, for secure acces
ii openssh-sftp-server 1:6.7p1-5 armhf secure shell (SSH) sftp server module, for
ii openssl 1.0.1k-3 armhf Secure Sockets Layer toolkit - cryptographi
ii parted 3.2-7 armhf disk partition manipulator
ii passwd 1:4.2-3 armhf change and administer password and group da
ii pciutils 1:3.2.1-3 armhf Linux PCI Utilities
ii perl 5.20.2-3+deb8u armhf Larry Wall’s Practical Extraction and Repor
ii perl-base 5.20.2-3+deb8u armhf minimal Perl system
ii perl-modules 5.20.2-3+deb8u all Core Perl modules
ii policykit-1 0.105-8 armhf framework for managing administrative polic
ii procps 2:3.3.9-9 armhf /proc file system utilities
ii psmisc 22.21-2 armhf utilities that use the proc file system
ii readline-common 6.3-8 all GNU readline and history libraries, common
ii rename 0.20-3 all Perl extension for renaming multiple files
ii resolvconf 1.76.1 all name server information handler
ii rfkill 0.5-1 armhf tool for enabling and disabling wireless de
ii sed 4.2.2-4+b1 armhf The GNU sed stream editor
ii sensible-utils 0.0.9 all Utilities for sensible alternative selectio
ii startpar 0.59-3 armhf run processes in parallel and multiplex the
ii sudo 1.8.10p3-1+deb armhf Provide limited super user privileges to sp
ii systemd 215-17+deb8u2 armhf system and service manager
ii systemd-sysv 215-17+deb8u2 armhf system and service manager - SysV links
ii sysv-rc 2.88dsf-59 all System-V-like runlevel change mechanism
ii sysvinit-utils 2.88dsf-59 armhf System-V-like utilities
ii tar 1.27.1-2+b1 armhf GNU version of the tar archiving utility
ii tzdata 2015d-0+deb8u1 all time zone and daylight-saving time data
ii udev 215-17+deb8u1 armhf /dev/ and hotplug management daemon
ii udhcpd 1:1.22.0-9+deb armhf Provides the busybox DHCP server implementa
ii util-linux 2.25.2-6 armhf Miscellaneous system utilities
ii wget 1.16-1 armhf retrieves files from the web
ii whiptail 0.52.17-1+b1 armhf Displays user-friendly dialog boxes from sh
ii xkb-data 2.12-1 all X Keyboard Extension (XKB) configuration da
ii zlib1g:armhf 1:1.2.8.dfsg-2 armhf compression library - runtime

Nearly there, run:

apt-get purge hicolor-icon-theme gedit-common gcc-4.8 glib-networking* gsettings-desktop* hostapd desktop-file-utils ftp gpsd modemmanager netpbm policykit-* libtiff5 libqmi-proxy libmtp*  libmenu-* libglapi-mesa libgles2-mesa

I’ve not converted the rest into a script yet. So you will need to do this manually: https://github.com/Fourdee/DietPi/blob/dev/PREP_SYSTEM_FOR_DIETPI.sh

Hello again,

this is just to inform you that I’m back and able to look into this myself now (in addition to alexecn’s work - thank you!). :slight_smile:
Will report back shortly about my progress…

Thanks & best regards,
awl

Update:

Good news: I can confirm the package list output from “dpkg -l” that alexecn has provided after completing the steps from your first post is correct - on my NanoPC-T3, it’s 100% identical to his NanoPi-M3 :smiley:

I have now continued and purged the remaining packages as stated in your second post, then issued one more time

apt-get autoremove --purge -y

Now starting to find my way through the steps in PREP_SYSTEM_FOR_DIETPI.sh - first set of questions so far: :question:

  • Why does DietPi delete any non-root users? Do you propose to run everything as root on a DietPi system?
  • Why does DietPi delete /home directory (especially when non-root users exist)?
  • Why does DietPi delete /media? This is the default Linux standard directory to mount any media (i.e. not /mnt/usb_X)…
  • I think that the /boot filesystem on NanoPC-T3/NanoPi-M3 must be ext4 because the device specific u-boot expects it this way, while you seem to assume fat32: What can be done about this?
  • What about a ntp client to keep DietPi’s clock in sync? You seem to purge ntpdate?

Also, it looks like the apt-get purge process has even removed vi from the system. Which editor do you expect me to use?

Many thanks & best regards
awl

Hi,

please read: http://fuzon.co.uk/phpbb/viewtopic.php?p=38#p38

yes, see above

there is no non-root user, so no need for /home. Root has his own home directory /root

Because DietPi don*t use at the moment. But you can do whatever you like, you are root …
Using /mnt/… is the “classic variation” Filesystem Hierarchy Standard

compiling from scratch, if you can: https://github.com/Fourdee/DietPi/issues/482#issuecomment-242922843

Yes and no. DietPi does it by default in another way, to to save resources

but user can change the ntp mode any time: DietPi/dietpi.txt at master · Fourdee/DietPi · GitHub

Hello Fourdee and k-plan,

thanks a million for your kind help and your replies to my first set of questions! Clearly helpful to understand some background! :smiley:

You mean, recompiling u-boot with different boot support? NanoPi3 kernel already supports VFAT, but indeed default boot parameters for NanoPi3 (from FriendlyARM git) seem to only load/boot from ext4:

#define CONFIG_BOOTCOMMAND "ext4load mmc 2:1 0x48000000 uImage;ext4load mmc 2:1 0x49000000 root.img.gz;bootm 0x48000000"

Unfortunately, no clues about what all this u-boot stuff might mean… :thinking:

One more current question from looking at PREP_SYSTEM_FOR_DIETPI.sh:

What is the difference between /boot/dietpi/… and /DietPi/dietpi/…?

Both seem to contain the same files, but instructions at the top of PREP_SYSTEM_FOR_DIETPI.sh instruct me to copy the content of copy the following files and folders to /boot: https://github.com/Fourdee/DietPi

  • /boot/dietpi.txt (file)
  • /boot/config.txt (file)
  • /boot/dietpi (folder)

On the other hand, at many places at the bottom of PREP_SYSTEM_FOR_DIETPI.sh, it looks like these files should rather end up at /DietPi/dietpi :question:
Or even in both locations? Please advise.

I’m about half way through PREP_SYSTEM_FOR_DIETPI.sh, so once I know why and where the dietpi script directory is located correctly, I might be able to run finalise (so maybe tomorrow)…

Thanks again & best regards,
awl

  • /boot => is the first (FAT) partition for device booting

  • /boot/dietPi/ => folder with all spripts for DietPi
    if device boots up, it will be loaded into a file system in RAM => /DietPi
    will be sync when device will shutdown or reboot

root@NeoPi:~# df -h
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
/dev/mmcblk0p2  7,3G    1,4G  5,9G   19% /
udev             10M       0   10M    0% /dev
tmpfs            99M    4,5M   95M    5% /run
tmpfs           248M       0  248M    0% /dev/shm
tmpfs           5,0M       0  5,0M    0% /run/lock
tmpfs           248M       0  248M    0% /sys/fs/cgroup
tmpfs            10M    1,2M  8,9M   12% /DietPi
tmpfs            20M     84K   20M    1% /var/log
tmpfs           248M       0  248M    0% /tmp
/dev/mmcblk0p1   64M     19M   46M   29% /boot


root@NeoPi:~# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk0     179:0    0  7,4G  0 disk
├─mmcblk0p1 179:1    0   64M  0 part /boot
└─mmcblk0p2 179:2    0  7,4G  0 part /



root@NeoPi:~#  ls -la /
insgesamt 84
drwxr-xr-x  21 root root  4096 Sep  8 12:10 .
drwxr-xr-x  21 root root  4096 Sep  8 12:10 ..
drwxr-xr-x   2 root root  4096 Jun 17 14:44 bin
drwxr-xr-x   5 root root 16384 Jan  1  1970 boot
drwxr-xr-x  14 root root  3280 Sep  8 19:31 dev
drwxrwxrwt   3 root root   120 Sep  8 19:04 DietPi
drwxr-xr-x  78 root root  4096 Sep  8 19:00 etc
drwxr-xr-x  18 root root  4096 Jun 17 17:56 lib
drwxr-xr-x   4 root root  4096 Sep  8 18:26 logfile_storage
drwx------   2 root root 16384 Feb 26  2016 lost+found
drwxr-xr-x  10 root root  4096 Sep  8 18:40 mnt
drwxr-xr-x   3 root root  4096 Feb 26  2016 opt
dr-xr-xr-x 107 root root     0 Jan  1  1970 proc
drwx------   6 root root  4096 Sep  8 18:53 root
drwxr-xr-x  15 root root   520 Sep  8 19:05 run
drwxr-xr-x   2 root root  4096 Sep  8 14:04 sbin
drwxr-xr-x   3 root root  4096 Sep  8 12:07 srv
dr-xr-xr-x  12 root root     0 Jan  1  1970 sys
drwxrwxrwt   7 root root   140 Sep  8 19:17 tmp
drwxr-xr-x  10 root root  4096 Feb 26  2016 usr
drwxr-xr-x  11 root root  4096 Sep  7 14:27 var


root@NeoPi:~# ls -la /boot/
insgesamt 17448
drwxr-xr-x  3 root root   16384 Jan  1  1970 .
drwxr-xr-x 24 root root    4096 Aug 28 13:04 ..
-rwxr-xr-x  1 root root    2527 Aug  6 20:34 boot.cmd
-rwxr-xr-x  1 root root    2617 Sep  3 16:38 boot.cmd.led
-rwxr-xr-x  1 root root    2689 Sep  3 16:40 boot.scr
-rwxr-xr-x  1 root root    2599 Sep  3 16:39 boot.scr.bac
-rwxr-xr-x  1 root root   94652 Aug  6 20:08 config-3.4.112-sun8i
-rwxr-xr-x  1 root root    2026 Sep  8 09:39 config.txt
drwxr-xr-x  5 root root    4096 Sep  8 09:39 dietpi
-rwxr-xr-x  1 root root    7244 Sep  8 09:39 dietpi.txt
-rwxr-xr-x  1 root root 2450551 Aug  6 20:30 initrd.img-3.4.112-sun8i
-rwxr-xr-x  1 root root    5958 Aug  7 14:16 README.md
-rwxr-xr-x  1 root root   35300 Sep  3 18:24 script.bin
-rwxr-xr-x  1 root root   35300 Aug 28 17:57 script.bin.bac
-rwxr-xr-x  1 root root   35300 Aug 28 15:49 script.bin.bak
-rwxr-xr-x  1 root root   35300 Sep  3 17:10 script.bin.led
-rwxr-xr-x  1 root root 2109989 Aug  6 20:08 System.map-3.4.112-sun8i
-rwxr-xr-x  1 root root 2876710 Aug  6 20:28 uInitrd
-rwxr-xr-x  1 root root 5061776 Aug  6 20:08 vmlinuz-3.4.112-sun8i
-rwxr-xr-x  1 root root 5061776 Aug  6 20:08 zImage

Hello again,

Hmm…

So am I correct in that this means all commands in the script PREP_SYSTEM_FOR_DIETPI.sh MUST NOT reference /DietPi (as this filesystem is not yet created)?

On the other hand, many commands at the bottom of PREP_SYSTEM_FOR_DIETPI.sh do indeed reference DietPi scripts from the tmpfs location /DietPi/dietpi…

After digging in a little further, am I correctly assuming that the workflow is as follows:

  • PREP_SYSTEM_FOR_DIETPI.sh copies DietPI’s fstab to /etc/fstab (which includes a mount point for /DietPi as tmpfs)
  • The DietPi Service (dietpi-service) is started
  • The service startup calls dietpi-ramdisk, which takes care of copying /boot/dietpi/… to the ramdisk for the very first time

Correct? Pretty hard to figure out - there should at least be some additional hints on how this is supposed to work… :wink:

Will have to stop now and call it a day for today, and report back late tomorrow night on my progress… :smiley:

Thanks,
awl

This is correct. The RAMDISK isn’t created until you run the dietpi-service section.

The script is designed as a start to finish script. Basically, you can follow the script, line by line. The order of the script has been designed as such.

The only things you should look out for are

cat << _EOF_ /location
#Some kind of wacky commands and stuff
_EOF_

Make sure you copy and paste everything, in one paste, from the the starting cat << EOF to the end EOF

Hello again, Fourdee (and/or k-plan),

so I’ve now indeed successfully arrived at the bottom of PREP_SYSTEM_FOR_DIETPI.sh, where it states

“A Unique HW_MODEL index will need to be assigned and coded into the DietPi sourcecode.”

So here is my Unique HW_MODEL Index Request for NanoPi3:

I would assume that a HW_MODEL id of 62 would be appropriate, and HW_MODEL_DESCRIPTION should probably be ‘NanoPi3’ being kind of the “generic term” used by FriendlyARM themselves for NanoPC-T3 and NanoPi-M3. (Note that you might want to change ‘NanoPi M2’ for model 61 into ‘NanoPi2’ as well, as there also are NanoPC-T2 and NanoPi-M2 subsumed under this name.)

Am I correct in that I also need the following as well (in addition to the changes in dietpi-obtain_hw_model):

echo 62 > /etc/.dietpi_hw_model_identifier

For IMAGE_ADDITIONAL_CREDITS, I’d propose ‘FriendlyARM’.

Also, I have noticed that In finalise, you seem to disable serial console - which I think might not be such a good idea, as serial console might be needed in the very beginning to interact with the freshly installed system (e.g. in a no screen, no keyboard, no [or misconfigured] network scenario). When users want to save the last bits and bytes of memory, IMO it would be sufficient to be able to disable it via the config tool.

OK, once I have the HW_MODEL confirmed, I’ll then run the finalise script and finally shut down the device in a clean way (shutdown -h now).

Next question is about the next step: “Read image”. How do you want me to do this? The whole SD card (8GB in my case) at once, e.g. using Win32DiskImager? Or rather by partition, and from a Linux installation using other tools? And finally, how do you expect me to “Resize 2nd parition to mininum size +50MB”?

Please advise! :wink:

So it looks like we might end up with an alpha build (SD card image(s)) once the above questions have been answered. Great!
I myself would finally need to determine in addition how to migrate DietPi from the SD card to the eMMC contained in my NanoPC-T3 (NanoPi-M3 has no such thing), but that’s another story…

Thanks a lot for all your work and your kind help! :smiley:

Best regards & have a nice weekend,
awl

Oh, and I nearly forgot:

finalise also needs to be patched to post-process fstab to make /boot an ext4 filesystem for model 62, too (in the same way as for $HW_MODEL == 61).

Best,
awl

I’ve create a ticket for this. Hopefully get round to it in the next day or two: https://github.com/Fourdee/DietPi/issues/506

I would assume that a HW_MODEL id of 62 would be appropriate, and HW_MODEL_DESCRIPTION should probably be ‘NanoPi3’ being kind of the “generic term” used by FriendlyARM themselves for NanoPC-T3 and NanoPi-M3.

Pretty much spot on :slight_smile:

HW_MODEL_DESCRIPTION will be NanoPC-T3 as per product webpage: http://www.friendlyarm.com/index.php?route=product/product&product_id=123

Am I correct in that I also need the following as well (in addition to the changes in dietpi-obtain_hw_model):echo 62 > /etc/.dietpi_hw_model_identifier

Yep, spot on.

For IMAGE_ADDITIONAL_CREDITS, I’d propose ‘FriendlyARM’.

We generally don’t give credit for official images by manufacture (they should be always be available), but i’ll have a think about it.

Next question is about the next step: “Read image”. How do you want me to do this? The whole SD card (8GB in my case) at once, e.g. using Win32DiskImager? Or rather by partition, and from a Linux installation using other tools? And finally, how do you expect me to “Resize 2nd parition to mininum size +50MB”?

Read from win32diskimage and zip + upload will be fine.
Or your welcome to try my image resize script:

#!/bin/bash
{

	#check packages are installed
	if (( ! $(dpkg -l | grep -ci -m1 'gparted') )); then
		apt-get install gparted zerofree -y
	fi

	#-------------------------------------------------------------------------------
	#MUST LEAVE 40MB+ space or automation autologin may fail due to 0 free space!!!
	#-------------------------------------------------------------------------------

	#XU4
	IMAGE_FP="/mnt/samba/#Backups/_Daniel/Projects/DietPi"

	IMAGE_NAME="DietPi-AmiBerry_v130_RPi-armv6-(Jessie)"
	IMAGE_NAME+=".img"

	modprobe loop
	losetup -f
	losetup /dev/loop2 "$IMAGE_FP/$IMAGE_NAME"
	partprobe /dev/loop2

	e2fsck -f /dev/loop2p1
	e2fsck -f /dev/loop2p2

	gparted /dev/loop2

	read -p "If failed press CTRL+C to exit and prevent further action, else, press any key to continue."

	zerofree -v /dev/loop2p1
	zerofree -v /dev/loop2p2

	losetup -d /dev/loop2

	END_PARTITION=$(( $(fdisk -l "$IMAGE_FP/$IMAGE_NAME" | grep ".img2" | awk '{print $3}') + 1 ))
	END_PARTITION=$(( $END_PARTITION * 512 ))

	truncate --size=$END_PARTITION "$IMAGE_FP/$IMAGE_NAME"

	read -p "Done, press any key to continue..."

	exit

}

Either way, i need to update the sourcecode to support this device before hand. I’ll let you know when its ready.

finalise also needs to be patched to post-process fstab to make /boot an ext4 filesystem for model 62, too (in the same way as for $HW_MODEL == 61).

Noted, i’ll code a FS type check into the script.

Hi again,

hey - you are faster than a speeding bullet indeed… :sunglasses:

No worries - take your time. I’m already about to proceed based on what I assume the change in dietpi-obtain_hw_model will look like… :wink:

I’m not sure whether you got the point I was trying to make about why I proposed “NanoPi3”:

Basically, FriendlyARM has created two very similar types of devices (each type consists of two devices) that can share the exact same image: NanoPC-T2/NanoPi-M2 is the first (both quad-core 32-bits Samsung S5P4418), and NanoPC-T3/NanoPi-M3 (both octa-core 64-bits Samsung S5P6818, currently still with a 32-bits kernel) the second type.

In other words, HW_MODEL 61 already works fine for for both NanoPC-T2 and NanoPi-M2. As a “hypernym” (generic term), FriendlyARM themselves use the term “NanoPi2” when they mean both NanoPC-T2 and NanoPi-M2, and NanoPi2 is also the hostname in the stock Debian images for these two devices.

HW_MODEL 62 will work fine for for both NanoPC-T3 and NanoPi-M3. Hypernym/generic term here used by FriendlyARM is NanoPi3 when they mean both NanoPC-T2 and NanoPi-M3, and NanoPi3 is also the hostname in the stock Debian images for these devices.

So that’s why I’d suggest to go with the generic names. As an alternative, you might of course create four HW_MODEL IDs with the exact product names (as found on their website) and handle two pairs of them in the exact same way.

I rather think it should be sufficient if some text on the DietPi download page states that NanoPi2 is fine for NanoPC-T2 and NanoPi-M2, and NanoPi3 is fine for NanoPC-T3 and NanoPi-M3…

Fine with me, they don’t really deserve additional credit, as their image indeed is 99.5% nothing but plain Debian… :wink:

Will do so for the final image once device support is official :slight_smile:

Thanks, great!

Best,
awl

Also, I have noticed that In finalise, you seem to disable serial console - which I think might not be such a good idea, as serial console might be needed in the very beginning to interact with the freshly installed system (e.g. in a no screen, no keyboard, no [or misconfigured] network scenario).

If you neeed it, you can switch it on by editing /boot/dietpi.txt after burning image on sd card: DietPi/dietpi.txt at master · Fourdee/DietPi · GitHub
(btw: - one reason, why first partition /boot better have to be FAT partition )

When users want to save the last bits and bytes of memory, IMO it would be sufficient to be able to disable it via the config tool.

If you will need it forever, you can switch it on via dietpi-config
160909-0002.gif

Hello Fourdee,

just wanted to let you know that I have just successfully completed an alpha build of DietPi v130 for NanoPi3 (NanoPC-T3/NanoPi-M3). :smiley:

Note that I ran into a hidden pitfall when I stumbled over the fact that there is a MAX_HW_MODEL in dietpi-software that I also needed to increase to 62. :open_mouth:

There were some error messages about trying to remove DietPi files that were not yet existing, but otherwise, things seemed pretty straightforward. :slight_smile:

I have fully scripted the whole process (in a quick-and-dirty manner) based on PREP_SYSTEM_FOR_DIETPI.sh such that it can run unattended (takes several hours!), provided that the appropriate changes in finalise (fstab: ext4 boot partition!) as well as dietpi-obtain_hw_model and dietpi-software (HW_MODEL) are available from an official release (the git master branch):

  • Start by booting a from an SD card containing a fresh FriendlyARM Debian image
  • Change into a non-X11 virtual console (e.g. with Alt-F2), as X11 will be uninstalled during the process
  • log into the system as user root (password: fa)
  • download the script: PREP_NANOPI3_FOR_DIETPI.sh onto the NanoPi3 and start it from the root shell

Once the script has completed, it shuts down the NanoPi3 properly (e.g. shutdown -h now). Then take the SD card out, put it into a Windows or Linux PC and create an SD card image using e.g. Win32DiskImager (or Linux dd).

The current version of the script (quick and dirty - no warranties/liabilities for any damage!) is attached here:
PREP_NANOPI3_FOR_DIETPI.zip (5.79 KB)
I’m happy to repeat these actions to create an official image once the HW_MODEL changes have been published in git, and then provide the resulting image file.

That’s it for now - note that I’ll only be able to continue to work on this on Wednesday (Sept 14th) at the earliest.

Best regards & have a nice Sunday,
awl

Excellent work, looks good. Sept 14th is good, gives me some extra time :slight_smile:

I’m happy to repeat these actions to create an official image once the HW_MODEL changes have been published in git, and then provide the resulting image file.

Would be great if you could. Who am I giving credit to in changelog (eg: name you want me to use)?

Looks like your right, T2 vs M2 main differences I can see are:

  • T2 + EMMC
  • T2 + Bluetooth

Aside from that same boards. I’ve updated M2 references to include M2/T2.

HW_MODEL code is done: v131 · Fourdee/DietPi@8ad8172 · GitHub
You’ll need to download: https://raw.githubusercontent.com/Fourdee/DietPi/testing/dietpi/dietpi-obtain_hw_model and overwrite it on your image /boot/dietpi/dietpi-obtain_hw_model

Note that I ran into a hidden pitfall when I stumbled over the fact that there is a MAX_HW_MODEL in dietpi-software that I also needed to increase to 62.

Yep, good spot :slight_smile:

DietPi-Software uses arrays to store its data. One of those arrays is what software is available for each HW_MODEL.