Dietpi: Image | NanoPC T4

Created on 8 Jun 2018  ·  83Comments  ·  Source: MichaIng/DietPi

Many thanks to FriendlyElec for sending us sample dev boards!

http://www.friendlyarm.com/index.php?route=product/product&product_id=225
image

Image Request NanoPC T4

Most helpful comment

Hey @Fourdee I've compiled the last Rockchip Kernel version 4.4.154 and uploaded it to: https://we.tl/t-241Gjd7EJN

I've built for the NanoPC-T4 and the Firefly RK3399 (they are named accordingly). Can you replace the files on the packageds here and https://github.com/Fourdee/DietPi/issues/1986 ? Just remember to rename the files to match the AndroidFlashTool config.

The modules are there too.

Thanks!

All 83 comments

NB: Hold boot button during power on to boot into SD.


[  344.909754] dhdsdio_download_code_file: Open firmware file failed /system/etc/firmware/fw_bcm4356a2_ag.bin
mkdir -p  /lib/firmware/rockchip
wget https://github.com/rockchip-linux/rk-rootfs-build/blob/master/overlay-firmware/lib/firmware/rockchip/dptx.bin -O /lib/firmware/rockchip/dptx.bin
mkdir -p /system/etc/firmware
wget https://github.com/rockchip-linux/rk-rootfs-build/raw/master/overlay-firmware/system/etc/firmware/fw_bcm4356a2_ag.bin -O /system/etc/firmware/fw_bcm4356a2_ag.bin

#dhd_bus_devreset Failed to download binary to the dongle

Unpack image to allow loopback mounting:

imgRePackerRK.exe rootfs.img

fstab, remove all hard drive mounts.

Repack:

imgRePackerRK rootfs.img.cfg

How is anyone supposed to debug this corrupt (assuming Chinese) drivel:

▒▒▒굩▒▒▒▒▒▒▒▒▒z_▒z▒▒▒▒▒Q7▒}uxIqS▒xq8▒xz▒U{▒▒▒▒
}*)                                           ▒WU]Y]▒Q▒▒▒▒;y▒▒▒Q)▒z▒▒▒YQ
}:9▒ݲ▒▒▒▒▒"▒[Q

The serial baud rate is 150000, You can use minicom -b 150000 to set it up.


Open RKdevtool
connect USB-C
Hold boot + Power
Plug in power
When you see MASKROM, let go of the buttons

Notes 150000 baud:
http://www.friendlyarm.com/index.php?route=product/product&product_id=178&search=serial&description=true&category_id=0&sub_category=true

Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

🈴 Windows:

128000_limit

:u5408: Linux:

minicom -b 150000 -D /dev/ttyUSB0

�����̗����.����N'󧐇'=�c.>�탆�\܆h�2ƌdvg���nW?܎_���ܓNn&K�����������    �鲭���                                                                          �
                                                                               �
���:��I���퉬O�Q��I�K�h����+�Yq�űih��qa�:����ݩ경���~����9���W�0���2����M���Y   �
                                                                              ��
                                                                               J

🈯️ baud = 1500000 SSH client | 128000 HW

1st boot stops at (no network attached):

         Stopping Raise network interfaces...
[  OK  ] Stopped Raise network interfaces.
         Stopping Network Time Synchronization...
[  OK  ] Stopped Network Time Synchronization.
         Starting Network Time Synchronization...
[  OK  ] Started Network Time Synchronization.

Few minutes later, continues boot

[  OK  ] Started DietPi-Boot.
[  OK  ] Started DietPi-PostBoot.
         Starting /etc/rc.local Compatibility...
[  OK  ] Started /etc/rc.local Compatibility.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Serial Getty on ttyFIQ0.
[  OK  ] Reached target Login Prompts.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Started Update UTMP about System Runlevel Changes.

login as root fails???

DietPi login: root

Login incorrect

🈯️ echo 'ttyFIQ0' >> /etc/securetty

Benchmarks:

image

Seems starting the serial service, kills it:

[  OK  ] Started Serial Getty on ttyFIQ0.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Serial Getty on ttyS2.


 4 ▒▒▒▒▒─▒▒[
            [e[0e8
                   4▒───▒[
                           m |4)
                                ───▒0
                                      m mt ao
                                              5▒▒───


                                                     di
                                                        gt

DbnUix D Q
D i

Finally up and running:
https://twitter.com/DietPi_/status/1008993035823304709

ToDo:

  • 🈯️ Instructions to write to EMMC
  • 🈯️ dietpi.com addition

    ToDo, post release (can be resolved with v6.10 update)

  • Test audio

  • 🈴 Test GPU. No GPU supported acceleration currently.

Writing DietPi to the onboard EMMC:

Requires:


Download Windows USB driver:

Download image and tools:

Writing the images to the EMMC

  • Power off the NanoPC
  • Plug in the USB-C cable and power cable (do not power on). Plug in the other end of the USB-C cable into your Windows system.
  • Launch the program AndroidTool.exe
  • Now we need to enter into MASKROM mode:
    -- Hold down the boot and power button's on the NanoPC, for roughly 2-5 seconds.
    -- When you see a MASKROM message appear in the AndroidTool.exe window, release the buttons.
    -- Select Run. This will write the images to the EMMC.

When the transfer is completed, the system will automatically reboot and begin the 1st run setup.

Completed (for now), GPU support will come at a later date (hopefully).

Fantastic!

I just flashed this image into my NanoPC-T4 but the included kernel has no modules (no Iptables, OpenVSwitch). How can I update to a new or alternate kernel that contains the modules?

I tried to install "linux-image-arm64", it installs and places the vmlinuz, initrd files into/boot but the board doesn't boot from these images. What's the correct procedure?

Thanks

@carlosedp

Thanks for the report 👍

I'll take a look at our image and pre-image used. Will reply once I have an answer.

I have recompiled the 4.4 kernel from FriendlyArm and enabled/compiled a bunch of modules that are needed for Docker.

I can upload them if you want. It's a matter of replacing kernel.img and adding the modules (from a tar.gz) to the rootfs.img.

@carlosedp

I can upload them if you want. It's a matter of replacing kernel.img and adding the modules (from a tar.gz) to the rootfs.img.

Would be excellent if you could? I can update the image files here and re-upload.

Any chance you enabled CIFS kernel option for your kernel? On the pre-image we used from FriendlyARM, it was not enabled ☹️

EDIT:
I just checked the rootfs.img of the latest pre-image from FriendlyARM, appears the modules are now there and missing from our image, good spot 👍

I've uploaded the files to: https://we.tl/n7JXaEHKAH

Here is the list of modules I compiled. If you need any additional ones let me know so I can rebuild it:

$ find /lib/modules/4.4.126/
/lib/modules/4.4.126/
/lib/modules/4.4.126/modules.builtin
/lib/modules/4.4.126/modules.devname
/lib/modules/4.4.126/modules.dep.bin
/lib/modules/4.4.126/modules.symbols
/lib/modules/4.4.126/build
/lib/modules/4.4.126/modules.builtin.bin
/lib/modules/4.4.126/source
/lib/modules/4.4.126/modules.alias
/lib/modules/4.4.126/modules.symbols.bin
/lib/modules/4.4.126/modules.order
/lib/modules/4.4.126/modules.dep
/lib/modules/4.4.126/modules.softdep
/lib/modules/4.4.126/kernel
/lib/modules/4.4.126/kernel/lib
/lib/modules/4.4.126/kernel/lib/ts_bm.ko
/lib/modules/4.4.126/kernel/lib/ts_kmp.ko
/lib/modules/4.4.126/kernel/lib/ts_fsm.ko
/lib/modules/4.4.126/kernel/crypto
/lib/modules/4.4.126/kernel/crypto/md4.ko
/lib/modules/4.4.126/kernel/crypto/des_generic.ko
/lib/modules/4.4.126/kernel/fs
/lib/modules/4.4.126/kernel/fs/cifs
/lib/modules/4.4.126/kernel/fs/cifs/cifs.ko
/lib/modules/4.4.126/kernel/fs/fscache
/lib/modules/4.4.126/kernel/fs/fscache/fscache.ko
/lib/modules/4.4.126/kernel/fs/configfs
/lib/modules/4.4.126/kernel/fs/configfs/configfs.ko
/lib/modules/4.4.126/kernel/fs/overlayfs
/lib/modules/4.4.126/kernel/fs/overlayfs/overlay.ko
/lib/modules/4.4.126/kernel/fs/autofs4
/lib/modules/4.4.126/kernel/fs/autofs4/autofs4.ko
/lib/modules/4.4.126/kernel/fs/cachefiles
/lib/modules/4.4.126/kernel/fs/cachefiles/cachefiles.ko
/lib/modules/4.4.126/kernel/fs/ceph
/lib/modules/4.4.126/kernel/fs/ceph/ceph.ko
/lib/modules/4.4.126/kernel/fs/nfs
/lib/modules/4.4.126/kernel/fs/nfs/flexfilelayout
/lib/modules/4.4.126/kernel/fs/nfs/flexfilelayout/nfs_layout_flexfiles.ko
/lib/modules/4.4.126/kernel/drivers
/lib/modules/4.4.126/kernel/drivers/usb
/lib/modules/4.4.126/kernel/drivers/usb/gadget
/lib/modules/4.4.126/kernel/drivers/usb/gadget/function
/lib/modules/4.4.126/kernel/drivers/usb/gadget/function/usb_f_fs.ko
/lib/modules/4.4.126/kernel/drivers/usb/gadget/function/usb_f_acm.ko
/lib/modules/4.4.126/kernel/drivers/usb/gadget/function/u_serial.ko
/lib/modules/4.4.126/kernel/drivers/usb/gadget/function/usb_f_mass_storage.ko
/lib/modules/4.4.126/kernel/drivers/usb/gadget/libcomposite.ko
/lib/modules/4.4.126/kernel/drivers/vhost
/lib/modules/4.4.126/kernel/drivers/vhost/vringh.ko
/lib/modules/4.4.126/kernel/drivers/vhost/vhost.ko
/lib/modules/4.4.126/kernel/drivers/vhost/vhost_net.ko
/lib/modules/4.4.126/kernel/drivers/gpu
/lib/modules/4.4.126/kernel/drivers/gpu/arm
/lib/modules/4.4.126/kernel/drivers/gpu/arm/mali400
/lib/modules/4.4.126/kernel/drivers/gpu/arm/mali400/mali
/lib/modules/4.4.126/kernel/drivers/gpu/arm/mali400/mali/mali.ko
/lib/modules/4.4.126/kernel/net
/lib/modules/4.4.126/kernel/net/llc
/lib/modules/4.4.126/kernel/net/llc/llc2.ko
/lib/modules/4.4.126/kernel/net/llc/llc.ko
/lib/modules/4.4.126/kernel/net/hsr
/lib/modules/4.4.126/kernel/net/hsr/hsr.ko
/lib/modules/4.4.126/kernel/net/dsa
/lib/modules/4.4.126/kernel/net/dsa/dsa_core.ko
/lib/modules/4.4.126/kernel/net/openvswitch
/lib/modules/4.4.126/kernel/net/openvswitch/vport-gre.ko
/lib/modules/4.4.126/kernel/net/openvswitch/openvswitch.ko
/lib/modules/4.4.126/kernel/net/802
/lib/modules/4.4.126/kernel/net/802/mrp.ko
/lib/modules/4.4.126/kernel/net/802/stp.ko
/lib/modules/4.4.126/kernel/net/802/p8022.ko
/lib/modules/4.4.126/kernel/net/802/garp.ko
/lib/modules/4.4.126/kernel/net/802/psnap.ko
/lib/modules/4.4.126/kernel/net/ipv6
/lib/modules/4.4.126/kernel/net/ipv6/netfilter
/lib/modules/4.4.126/kernel/net/ipv6/netfilter/nf_reject_ipv6.ko
/lib/modules/4.4.126/kernel/net/ipv6/netfilter/nf_log_ipv6.ko
/lib/modules/4.4.126/kernel/net/ipv6/netfilter/nft_reject_ipv6.ko
/lib/modules/4.4.126/kernel/net/ipv6/netfilter/nf_tables_ipv6.ko
/lib/modules/4.4.126/kernel/net/unix
/lib/modules/4.4.126/kernel/net/unix/unix_diag.ko
/lib/modules/4.4.126/kernel/net/8021q
/lib/modules/4.4.126/kernel/net/8021q/8021q.ko
/lib/modules/4.4.126/kernel/net/ipv4
/lib/modules/4.4.126/kernel/net/ipv4/ip_gre.ko
/lib/modules/4.4.126/kernel/net/ipv4/ipip.ko
/lib/modules/4.4.126/kernel/net/ipv4/tcp_westwood.ko
/lib/modules/4.4.126/kernel/net/ipv4/gre.ko
/lib/modules/4.4.126/kernel/net/ipv4/ip_tunnel.ko
/lib/modules/4.4.126/kernel/net/ipv4/tunnel4.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nf_log_arp.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nf_dup_ipv4.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/iptable_raw.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nf_tables_ipv4.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nf_nat_h323.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/arp_tables.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nft_reject_ipv4.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/arpt_mangle.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nf_nat_proto_gre.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/iptable_filter.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nf_reject_ipv4.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nft_chain_route_ipv4.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nf_nat_snmp_basic.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/ipt_rpfilter.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nf_nat_ipv4.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/ipt_MASQUERADE.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nf_nat_pptp.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nft_dup_ipv4.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/arptable_filter.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/ip_tables.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nf_nat_masquerade_ipv4.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/iptable_nat.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/ipt_REJECT.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/ipt_ECN.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/iptable_mangle.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nf_log_ipv4.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/ipt_SYNPROXY.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/ipt_ah.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nf_tables_arp.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/ipt_CLUSTERIP.ko
/lib/modules/4.4.126/kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko
/lib/modules/4.4.126/kernel/net/ipv4/tcp_bic.ko
/lib/modules/4.4.126/kernel/net/ipv4/tcp_htcp.ko
/lib/modules/4.4.126/kernel/net/vmw_vsock
/lib/modules/4.4.126/kernel/net/vmw_vsock/vsock.ko
/lib/modules/4.4.126/kernel/net/packet
/lib/modules/4.4.126/kernel/net/packet/af_packet_diag.ko
/lib/modules/4.4.126/kernel/net/netlink
/lib/modules/4.4.126/kernel/net/netlink/netlink_diag.ko
/lib/modules/4.4.126/kernel/net/mpls
/lib/modules/4.4.126/kernel/net/mpls/mpls_gso.ko
/lib/modules/4.4.126/kernel/net/netfilter
/lib/modules/4.4.126/kernel/net/netfilter/nft_reject_inet.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_connlabel.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_socket.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_dscp.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_osf.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_LOG.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_limit.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_cluster.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_netbios_ns.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_nat_sip.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_mark.ko
/lib/modules/4.4.126/kernel/net/netfilter/x_tables.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_addrtype.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_esp.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_ftp.ko
/lib/modules/4.4.126/kernel/net/netfilter/nft_exthdr.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_recent.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_nat_amanda.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_comment.ko
/lib/modules/4.4.126/kernel/net/netfilter/nft_queue.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_ipcomp.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_proto_udplite.ko
/lib/modules/4.4.126/kernel/net/netfilter/nfnetlink_log.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_sctp.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_hl.ko
/lib/modules/4.4.126/kernel/net/netfilter/nft_counter.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_pptp.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_HL.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_bpf.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_proto_gre.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_h323.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_realm.ko
/lib/modules/4.4.126/kernel/net/netfilter/nfnetlink.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_irc.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipset
/lib/modules/4.4.126/kernel/net/netfilter/ipset/ip_set.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_nat_tftp.ko
/lib/modules/4.4.126/kernel/net/netfilter/nft_rbtree.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_REDIRECT.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_iprange.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_NETMAP.ko
/lib/modules/4.4.126/kernel/net/netfilter/nfnetlink_queue.ko
/lib/modules/4.4.126/kernel/net/netfilter/nft_limit.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_IDLETIMER.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_connbytes.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_nat_proto_udplite.ko
/lib/modules/4.4.126/kernel/net/netfilter/nft_masq.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_rateest.ko
/lib/modules/4.4.126/kernel/net/netfilter/nft_redir.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_nat_proto_dccp.ko
/lib/modules/4.4.126/kernel/net/netfilter/nft_ct.ko
/lib/modules/4.4.126/kernel/net/netfilter/nfnetlink_acct.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_quota2.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_NFLOG.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_u32.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_connmark.ko
/lib/modules/4.4.126/kernel/net/netfilter/nft_log.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_amanda.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_ecn.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_tcpudp.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_hashlimit.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_NFQUEUE.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipvs
/lib/modules/4.4.126/kernel/net/netfilter/ipvs/ip_vs.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipvs/ip_vs_wrr.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipvs/ip_vs_nq.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipvs/ip_vs_sh.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipvs/ip_vs_dh.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipvs/ip_vs_lblcr.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipvs/ip_vs_rr.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipvs/ip_vs_lc.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipvs/ip_vs_sed.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipvs/ip_vs_ovf.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipvs/ip_vs_wlc.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipvs/ip_vs_fo.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipvs/ip_vs_lblc.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipvs/ip_vs_ftp.ko
/lib/modules/4.4.126/kernel/net/netfilter/ipvs/ip_vs_pe_sip.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_nat_irc.ko
/lib/modules/4.4.126/kernel/net/netfilter/nft_reject.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_nat_ftp.ko
/lib/modules/4.4.126/kernel/net/netfilter/nft_hash.ko
/lib/modules/4.4.126/kernel/net/netfilter/nft_meta.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_TCPMSS.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_l2tp.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_nat.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_pkttype.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_CLASSIFY.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_statistic.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_conntrack.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_tables_netdev.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_helper.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_tables.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_time.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_cpu.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_proto_sctp.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_tcpmss.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_sip.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_netlink.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_devgroup.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_nat.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_tftp.ko
/lib/modules/4.4.126/kernel/net/netfilter/nfnetlink_cthelper.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_snmp.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_length.ko
/lib/modules/4.4.126/kernel/net/netfilter/nfnetlink_cttimeout.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_tables_inet.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_dccp.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_connlimit.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_owner.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_RATEEST.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_LED.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_nat_proto_sctp.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_string.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_broadcast.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_quota.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_nat_redirect.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_synproxy_core.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_multiport.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_cgroup.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_nfacct.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_state.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_mac.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_policy.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_sane.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_conntrack_proto_dccp.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_HMARK.ko
/lib/modules/4.4.126/kernel/net/netfilter/nf_log_common.ko
/lib/modules/4.4.126/kernel/net/netfilter/xt_TEE.ko
/lib/modules/4.4.126/kernel/net/netfilter/nft_compat.ko
/lib/modules/4.4.126/kernel/net/netfilter/nft_nat.ko
/lib/modules/4.4.126/kernel/net/ceph
/lib/modules/4.4.126/kernel/net/ceph/libceph.ko
/lib/modules/4.4.126/kernel/net/bridge
/lib/modules/4.4.126/kernel/net/bridge/br_netfilter.ko
/lib/modules/4.4.126/kernel/net/bridge/bridge.ko
/lib/modules/4.4.126/modules.alias.bin

I found another issue where the kernel does not have cgroups enabled for memory. Will check for a solution and update you soon.

@carlosedp

Legend, many thanks for this 👍

I found another issue where the kernel does not have cgroups enabled for memory. Will check for a solution and update you soon.

Ok, no worries. I'll nudge this to v6.13, will take a look after v6.12 is released (ETA tomorrow) and get the images updated our end.

Fine! Just saw I didn't enable memory cgroups on the kernel compilation. The default from FriendlyArm didn't have it either... Do you see anything other missing so I can add?

@carlosedp

Fine! Just saw I didn't enable memory cgroups on the kernel compilation. The default from FriendlyArm didn't have it either... Do you see anything other missing so I can add?

From my side, only CIFS is critical for our user base. However, its your kernel, feel free to add items that would benefit our users.

Done, after a ton of testing I've compiled a Kernel that contains most needed modules for Docker, Kubernetes, Weave overlay network, NFS, CIFS and many others.

$ sudo modprobe cifs
carlosedp@NanoT4-1:~ (kubearm:kube-system) $ lsmod
Module                  Size  Used by
cifs                  573440  0
xt_NFLOG               16384  1
veth                   16384  0
dummy                  16384  0
...

The files can be downloaded on https://we.tl/E2d2n7RqSD and replaced on the DietPi package.

Also I found out that the /etc/machine-id that's on the rootfs is static and not generated dynamically. In my case, Weave Net (an overlay network for Kubernetes) uses this to generate it's unique ID and since they are equal, it's not that unique :) More info here.

The ideal is to have this file auto-generated only on first config.

One question @Fourdee , I have a Firefly Rk3399 board and would like to build the DietPi image for it. What are the steps required to do it? I'm already planning to rebuild the kernel with similar parameters as the Nano-T4.

I also plan to use the same steps to build for the OrangePi 3399 and in some weeks the RockPro64 that I will receive. I'm reviewing the boards for my articles on Kubernetes cluster (https://medium.com/@carlosedp).
Thanks!

@carlosedp

One question @Fourdee , I have a Firefly Rk3399 board and would like to build the DietPi image for it.

In all honesty, I have no idea. We rely on existing pre-images including the kernel and bootloader, we do not currently create our own.

Thanks for updating the files 👍 . I've downloaded them and i'll try to implement them into our image over the next few days.

Actually I successfully created the image for the Firefly. Compiled the Firefly kernel to it with all parameters from the NanoT4 (modules and all). I tried with the FriendlyARM kernel but if froze on heavy network test, probably some DTB messed up.

I successfully flashed it all with DietPi Rootfs and it's working perfectly. If you want I can sent the package to you. Let me do a couple more tests.

Will try to compile the newer 4.4.138 kernel from Rockchip now.

@Fourdee , just please test with your cases before using this image. There might be a couple of things I didn't test on video subsystems or WiFi. Let me know if you find something wrong.

Hmmm, i'am missing something here in regards to rootfs.img creation.

I tried created a new EXT4 image with MBR, added the files,

dd if=/dev/zero of=rootfs.img.iso bs=1G count=1
mkfs.ext4 rootfs.img.iso

then packing fails

C:\Users\4D>C:\Users\4D\Desktop\DietPi_NanoPCT4-ARMv8-Stretch\Image_and_Tools\img_pack\imgRePackerRK.exe C:\Users\4D\Desktop\DietPi_NanoPCT4-ARMv8-Stretch\Image_and_Tools\rootfs.img.iso

        imgRepackerRK (version 1.06 windows)
        Rockchip firmware batch/update images unpacker/packer

        (c) RedScorpio, Moscow, 2013-2017
            [email protected]

        Detected OS:    Windows 8 Home [build 9200] x64
        Real OS:        Windows 10 Home [build 16299] x64
        ==========================[ START ]==========================

        --- Firmware unpacking ---

        2-nd layer file unpacking
        ext4 image format detected
                Unsupported format (ext4 image)
        Unpacking filed

I'll need to do some reading on this (if documentation exists?).

Is this how you created it before? I don't know.. never used these tools.

When I created a rootfs, I used this:

dd if=/dev/zero of=linuxroot.img bs=1M count=2048 sudo mkfs.ext4 linuxroot.img mkdir rootfs sudo mount linuxroot.img rootfs/ sudo cp -rfp temp/* rootfs/ sudo umount rootfs/ e2fsck -p -f linuxroot.img resize2fs -M linuxroot.img

Got it from http://en.t-firefly.com/doc/product/info/id/291.html

@carlosedp

Apologies, I'am an idiot, to repack the image:
🈯️ rootfs.img.cfg, not rootfs.img.iso

imgRePackerRK rootfs.img.cfg
  • 🈯️ CIFS test 👍 🥇
  • 🈴 WiFi test | Scan, very intermittent, some times fails to pull any results due to driver/HW issue with new kernel? I don't remember having this issue with the official FriendlyARM stock kernel.
root@DietPi:~# dmesg
[  322.720581] CFG80211-ERROR) wl_escan_handler : escan is not ready ndev ffffffc0f1ead000 drv_status 0x0 e_type 69 e_states 8

root@DietPi:~# iwlist wlan0 scan
wlan0     No scan resultt

#Another attempt is fine
root@DietPi:~# iwlist wlan0 scan
wlan0     Scan completed :
          Cell 01 - Address: E8:DE:27:4A:D0:66
... hidden...

@carlosedp

Aside from the issue with WiFi, great work, very nice, thank you 👍
Ideally, we need to find out why the scan is failing 80% of the time.

I've updated the image, based on your kernel for testing: https://dietpi.com/downloads/testing/DietPi_NanoPCT4-ARMv8-Stretch.7z

I just enabled the wlan0 interface and did the scan a couple times. I'd say that from 10 times it didn't find SSIDs in 3-4. I don't know if it's something on the driver in this kernel or if it happened before. TBH I don't use wlan and never enabled it.

I researched a bit and the WLAN module is made by Rockchip itself (http://rockchip.fr/ampak/AP6356_datasheet_V1.0_07252014.pdf) and the driver is in their kernel tree.

I compared the wlan driver trees between the FriendlyARM and Rockchip kernels and there are not many changes, they even disabled something related to sleep like described on this commit(https://github.com/rockchip-linux/kernel/commit/243f6ead0f388afb0a010d5524bdafd421848acc):

$ diff -ENwbur  ~/ARM/friendlyarm-kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/ ~/ARM/rockchip-kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd
diff -ENwbur /home/carlosedp/ARM/friendlyarm-kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c /home/carlosedp/ARM/rockchip-kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c
--- /home/carlosedp/ARM/friendlyarm-kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c        2018-07-17 11:30:14.524986506 -0500
+++ /home/carlosedp/ARM/rockchip-kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_config.c   2018-07-21 15:39:32.938030000 -0500
@@ -2623,6 +2623,8 @@
                conf->txglomsize = SDPCM_MAXGLOM_SIZE;
        conf->deferred_tx_len = conf->txglomsize;
 #endif
+       if (conf->chip == BCM4354_CHIP_ID && conf->chiprev == 1)
+               dhd_slpauto = 0;

        return 0;
 }
diff -ENwbur /home/carlosedp/ARM/friendlyarm-kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_gpio.c /home/carlosedp/ARM/rockchip-kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_gpio.c
--- /home/carlosedp/ARM/friendlyarm-kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_gpio.c  2018-07-17 11:30:14.524986506 -0500
+++ /home/carlosedp/ARM/rockchip-kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_gpio.c     2018-07-21 15:39:32.938030000 -0500
@@ -244,6 +244,7 @@
 #ifdef CUSTOMER_OOB
        int host_oob_irq = -1;
        uint host_oob_irq_flags = 0;
+       int irq_flags = -1;
 #endif

        /* Please check your schematic and fill right GPIO number which connected to
@@ -289,11 +290,14 @@
        printf("%s: host_oob_irq: %d\n", __FUNCTION__, host_oob_irq);

 #ifdef HW_OOB
-#ifdef HW_OOB_LOW_LEVEL
-       host_oob_irq_flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL | IORESOURCE_IRQ_SHAREABLE;
-#else
-       host_oob_irq_flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL | IORESOURCE_IRQ_SHAREABLE;
-#endif
+       host_oob_irq_flags = IORESOURCE_IRQ | IORESOURCE_IRQ_SHAREABLE;
+       irq_flags = rockchip_wifi_get_oob_irq_flag();
+       if (irq_flags == 1)
+               host_oob_irq_flags |= IORESOURCE_IRQ_HIGHLEVEL;
+       else if (irq_flags == 0)
+               host_oob_irq_flags |= IORESOURCE_IRQ_LOWLEVEL;
+       else
+               pr_warn("%s: unknown oob irqflags !\n", __func__);
 #else
        host_oob_irq_flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE | IORESOURCE_IRQ_SHAREABLE;
 #endif
diff -ENwbur /home/carlosedp/ARM/friendlyarm-kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux.c /home/carlosedp/ARM/rockchip-kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux.c
--- /home/carlosedp/ARM/friendlyarm-kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux.c 2018-07-17 11:30:14.540994507 -0500
+++ /home/carlosedp/ARM/rockchip-kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux.c    2018-07-21 15:39:32.938030000 -0500
@@ -5029,6 +5029,7 @@
 #endif /* DHD_PCIE_RUNTIMEPM */

        DHD_GENERAL_LOCK(&dhd->pub, flags);
+#ifdef BCMPCIE
        if (DHD_BUS_CHECK_SUSPEND_OR_SUSPEND_IN_PROGRESS(&dhd->pub)) {
                DHD_ERROR(("%s: bus is in suspend(%d) or suspending(0x%x) state!!\n",
                        __FUNCTION__, dhd->pub.busstate, dhd->pub.dhd_bus_busy_state));
@@ -5047,7 +5048,12 @@
                return NETDEV_TX_BUSY;
 #endif
        }
-
+#else
+       if (DHD_BUS_CHECK_SUSPEND_OR_SUSPEND_IN_PROGRESS(&dhd->pub)) {
+               DHD_ERROR(("%s: bus is in suspend(%d) or suspending(0x%x) state!!\n",
+                       __FUNCTION__, dhd->pub.busstate, dhd->pub.dhd_bus_busy_state));
+       }
+#endif
        DHD_OS_WAKE_LOCK(&dhd->pub);
        DHD_PERIM_LOCK_TRY(DHD_FWDER_UNIT(dhd), lock_taken);


Honestly I have no idea on what might be wrong. You never saw this behavior before?

Also there are other driver for it (I don't know which is used) on https://github.com/rockchip-linux/kernel/tree/release-4.4/drivers/net/wireless/rockchip_wlan/cywdhd/bcmdhd.

This one doesn't exist on FriendlyARM's tree but is disabled on my build and also disabled on all trees default config for the platform.

Symbol: CYW_BCMDHD [=n]                                                                                              x
  x Type  : tristate                                                                                                     x
  x Prompt: Cypress wireless sdio cards support                                                                          x
  x   Location:                                                                                                          x
  x     -> Device Drivers                                                                                                x
  x       -> Network device support (NETDEVICES [=y])                                                                    x
  x         -> Wireless LAN (WLAN [=y])                                                                                  x
  x           -> Rockchip Wireless LAN support (WL_ROCKCHIP [=y])                                                        x
  x (1)         -> ap6xxx wireless sdio cards support (AP6XXX [=y])                                                      x
  x   Defined at drivers/net/wireless/rockchip_wlan/cywdhd/Kconfig:2                                                     x
  x   Depends on: NETDEVICES [=y] && WLAN [=y] && WL_ROCKCHIP [=y] && !AP6XXX [=y]                                       x
  x   Selects: WIRELESS_EXT [=y] && WEXT_PRIV [=y] && CFG80211_WEXT [=y]        

The other one is:

  x Symbol: AP6XXX [=y]                                                                                                  x
  x Type  : tristate                                                                                                     x
  x Prompt: ap6xxx wireless sdio cards support                                                                           x
  x   Location:                                                                                                          x
  x     -> Device Drivers                                                                                                x
  x       -> Network device support (NETDEVICES [=y])                                                                    x
  x         -> Wireless LAN (WLAN [=y])                                                                                  x
  x (1)       -> Rockchip Wireless LAN support (WL_ROCKCHIP [=y])                                                        x
  x   Defined at drivers/net/wireless/rockchip_wlan/rkwifi/Kconfig:2                                                     x
  x   Depends on: NETDEVICES [=y] && WLAN [=y] && WL_ROCKCHIP [=y]                                                       x
  x   Selects: CFG80211 [=y] && MAC80211 [=y]               

So it doesn't look like something in the driver. I might try to replace this rkwifi driver from by the one from FriendlARM to test. If I build it would you test?

I might try to replace this rkwifi driver from by the one from FriendlARM to test. If I build it would you test?

Yep, please, would be great, I can test 👍

Honestly I have no idea on what might be wrong. You never saw this behavior before?

Not that I can remember. If we have issues with onboard WiFi during image creation/testing, we always make a note of it in the ticket.
Either way, if I get a chance/time, i'll re-test and verify the FriendlyARM image.

I've built the kernel with wlan driver from FriendlyARM tree: https://we.tl/4Ku7XBOpRD

@Fourdee any news? I believe the download expires in 1 week.

@carlosedp

Checking it out now 👍

Appears same issue with WiFi:

[  736.104808] CFG80211-ERROR) wl_escan_handler : escan is not ready ndev ffffffc0f1c7d000 drv_status 0x0 e_type 69 e_states 8
[  736.134789] CFG80211-ERROR) wl_escan_handler : escan is not ready ndev ffffffc0f1c7d000 drv_status 0x0 e_type 69 e_states 8
[  736.139761] CFG80211-ERROR) wl_escan_handler : escan is not ready ndev ffffffc0f1c7d000 drv_status 0x0 e_type 69 e_states 8
[  736.164362] CFG80211-ERROR) wl_escan_handler : escan is not ready ndev ffffffc0f1c7d000 drv_status 0x0 e_type 69 e_states 8

And CIFS missing:
```
Pre-image: DietPi/FriendlyARM

file contents:
nt error: cifs filesystem not supported by the system
nt error(19): No such device
er to the mount.cifs(8) manual page (e.g. man mount.cifs)
``

@carlosedp

I believe we should use your updated kernel/modules:

  • Make users aware of the intermittent WiFi scan issue
  • CIFS is more critical in my eyes, than WiFi.

Thoughts?

I could check the CIFS problem but since WiFi is having the same behaviour, I'd keep the original driver from the Kernel instead of the driver from the other tree. The previous files I've sent.

Good to go but keep both images available, the one you already have and this one with newer Kernel and the modules that have been enabled.

GTG for me since it's running well on my board that is a Kubernetes node:

$ uname -a
Linux NanoT4-1 4.4.138 #3 SMP Sat Jul 21 18:29:19 EST 2018 aarch64 GNU/Linux

$ uptime
 18:41:43 up 4 days,  6:08,  1 user,  load average: 2.72, 2.67, 2.72

 $ lsmod
Module                  Size  Used by
configs                45056  0
xt_NFLOG               16384  1
veth                   16384  0
dummy                  16384  0
vport_vxlan            16384  1
vxlan                  45056  1 vport_vxlan
ip6_udp_tunnel         16384  1 vxlan
udp_tunnel             16384  1 vxlan
openvswitch            94208  3 vport_vxlan
nf_defrag_ipv6         53248  1 openvswitch
nfnetlink_log          20480  2 xt_NFLOG
xt_statistic           16384  10
xt_nat                 16384  58
xt_recent              20480  2
ipt_REJECT             16384  0
nf_reject_ipv4         16384  1 ipt_REJECT
xt_tcpudp              16384  166
ip_vs                 184320  0
ip_set_hash_ip         32768  19
xt_set                 20480  10
ip_set                 40960  2 ip_set_hash_ip,xt_set
xt_comment             16384  327
xt_mark                16384  5
ipt_MASQUERADE         16384  4
nf_nat_masquerade_ipv4    16384  1 ipt_MASQUERADE
nf_conntrack_netlink    40960  0
nfnetlink              16384  5 nfnetlink_log,ip_set,nf_conntrack_netlink
xfrm_user              32768  1
xfrm_algo              16384  1 xfrm_user
iptable_nat            16384  1
nf_conntrack_ipv4      24576  7
nf_defrag_ipv4         16384  1 nf_conntrack_ipv4
nf_nat_ipv4            16384  1 iptable_nat
xt_addrtype            16384  3
iptable_filter         16384  6
xt_conntrack           16384  6
nf_nat                 24576  3 nf_nat_ipv4,xt_nat,nf_nat_masquerade_ipv4
nf_conntrack          126976  8 ip_vs,openvswitch,nf_nat,nf_nat_ipv4,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_netlink,nf_conntrack_ipv4
br_netfilter           24576  0
bridge                126976  1 br_netfilter
stp                    16384  1 bridge
llc                    16384  2 stp,bridge
ipv6                  405504  278 ip_vs,bridge,nf_defrag_ipv6
overlay                45056  23
ip_tables              24576  2 iptable_filter,iptable_nat
x_tables               32768  14 xt_statistic,xt_mark,xt_comment,xt_recent,ip_tables,xt_tcpudp,ipt_MASQUERADE,xt_NFLOG,xt_conntrack,xt_nat,xt_set,iptable_filter,ipt_REJECT,xt_addrtype

@carlosedp

I'll do some more tests on the WiFi pre-friendlyARM WiFi driver:
Aside from the intermittent scan failures, if the Wifi is fully functional once connected + reboots, i'll mark this is a known issue on the device, and, set this new image live.

Once connected, appears to run fine, will mark this as a known issue with WiFi and set new image live with @carlosedp kernel/modules.

@carlosedp

Please email me your address, I'll send you some DietPi stickers for your troubles 👍
daniel.[email protected]

Completed.

Great work and thanks again for contributing this to DietPi @carlosedp 👍

hi guys, is HDMI CEC already implemented in this image?

Good to know @Fourdee , happy to contribute to the project!

I also created the package for the Firefly RK3399 and been using it for a while. Same Kernel, Firefly DTBs and DietPi rootfs. I can upload it in case you want to put on a different issue (like this) so people could test it.

I also created the package for the Firefly RK3399 and been using it for a while. Same Kernel, Firefly DTBs and DietPi rootfs. I can upload it in case you want to put on a different issue (like this) so people could test it.

@carlosedp

By all means, please do. If you create a new ticket with the info/download links, we can flag is as Info/testing required.

I've sent an email to Firefly requesting a dev sample board. They have 775 in stock and a $150 price tag for the lowest model + import taxes (not cheap).

Can someone explain why this SOC has a lower CPU rating than the "disannounced" Odroid N1 as they both have the same CPU?

@Phil1988

Can someone explain why this SOC has a lower CPU rating than the "disannounced" Odroid N1 as they both have the same CPU?

At a guess:

  • Reduce heat for passive supplied sink (Odroid N1 = active fan + heatsink)
  • Reduce power consumption to allow for 12V 2A rated PSU
  • Onboard components not rated for the higher power usage of running at full rated clocks

I'd imagine its a heat related limitation with provided heatsink.

So you really did compare these two SOCs?

Interessting, because I thaught that the N1, NanoPC T4 and RockPro64 should be pretty identical regarding to CPU performance.

@Phil1988

Yep, depends on the max CPU clock, N1 is faster in our tests:
https://github.com/Fourdee/DietPi/issues/1253#issuecomment-346881878

NanoPC-T4 / RockPro64 = 9.2 seconds
Odroid N1 = 8.5 seconds

Exactly, each board manufacturer(Odroid, Firefly, etc) configure it's clock speeds and voltages on the board DTSs that are compiled with the Kernel. You can in theory change this for the boards to "overclock". Check the kernel source files on /arch/arm64/boot/dts/rockchip.

Thank you guys for clarifying this and the deeper insight.
I have no need for overclocking as I dont have any of these SOCs but as my linux SOCs are always too slow (Pi 2, Pi 3, Pi 3B+, Odroid C2) for a NextCloud usage I had a look at the fastes "cheap-ish" boards out there ... and this is where I got some attention on N1, RockPro64 and NanoPC-T4.

Ended up buying a HP Compaq 8300 Elite (i5-3470S Quadcore 2.90-3.6GHz, 10GB DDR3 RAM) for 130€ and hope your PC image will do fine (if interessted I can do a bench and report back when it arrived).
I hope it will be sufficient to my needs.

Sorry for hijacking this a bit but I'm just very interessted in your work and the latest progresses soft- and harware wise.
And: Thanks for your great developement guys ;)

Does the image support M.2 SSDs? DietPi does not seem detect my NVME SSD plugged into the NanoPC T4.

Looking at the dmesg | grep pci output, I see this:

[    0.368904] phy phy-pcie-phy.5: Looking up phy-supply from device tree
[    0.368913] phy phy-pcie-phy.5: Looking up phy-supply property in node /pcie-phy failed
[    0.370723] rockchip-pcie f8000000.pcie: GPIO lookup for consumer ep
[    0.370733] rockchip-pcie f8000000.pcie: using device tree for GPIO lookup
[    0.370761] of_get_named_gpiod_flags: parsed 'ep-gpios' property of node '/pcie@f8000000[0]' - status (0)
[    0.370998] rockchip-pcie f8000000.pcie: Looking up vpcie3v3-supply from device tree
[    0.371008] rockchip-pcie f8000000.pcie: Looking up vpcie3v3-supply property in node /pcie@f8000000 failed
[    0.371021] rockchip-pcie f8000000.pcie: no vpcie3v3 regulator found
[    0.371595] rockchip-pcie f8000000.pcie: Looking up vpcie1v8-supply from device tree
[    0.371604] rockchip-pcie f8000000.pcie: Looking up vpcie1v8-supply property in node /pcie@f8000000 failed
[    0.371614] rockchip-pcie f8000000.pcie: no vpcie1v8 regulator found
[    0.372173] rockchip-pcie f8000000.pcie: Looking up vpcie0v9-supply from device tree
[    0.372181] rockchip-pcie f8000000.pcie: Looking up vpcie0v9-supply property in node /pcie@f8000000 failed
[    0.372191] rockchip-pcie f8000000.pcie: no vpcie0v9 regulator found
[    0.914553] rockchip-pcie f8000000.pcie: PCIe link training gen1 timeout!
[    0.915262] rockchip-pcie: probe of f8000000.pcie failed with error -110
[    1.071908] ehci-pci: EHCI PCI platform driver

In theory it should, at least the feature CONFIG_BLK_DEV_NVME=y to support it is enabled on the Kernel (I don't have a M.2 drive to test). Check on yours with:

sudo modprobe configs
zcat /proc/config.gz|grep NVME

The drive is supposed to be on /dev/nvme*. Does lspci or lsblk shows it?

$ zcat /proc/config.gz | grep NVME gives:

CONFIG_BLK_DEV_NVME=y
CONFIG_NVMEM=y

There are no /dev/nvme* devices though. lspci output is empty.

@sergiud same here
SSD was not detected

@alex-savin Thanks for the info. Which SSD have you tested?

By the way, FriendlyElec distros also do not detect my WD Green M.2 2280 SSD.

@alex-savin @sergiud @carlosedp

Hi guys,

I've sent an email to FriendlyElec, with link to this ticket, hopefully they can provide some assistance.

Unfortunately, I also lack any .M2 drives, unable to test. However, its on my shopping list.

Hi all,

Friendlyelec mentions that only NVME based SSD's (eg: PCI-e. Not SATA) are supported on the hardware.

This is confirmed (@MichaIng finally treated myself to one!!!)
image

Hardware limited write speed on NanoPC-T4/RK (using 970 EVO)
image

@Fourdee
Great, I just updated the fs expansion script as I found that indeed the partitions on NVMe drives follow naming scheme: https://github.com/Fourdee/DietPi/commit/eae7af9d50775d833c2c672a344f364df1b02ae5
/dev/nvme[0-9]n[0-9]p[0-9]

First integer might be controller number, second drive number and only third is partition number.

Could you confirm that in your case there is no partition table on the drive? We would need to fix drive manager then to handle this correctly.

Has anyone succeeded in getting the two MIPI-CSI2 cameras working with DietPi on the NanoPC-T4? I have an application that requires stereo vision, and I don't want to move to Android. If anyone can point me in the right direction it would be much appreciated. I have played around with the vendor build from friendlyarm but their debian and ubuntu releases do not support the cameras. Thanks in advance!!

I just received my board today, for updating the kernel and such we need to use the rockchip tools? Or as usual using the dietpi software?

@LieDanG

Our current image uses a modified kernel of FriendlyARM, provided and maintained by @carlosedp. It includes additions such as CIFS and NFS support.

If @carlosedp can provide an updated kernel, we will update the image. Kernel updates will require a fresh image write.

Hey @Fourdee I've compiled the last Rockchip Kernel version 4.4.154 and uploaded it to: https://we.tl/t-241Gjd7EJN

I've built for the NanoPC-T4 and the Firefly RK3399 (they are named accordingly). Can you replace the files on the packageds here and https://github.com/Fourdee/DietPi/issues/1986 ? Just remember to rename the files to match the AndroidFlashTool config.

The modules are there too.

Thanks!

I'll wait for the updated image, I tried flashing the current one but I only get a localhost login and can't get past of it, the friendlydesktop image boots fine so I'm not sure what's happening

Unable to dump rootfs from device after update. Start is 0x000B2000, fails everytime, even on para dump 0 - 2
http://chinagadgetsreviews.blogspot.com/2014/09/download-androidtool-v21.html

So, need to PREP, then:

  • Backup rootfs
  • Compress to tar.gz
  • Save to rootfs.img.iso

  • PREP'd
  • apt-get update; apt-get install rsync -y
  • -
FP_FILTER_INCLUDE_EXCLUDE=/mnt/exclude
cat << _EOF_ > $FP_FILTER_INCLUDE_EXCLUDE
#Global - Folders
- /mnt/*
- /media/
- /dev/
- /lost+found/
- /proc/
- /sys/
- /tmp/
- /run/

#Manpages / Docs
- /usr/share/man/
- /usr/share/doc/

#Global - Files
- /var/swap
- .swap*

#MS Windows specific
- Thumbs.db
- desktop.ini
_EOF_

RSYNC_RUN_OPTIONS_BACKUP="-aH --info=name0 --info=progress2 --delete --delete-excluded --exclude-from=$FP_FILTER_INCLUDE_EXCLUDE"

mkdir -p /mnt/dietpi-backup

apt-get clean

rsync $RSYNC_RUN_OPTIONS_BACKUP / /mnt/dietpi-backup/

tar -zcvf /root/rootfs.tar.gz /mnt/dietpi-backup

echo 1 > /DietPi/dietpi/.install_stage
echo 1 > /DietPi/dietpi/.update_stage

#Samba server
dietpi-software install 96

mv /root/*.tar.gz /mnt/dietpi_userdata/

#-------
#Copy to z83 for extraction to rootfs.img.iso
#-------

@carlosedp

Legend, thanks for updating the kernel for NanoPC-T4. I've updated the image and works a charm:
https://dietpi.com/downloads/images/DietPi_NanoPCT4-ARMv8-Stretch.7z

Hi guys, any chance to get Kodi available on it?

@IvanCaregnato I second that. However, this will require working GPU acceleration.

As a side note, I'm not able to run Kodi on FriendlyElec's stock Ubuntu flavored (Bionic) distribution. Kodi stutters heavily. Might be a GPU driver issue though.

yes I've sadly noticed that...even on the "not update" RKMC is pretty unusable

This does not provide a serial console to login, it does give output, but no input. It just does
}
]
as an output once the login screen comes up.
Logging into the console, you get kicked out when logging in with root and dietpi
Also after looking at the source of this, who thought that putting into shadow the password for dietpi as plain text dietpi would work?
The issue with the login is not only on this hardware I have put this onto another odroid as well and serial console does the same thing. Not sure if anyone even tests that from what I can see.
So this is not a usable system at all as
No networking - this system comes up with no network. It errors out during boot

@pshempel

Hi,

Serial console is disabled after initial boot up. You can override this by setting CONFIG_SERIAL_CONSOLE_ENABLE=1 in /boot/dietpi.txt before 1st run of the device.

Logging into the console, you get kicked out when logging in with root and dietpi

This does not occur in our local testing, possible a bad image write, insufficient PSU?

Also after looking at the source of this, who thought that putting into shadow the password for dietpi as plain text dietpi would work?

AUTO_SETUP_GLOBAL_PASSWORD= in dietpi.txt is an automation option. After 1st run setup, the plain password is removed, then stored with SHA encryption on rootfs.

No networking - this system comes up with no network. It errors out during boot

I suspect a bad image write or failing PSU/SD card.

For us to assist you further, please state:

  • PSU (make,model,voltage,amp)
  • SD card used

I am using the onboard 16G MMC. I have installed Armbian and I have no
problems with that working. I would prefer Dietpi as it usually has better
support for the hardware.
BTW, this is on of two of these devices that have the same issues.

Hi,

Serial console is disabled after initial boot up. You can override this by
setting CONFIG_SERIAL_CONSOLE_ENABLE=1 in /boot/dietpi.txt before 1st run
of the device.

Logging into the console, you get kicked out when logging in with root and
dietpi

This does not occur in our local testing, possible a bad image write,
insufficient PSU?

The PSU are both the models sent with the device
12V DC 5 amp

Also after looking at the source of this, who thought that putting into
shadow the password for dietpi as plain text dietpi would work?

AUTO_SETUP_GLOBAL_PASSWORD= in dietpi.txt is an automation option. After
1st run setup, the plain password is removed, then stored with SHA
encryption on rootfs.

No networking - this system comes up with no network. It errors out during
boot

I suspect a bad image write or failing PSU/SD card.

For us to assist you further, please state:

  • PSU (make,model,voltage,amp)
  • SD card used

No sdcard

Nothing attached to it except serial.
Serial does work for the input on the system as I can stop the boot and
work from there. The only thing that does not work is the login. And that
as I stated seems to be an issue with all of the systems that I have used.
The odroid and both of these. The serial console is working but the login
does not.

On the odroid it does the same thing, you can type your login info but
never lets you login. I have verified that secuertty is configured
correctly.
The only thing different is on this image it just sets there kicking out
the strange symbols

]
]

                                       ]

                                                   ]

And it continues on like that.

The and how do you edit the boot settings in the emmc ?
That is one thing I don't understand, I have booted off of the sdcard and looked at the partitions and none of them seem to be ext[234] formats.

--

@pshempel

The only thing different is on this image it just sets there kicking out
the strange symbols

Yep, the serial connection is a "strange" baud rate 1500000, check below:
https://github.com/Fourdee/DietPi/issues/1519#issuecomment-368251442

The and how do you edit the boot settings in the emmc ?

You'll need to extract the image with RK tools, mount to loopback and modify the file, then re-pack with RK tools.

I have booted off of the sdcard and looked at the partitions and none of them seem to be ext[234] formats.

EMMC partitions may not show up when using SD, due to boot method of device.


REF: https://github.com/Fourdee/DietPi/issues/2313

In NanoPC-T4, I have connected XPG SX6000 Lite SSD (PCIe Based) SSD but lspci is empty and also I did not find any driver /dev/nvme. How to debug the NVMe based SSDs being detected or not ?
Is Samsung 970 EVO is only supported ?

Datasheet of XPG SX6000 Lite.. http://www.xpg.com/us/feature/597

@ramgopalkota
Hmm, not sure if M.2 Gen3x4 requires some special support, but I suggest this is all backwards compatible. I don't have much experience with neither M.2 nor NVMe in general.

However as a general debug I suggest you check:

journalctl
  • The first for kernel errors like power/voltage or anything else PCIe/NVMe related.
  • The second for general boot log, e.g. detection of PCIe and block devices.

Ah and there seems to be a kernel module, perhaps on T4 this is not baked into the kernel but needs to be enabled:

modinfo nvme
lsmod
  • The first to see if this module exists, perhaps the name is different, not sure. Another approach to find related kernel modules: find /lib/modules -name *nvme*
  • The second to list enabled modules.

EDIT: Expanded above posts on this topic and found: https://github.com/MichaIng/DietPi/issues/1829#issuecomment-422564060

  • So NVMe should work OOTB without any module that needs to be enabled.
  • So above voltage/kernel/boot logs hopefully give a hint why it is not detected in your case.
  • But @sergiud also reported non-detected NVMe SSD. It this still true of did you manage to get it run?

Thanks for prompt reply.
I do see some voltage/power failed logs in boot log.
Is there anything I need to do in dts file ?? Or is it related to my power supply ? I am using 12V/4A supply.

root@DietPi:~# journalctl | grep -i pci
                                   PCI I/O : 0xffffffbffee00000 - 0xffffffbfffe00000   (    16 MB)
Jun 26 19:43:28 DietPi kernel: PCI/MSI: /interrupt-controller@fee00000/interrupt-controller@fee20000 domain created
Jun 26 19:43:28 DietPi kernel: PCI: CLS 0 bytes, default 64
Jun 26 19:43:28 DietPi kernel: phy phy-pcie-phy.5: Looking up phy-supply from device tree
Jun 26 19:43:28 DietPi kernel: phy phy-pcie-phy.5: Looking up phy-supply property in node /pcie-phy failed
Jun 26 19:43:28 DietPi kernel: rockchip-pcie f8000000.pcie: GPIO lookup for consumer ep
Jun 26 19:43:28 DietPi kernel: rockchip-pcie f8000000.pcie: using device tree for GPIO lookup
Jun 26 19:43:28 DietPi kernel: of_get_named_gpiod_flags: parsed 'ep-gpios' property of node '/pcie@f8000000[0]' - status (0)
Jun 26 19:43:28 DietPi kernel: rockchip-pcie f8000000.pcie: Looking up vpcie3v3-supply from device tree
Jun 26 19:43:28 DietPi kernel: rockchip-pcie f8000000.pcie: Looking up vpcie3v3-supply property in node /pcie@f8000000 failed
Jun 26 19:43:28 DietPi kernel: rockchip-pcie f8000000.pcie: no vpcie3v3 regulator found
Jun 26 19:43:28 DietPi kernel: rockchip-pcie f8000000.pcie: Looking up vpcie1v8-supply from device tree
Jun 26 19:43:28 DietPi kernel: rockchip-pcie f8000000.pcie: Looking up vpcie1v8-supply property in node /pcie@f8000000 failed
Jun 26 19:43:28 DietPi kernel: rockchip-pcie f8000000.pcie: no vpcie1v8 regulator found
Jun 26 19:43:28 DietPi kernel: rockchip-pcie f8000000.pcie: Looking up vpcie0v9-supply from device tree
Jun 26 19:43:28 DietPi kernel: rockchip-pcie f8000000.pcie: Looking up vpcie0v9-supply property in node /pcie@f8000000 failed
Jun 26 19:43:28 DietPi kernel: rockchip-pcie f8000000.pcie: no vpcie0v9 regulator found
Jun 26 19:43:28 DietPi kernel: rockchip-pcie f8000000.pcie: PCIe link training gen1 timeout!
Jun 26 19:43:28 DietPi kernel: rockchip-pcie: probe of f8000000.pcie failed with error -110
Jun 26 19:43:28 DietPi kernel: ehci-pci: EHCI PCI platform driver

"find /lib/modules -name nvme" returns nothing.

root@DietPi:~# zcat /proc/config.gz | grep NVME
CONFIG_BLK_DEV_NVME=y
CONFIG_NVMEM=y

I dumped the DTS by using dts compiler (dts command)
dtc -I fs -O dts /sys/firmware/devicetree/base and I am attaching the output.
I did not find vcc3v3-pcie-regulator ... Is there a new dts file which I need to use.

dts-file.txt

@ramgopalkota
Okay the Looking up vpcie... no regulartor found errors seam to be normal on RK3399 boards, influding Firefly and RockPro64 from what I found, without affecting drives: https://forum.pine64.org/showthread.php?tid=6449

Yours is different from rockchip-pcie f8000000.pcie: PCIe link training gen1 timeout! on.

Now found: https://github.com/rockchip-linux/kernel/issues/116
The workaround, to add a 1s delay between training and bus scanning, has been implemented into current Ayufan kernel release: https://github.com/ayufan-rock64/linux-kernel/commit/3cde5c624c9c39aa03251a55c2d26a48b5bdca5b

No idea how the FriendlyARM implements the kernel and which one is based on, to be true, also I can't check our image due to the special eMMC build.

Can you check if/which kernel deb packages are installed?
dpkg -l linux-*

@Fourdee
Btw the libmali packages are available for arm64 as well since some months: https://github.com/rockchip-linux/rk-rootfs-build/tree/master/packages/arm64/libmali

  • Perhaps a new image makes sense to remove armhf package/dependency and base on newest kernel?
  • Also you might know better which base kernel is used and how to upgrade, of possible easily?

Hi
I have also posted to friendlyarm forum but no one replied.

I am currently using diet-pi .7z .
I will be trying friendlyarm image over the weekend to see if it makes any difference.

I did not do till now since both kernel versions are same.

Can you tell me what needs to be added to cmdline ? Is there any file in diet-pi to set cmdline

@ramgopalkota
There is nothing you can do with the cmdline as long as the patch by nuumio (added to Ayufan kernel) is not implemented. If it is implemented, then you don't need to adjust cmdline since the default setting should work well then.

The base kernel version is the same on all images, but it's the customisation done here and there that makes the difference. Jep testing the official FriendlyARM image is a least worth a try.

Are there kernel deb packages installed on your image? dpkg -l linux-*

ii linux-base 4.5 all Linux image base package
un linux-initramfs-tool (no description available)
un linux-kernel-headers (no description available)
ii linux-libc-dev:arm64 4.9.168-1+deb9u3 arm64 Linux support headers for userspace development

@Fourdee

Hi and thanks for your work on the NanoPC T4 image!

I saw here https://dietpi.com/phpbb/viewtopic.php?p=16308#p16308 that technically the wireguard "package" should be available from DietPi 6.20, but was unable to find it in the installable software because it seems disabled:

$ dietpi-software list | grep disabled

gives back

id 172 | =0 | wireguard: an extremely simple yet fast and modern vpn | disabled for nanopc t4 (aarch64) | https://dietpi.com/phpbb/viewtopic.php?p=16308#p16308

I assume it is because wireguard as a kernel module kinda depends on the friendlyarm kernel this dietpi distro is based on? Is that correct and are there any plans to enable wireguard for NanoPC T4?

thanks for a quick feedback!

@exside
Most importantly the kernel headers/sources are required to build the WireGuard kernel module and I am not sure currently how the kernel is implemented on this T4 image.

As from @ramgopalkota post above (sorry for missing answer), what does this show:

apt show linux-kernel-headers
ls -l /etc/apt/sources.list.d

I plan to create a new set of NanoPi/PC NEO4/M4/T4 + M4v2 images based on current Armbian kernel/firmware, where installing headers is easy, hence WireGuard should be able to be easily implemented. But first v6.27 will be released as it contains a bunch of bug fixes that I don't want to miss on any new image.

@exside
Most importantly the kernel headers/sources are required to build the WireGuard kernel module and I am not sure currently how the kernel is implemented on this T4 image.

As from @ramgopalkota post above (sorry for missing answer), what does this show:

apt show linux-kernel-headers
ls -l /etc/apt/sources.list.d

I plan to create a new set of NanoPi/PC NEO4/M4/T4 + M4v2 images based on current Armbian kernel/firmware, where installing headers is easy, hence WireGuard should be able to be easily implemented. But first v6.27 will be released as it contains a bunch of bug fixes that I don't want to miss on any new image.

Hope to see very soon

Was this page helpful?
0 / 5 - 0 ratings