Jump to content

Search the Community

Showing results for 'f2fs'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Armbian
    • Armbian project administration
  • Community
    • Announcements
    • SBC News
    • Framework and userspace feature requests
    • Off-topic
  • Using Armbian
    • Beginners
    • Software, Applications, Userspace
    • Advanced users - Development
  • Standard support
    • Amlogic meson
    • Allwinner sunxi
    • Rockchip
    • Other families
  • Community maintained / Staging
    • TV boxes
    • Amlogic meson
    • Allwinner sunxi
    • Marvell mvebu
    • Rockchip
    • Other families
  • Support

Product Groups

  • Misc
  • Support

Categories

  • Armbian
  • Armbian releases

Categories

  • Volunteering opportunities

Calendars

  • Community Calendar

Categories

  • Official giveaways
  • Community giveaways

Categories

  • Members

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Matrix


Mastodon


IRC


Website URL


XMPP/Jabber


Skype


Github


Discord


Location


Interests

  1. Description When trying to build an image with FIXED_IMAGE_SIZE=3000 ROOTFS_TYPE=f2fs with WSL2 as build host, I stumbled on an error pretty late in the build process when trying to mount the rootfs: [💲|🌿] Creating rootfs [ f2fs on /dev/loop2p2 ] [💲|🔨] [💲|🔨] F2FS-tools: mkfs.f2fs Ver: 1.14.0 (2020-08-24) [💲|🔨] [💲|🔨] Info: Disable heap-based policy [💲|🔨] Info: Debug level = 0 [💲|🔨] Info: Label = armbi_root [💲|🔨] Info: Trim is enabled [💲|🔨] Info: Segments per section = 1 [💲|🔨] Info: Sections per zone = 1 [💲|🔨] Info: sector size = 512 [💲|🔨] Info: total sectors = 5586911 (2727 MB) [💲|🔨] Info: zone aligned segment0 blkaddr: 512 [💲|🔨] Info: format version with [💲|🔨] "Linux version 6.1.21.2-microsoft-standard-WSL2+ (flash@DESKTOP-2VA4T55) (gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #1 SMP Wed Jan 31 20:29:07 CET 2024" [💲|🔨] Info: [/dev/loop2p2] Discarding device [💲|🔨] Info: This device doesn't support BLKSECDISCARD [💲|🔨] Info: Discarded 2727 MB [💲|🔨] Info: Overprovision ratio = 3.860% [💲|🔨] Info: Overprovision segments = 108 (GC reserved = 59) [💲|🔨] Info: format successful [💲|🌿] Mounting rootfs [ /dev/loop2p2 (UUID=02dfb13e-172d-44b1-b71c-25164f29cc0b) ] [💲|🔨] mount: /home/user/build-fork/.tmp/mount-bfedd4e1-02f1-4bac-99c1-88d420d40809: unknown filesystem type 'f2fs'. [💲|💥] Error 32 occurred in main shell [ at /home/flash/build-fork/lib/functions/logging/runners.sh:211 run_host_command_logged_raw() --> lib/functions/logging/runners.sh:211 run_host_command_logged() --> lib/functions/logging/runners.sh:193 prepare_partitions() --> lib/functions/image/partitioning.sh:275 do_with_logging() --> lib/functions/logging/section-logging.sh:81 build_rootfs_and_image() --> lib/functions/main/rootfs-image.sh:86 full_build_packages_rootfs_and_image() --> lib/functions/main/default-build.sh:36 do_with_default_build() --> lib/functions/main/default-build.sh:42 cli_standard_build_run() --> lib/functions/cli/cli-build.sh:25 armbian_cli_run_command() --> lib/functions/cli/utils-cli.sh:136 cli_entrypoint() --> lib/functions/cli/entrypoint.sh:176 main() --> compile.sh:50 ] [💲|💥] Cleaning up [ please wait for cleanups to finish ] I found out that this is because the WSL2 kernel does not have support for the F2FS filesystem. f2fs-tools could be installed normally though. To make the build script exit at the beginning instead of at a late stage and to tell the user a more exact reason why it failed, I added a check if the chosen ROOTFS_TYPE is supported by the host the build script is running on. The check checks /proc/filesystems which should be present in all Linux distros. But just in case /proc/filesystems is not present, the build won't fail and instead print a warning that the build might fail just like if it can't install python2. How Has This Been Tested? Build host: Linux version 6.1.21.2-microsoft-standard-WSL2+ (no F2FS support, but BTRFS and EXT4 support) Command: ./compile.sh build BOARD=nanopi-r5c BRANCH=edge BUILD_DESKTOP=no BUILD_MINIMAL=no KERNEL_CONFIGURE=no RELEASE=bookworm FIXED_IMAGE_SIZE=3000 ROOTFS_TYPE=f2fs [x] Ran build with FIXED_IMAGE_SIZE=3000 ROOTFS_TYPE=f2fs --> build exits at an early stage with [💲|💥] error! [ Filesystem type unsupported by build host: f2fs ] [x] Ran build with ROOTFS_TYPE=btrfs --> build success [x] Ran build without ROOTFS_TYPE option --> build success Might need some testing with other more exotic build hosts like Docker. Checklist: [x] My code follows the style guidelines of this project [x] I have performed a self-review of my own code [x] I have commented my code, particularly in hard-to-understand areas [ ] I have made corresponding changes to the documentation [x] My changes generate no new warnings View the full article
  2. Hello, I'm trying to install Armbian using `armbian-install` on NVMe, with bootloader on eMMC. I have installed 64GB Foresee eMMC module and 256GB WD SN530 2242 SSD. When I boot from SD card, both storages are detected. Using fdisk, I made them both `dos` (mbr) partitioned. Then I invoke `armbian-install`, it proceeds without any problems using eMMC+sata/nvme/usb option, and I have now 512 MB boot partition on eMMC, the rest of eMMC space as secondary, f2fs partition, and ext4 partition nvme0n1p1 containing the rest of the system. I power the system off, take the SD card out, and boot again.. and I'm stuck in initramfs. From it, I can mount the nvme0n1p1 manually without problems, so the partition is readable and mountable. When I mount nvme0n1p1 as `/` and try to `exit` from initramfs, I am getting kernel panic, but I don't know if it's related or not. It seems to be not a PSU issue (I tried a few 5V 2-3A), not an SD card issue (the system boots and works fine from it), nor the eMMC issue (I installed the system onto the 64GB eMMC only, without nvme, and it worked as well). Tried installing both Armbian_community_24.5.0-trunk.6_Orangepi3b_bookworm_legacy_5.10.160_minimal and Armbian_23.11.1_Orangepi3b_bookworm_edge_6.6.2, both exhibit the same behavior. What's wrong with me and what can I do to fix the boot? I searched for solutions around, but did not find any similar...
  3. after quite a few frustrating attempts to setup a built environment, fixing some issues, jumping over some hoops for the build, I managed to get to the 'starting point' of a build ./compile.sh [🌱] uuidgen not found [ uuidgen not installed yet ] [🌱] Using prebuilt Armbian image as base for 'ubuntu-jammy' [ DOCKER_ARMBIAN_BASE_IMAGE: ghcr.io/armbian/docker-armbian-build:armbian-ubuntu-jammy-latest ] [🌿] Docker info [ Docker 19.03.11 Kernel:4.12.14-lp151.28.91-default RAM:31.28GiB CPUs:8 OS:'openSUSE Leap 15.1' hostname 'snoopy1.internal' under 'Linux' - buildx:yes - loop-hacks:yes static-loops:no ] [🌱] Creating [ .dockerignore ] [🌱] Docker launcher [ enabling all extensions looking for Docker dependencies ] [🌱] Extension manager [ processed 27 Extension Methods calls and 82 Extension Method implementations ] [🌱] Adding rootfs encryption related packages [ cryptsetup cryptsetup-initramfs ] [🌱] Preparing rkdevflash host-side dependencies [ rkdevflash ] [🌱] Creating [ Dockerfile; FROM ghcr.io/armbian/docker-armbian-build:armbian-ubuntu-jammy-latest ] [🌱] Armbian docker image [ already exists: ghcr.io/armbian/docker-armbian-build:armbian-ubuntu-jammy-latest ] [🌱] Building [ Dockerfile via 'buildx build --progress=plain --load' ] [🔨] #0 building with "default" instance using docker driver [🔨] [🔨] #1 [internal] load build definition from Dockerfile [🔨] #1 transferring dockerfile: 2.12kB done ... [🔨] #6 [2/6] RUN echo "--> CACHE MISS IN DOCKERFILE: apt packages." && DEBIAN_FRONTEND=noninteractive apt-get -y update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends bash git psmisc uuid-runtime bc binfmt-support bison libc6-dev make dpkg-dev gcc ca-certificates ccache cpio debootstrap device-tree-compiler dialog dirmngr dosfstools dwarves flex gawk gnupg gpg imagemagick jq kmod libbison-dev libelf-dev libfdt-dev libfile-fcntllock-perl libmpc-dev libfl-dev liblz4-tool libncurses-dev libssl-dev libusb-1.0-0-dev linux-base locales lsof ncurses-base ncurses-term ntpdate patchutils pkg-config pv qemu-user-static rsync swig u-boot-tools udev uuid-dev zlib1g-dev file tree expect colorized-logs unzip zip pigz xz-utils pbzip2 lzop zstd parted gdisk fdisk aria2 curl wget axel parallel python3-dev python3-distutils python3-setuptools python3-pip python2 python2-dev gcc-x86-64-linux-gnu gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf gcc-arm-linux-gnueabi gcc-riscv64-linux-gnu debian-archive-keyring libc6-amd64-cross g++-aarch64-linux-gnu g++ btrfs-progs cryptsetup openssh-client f2fs-tools nilfs-tools xfsprogs zerofree qemu-utils qemu-utils libudev-dev libusb-1.0-0-dev dh-autoreconf build-essential gcc-arm-linux-gnueabi gcc-or1k-elf qemu-utils [🔨] #6 0.958 --> CACHE MISS IN DOCKERFILE: apt packages. [🔨] #6 49.04 Ign:1 http://archive.ubuntu.com/ubuntu jammy InRelease [🔨] #6 49.04 Ign:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [🔨] #6 97.09 Ign:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease ... [🔨] #6 200.2 Err:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [🔨] #6 200.2 Temporary failure resolving 'security.ubuntu.com' ... [🔨] #6 481.5 Err:1 http://archive.ubuntu.com/ubuntu jammy InRelease [🔨] #6 481.5 Temporary failure resolving 'archive.ubuntu.com' [🔨] #6 529.5 Err:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [🔨] #6 529.5 Temporary failure resolving 'archive.ubuntu.com' Is anyone else encountering a similar issue? The builds seemed to be failing repeatedly at DNS resolution to the repositories. Didn't manage to get past this point as the builds failed repeatedly here many minutes to like 1/2 hour and abort, many times with no successes so far. They also seem to be the same few accesses and possibly packages. [🔨] #6 481.4 Err:1 http://archive.ubuntu.com/ubuntu jammy InRelease [🔨] #6 481.4 Temporary failure resolving 'archive.ubuntu.com' [🔨] #6 529.4 Err:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [🔨] #6 529.4 Temporary failure resolving 'archive.ubuntu.com' [🔨] #6 577.5 Err:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [🔨] #6 577.5 Temporary failure resolving 'archive.ubuntu.com' [🔨] #6 577.5 Reading package lists... [🔨] #6 578.1 W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy/InRelease Temporary failure resolving 'archive.ubuntu.com' [🔨] #6 578.1 W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease Temporary failure resolving 'archive.ubuntu.com' [🔨] #6 578.1 W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy-backports/InRelease Temporary failure resolving 'archive.ubuntu.com' [🔨] #6 578.1 W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/jammy-security/InRelease Temporary failure resolving 'security.ubuntu.com' [🔨] #6 578.1 W: Some index files failed to download. They have been ignored, or old ones used instead.
  4. tried switching the base image to debian-bookworm, unfortunately a same issue appeared after some time during built [🔨] #6 [2/6] RUN echo "--> CACHE MISS IN DOCKERFILE: apt packages." && DEBIAN_FRONTEND=noninteractive apt-get -y update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends bash git psmisc uuid-runtime bc binfmt-support bison libc6-dev make dpkg-dev gcc ca-certificates ccache cpio debootstrap device-tree-compiler dialog dirmngr dosfstools dwarves flex gawk gnupg gpg imagemagick jq kmod libbison-dev libelf-dev libfdt-dev libfile-fcntllock-perl libmpc-dev libfl-dev liblz4-tool libncurses-dev libssl-dev libusb-1.0-0-dev linux-base locales lsof ncurses-base ncurses-term ntpdate patchutils pkg-config pv qemu-user-static rsync swig u-boot-tools udev uuid-dev zlib1g-dev file tree expect colorized-logs unzip zip pigz xz-utils pbzip2 lzop zstd parted gdisk fdisk aria2 curl wget axel parallel python3-dev python3-distutils python3-setuptools python3-pip gcc-x86-64-linux-gnu gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf gcc-arm-linux-gnueabi gcc-riscv64-linux-gnu debian-archive-keyring libc6-amd64-cross g++-aarch64-linux-gnu g++ btrfs-progs cryptsetup openssh-client f2fs-tools nilfs-tools xfsprogs zerofree qemu-utils qemu-utils libudev-dev libusb-1.0-0-dev dh-autoreconf build-essential gcc-arm-linux-gnueabi gcc-or1k-elf qemu-utils [🔨] #6 0.996 --> CACHE MISS IN DOCKERFILE: apt packages. [🔨] #6 49.05 Ign:1 http://deb.debian.org/debian bookworm InRelease [🔨] #6 97.10 Ign:2 http://deb.debian.org/debian bookworm-updates InRelease [🔨] #6 145.2 Ign:3 http://deb.debian.org/debian-security bookworm-security InRelease ... [🔨] #6 481.4 Temporary failure resolving 'deb.debian.org' [🔨] #6 529.4 Err:2 http://deb.debian.org/debian bookworm-updates InRelease [🔨] #6 529.4 Temporary failure resolving 'deb.debian.org' [🔨] #6 577.4 Err:3 http://deb.debian.org/debian-security bookworm-security InRelease [🔨] #6 577.4 Temporary failure resolving 'deb.debian.org' [🔨] #6 577.4 Reading package lists... [🔨] #6 577.8 W: Failed to fetch http://deb.debian.org/debian/dists/bookworm/InRelease Temporary failure resolving 'deb.debian.org' [🔨] #6 577.8 W: Failed to fetch http://deb.debian.org/debian/dists/bookworm-updates/InRelease Temporary failure resolving 'deb.debian.org' [🔨] #6 577.8 W: Failed to fetch http://deb.debian.org/debian-security/dists/bookworm-security/InRelease Temporary failure resolving 'deb.debian.org' [🔨] #6 577.8 W: Some index files failed to download. They have been ignored, or old ones used instead. as i'm not sure how to define that correctly, i patched lib/functions/host/docker.sh docker_cli_prepare() declare -g DOCKER_ARMBIAN_BASE_IMAGE="${DOCKER_ARMBIAN_BASE_IMAGE:-"debian:bookworm"}" # declare -g DOCKER_ARMBIAN_BASE_IMAGE="${DOCKER_ARMBIAN_BASE_IMAGE:-"ubuntu:jammy"}" that managed to pick-up the Debian bookworm image, but the same resolving errors persists
  5. listings as follows root@orangepi3-lts:/sys/kernel/debug# ls -a . dma_buf memblock regulator .. dmaengine min_uV slab asoc dma_pools mmc0 sleep_time bcache dri mmc1 split_huge_pages bdi dynamic_debug mmc2 sram block error_injection mtd stmmaceth cec extfrag opp suspend_stats clear_warn_once f2fs percpu_stats swiotlb clk fault_around_bytes pinctrl uA_load constraint_flags frontswap pm_genpd usb debug_enabled gpio psci virtio-ports devfreq hid pwm wakeup_sources device_component kprobes ras zswap devices_deferred max_uV regmap root@orangepi3-lts:/sys/kernel/debug# root@orangepi3-lts:/sys/kernel/debug# cd pinctrl root@orangepi3-lts:/sys/kernel/debug/pinctrl# ls -a . 300b000.pinctrl pinctrl-devices pinctrl-maps .. 7022000.pinctrl pinctrl-handles root@orangepi3-lts:/sys/kernel/debug/pinctrl# cd 300b000.pinctrl root@orangepi3-lts:/sys/kernel/debug/pinctrl/300b000.pinctrl# ls -a . gpio-ranges pinconf-pins pinmux-functions pinmux-select .. pinconf-groups pingroups pinmux-pins pins root@orangepi3-lts:/sys/kernel/debug/pinctrl/300b000.pinctrl#
  6. Hi Monk, rootfstype=f2fs , I did not heard about f2 filesystem, should'nt be ext4 instead ?
  7. This was fun but its still a bit flaky/unstable now and then but overall it seems to work. What is it: KODI multimedia player standalone installation script. Features: Boots directly into KODI with KODI standalone service Enabled Hardware decoding by liujianfeng1994 Encrypted rootfs partition with auto-decrypt on boot Encryption key is randomly generated during installation and inserted into initramfs/crypttab Tested with EXT4 only Installed on Minimal CLI Ubuntu/Jammy installation How to: Download Ubuntu-Jammy-Minimal CLI Copy 'kodi-minimal-cli' to sdcard /root chmod +x /root/kodi-minimal-cli boot from sdcard fill out Armbian questionnaire run ./kodi-minimal-cli install to emmc and choose EXIT after fill out wifi details in network manager if you need it reboot #!/bin/sh -vxe # GPLv3 just in case anyone cares # 0. boot from sdcard (ubuntu/jammy) minimal cli # 1. remove Ubuntu Telemetry/Spyware if any cd /tmp apt \ update \ --yes apt \ purge\ --yes \ ubuntu-report \ popularity-contest \ apport \ whoopsie \ apport-symptoms apt-mark \ hold \ ubuntu-report \ popularity-contest \ apport \ whoopsie \ apport-symptoms cat << 'EOF' >> /etc/hosts 127.0.0.1 popcon.ubuntu.com 127.0.0.1 metrics.ubuntu.com EOF # format /dev/mmcblk2p1 ext4 bootfs format(){ case $2 in ext4) mkfs.ext4 -F -L rootfs $1;; btrfs) mkfs.btrfs -f -L rootfs $1;; f2fs) mkfs.f2fs -f -l rootfs $1;; *) false;; esac } #WORKDIR=/mnt #slower running from storage WORKDIR=$(mktemp -d -p /dev/shm) #faster running from memory TARGET=/dev/mmcblk2 FSTYPE=ext4 grep -q "${TARGET}.*/boot" /proc/mounts && { echo "error: not booted from sdcard" exit 1 } # 2. update and install: apt update --yes && apt upgrade --yes apt install --yes cryptsetup-bin gdisk # 3. run armbian-install and install to emmc, when done choose: exit armbian-install || true # 4. backup data mkdir -p ${WORKDIR}/emmcdata mount ${TARGET}p1 ${WORKDIR}/emmcdata rsync \ --archive \ --info=progress2 \ ${WORKDIR}/emmcdata/ \ ${WORKDIR}/backup sync umount ${TARGET}p1 rmdir ${WORKDIR}/emmcdata # 5. create new partition layout and encrypt disk sgdisk -og ${TARGET} sgdisk -n 1:32768:+512M -t 0:8300 ${TARGET} sgdisk -n 0:0:0 -t 0:8300 ${TARGET} ############################################ #NAME SIZE RO TYPE MOUNTPOINTS #mmcblk2 28,9G 0 disk #├─mmcblk2p1 512M 0 part /boot #└─mmcblk2p2 28,4G 0 part # └─rootfs 28,4G 0 crypt /var/log.hdd # / ############################################ # format 1st/boot partition format ${TARGET}p1 ${FSTYPE} bootfs # create encryption key KEYFILE=/dev/shm/rootfs.keyfile dd if=/dev/urandom bs=$((4096/8)) count=1 of=${KEYFILE} chmod u=r,go-rwx ${KEYFILE} # encrypt 2nd/root partition cryptsetup \ luksFormat \ --batch-mode \ --cipher=aes-xts-plain64 \ --key-size=512 \ --hash=sha512 ${TARGET}p2 \ ${KEYFILE} ROOTFS=/dev/mapper/rootfs cryptsetup \ open \ --key-file=${KEYFILE} \ ${TARGET}p2 \ rootfs # format root partition format ${ROOTFS} ${FSTYPE} rootfs # 6. mount partitions ROOT=${WORKDIR}/restore mkdir -p ${ROOT} mount ${ROOTFS} ${ROOT} mkdir -p ${ROOT}/boot mount ${TARGET}p1 ${ROOT}/boot # 7. restore from backup rsync \ --archive \ --info=progress2 \ ${WORKDIR}/backup/ \ ${ROOT} sync # 8. enable network in chrooted environment cd ${ROOT} touch root/.no_rootfs_resize cp -p /etc/resolv.conf etc/resolv.conf cp -p /etc/hosts etc/hosts cp -p /etc/apt/sources.list etc/apt/sources.list cp -p /etc/apt/sources.list.d/armbian.list etc/apt/sources.list.d/armbian.list # 9. update initramfs-modules, crypttab, fstab sed -i "/^rootdev=/s,=.*,=${ROOTFS}," boot/armbianEnv.txt awk '{print $1}' /proc/modules > etc/initramfs-tools/modules cat << EOF > etc/fstab ${ROOTFS} / ${FSTYPE} defaults,noatime,nodiratime,commit=600,errors=remount-ro 0 1 UUID=$(lsblk ${TARGET}p1 --noheadings -o UUID) /boot ${FSTYPE} defaults,noatime,nodiratime,commit=600,errors=remount-ro 0 2 tmpfs /tmp tmpfs defaults,nosuid 0 0 EOF KEYDIR=${ROOT}/etc/luks mkdir -p ${KEYDIR} chmod u=rx,go-rwx ${KEYDIR} mv ${KEYFILE} ${KEYDIR} cat << EOF > ${ROOT}/etc/crypttab rootfs UUID=$(blkid -s UUID -o value ${TARGET}p2) /etc/luks/rootfs.keyfile luks,discard EOF #10. chrooted environment mount -o rbind /dev dev mount -t proc proc proc mount -t sysfs sys sys CONFIG=/dev/shm/config cat << 'EOF' > ${CONFIG} #!/bin/sh -vxe apt update --yes apt -o Dpkg::Options::="--force-confdef" --yes install cryptsetup-initramfs ### embed keyfile KEYDIR=/etc/luks KEYFILE=${KEYDIR}/rootfs.keyfile echo "KEYFILE_PATTERN=${KEYDIR}/*.keyfile" >> /etc/cryptsetup-initramfs/conf-hook echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf update-initramfs -u ### network manager apt install --yes network-manager ufw ### kodi echo kodi >/etc/hostname hostname -F /etc/hostname PPA='https://ppa.launchpadcontent.net/liujianfeng1994/panfork-mesa/ubuntu' GPG='/etc/apt/trusted.gpg.d/liujianfeng1994_ubuntu_panfork-mesa.gpg' LIST='/etc/apt/sources.list.d/liujianfeng1994-ubuntu-panfork-mesa.list' URL='https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x' KEY='0B2F0747E3BD546820A639B68065BE1FC67AABDE' curl -S "${URL}${KEY}" | gpg --batch --yes --dearmor --output "${GPG}" echo "deb ${PPA} $(lsb_release -sc) main" | tee ${LIST} apt update --yes apt install --yes mali-g610-firmware apt install --yes xserver-xorg xinit kodi unzip make useradd kodi --no-create-home --home-dir /var/lib/kodi echo "kodi:kodi" | chpasswd # cec-adapter usermod kodi -a -G dialout mkdir /etc/sysusers.d/ URL=https://codeload.github.com/graysky2/kodi-standalone-service/zip/refs/heads/master wget ${URL} -O /dev/shm/master.zip unzip /dev/shm/master.zip -d/dev/shm cd /dev/shm/kodi-standalone-service-master/ make install systemd-sysusers systemd-tmpfiles --create || true systemctl enable kodi.service # disable the local resolver and use the one provided by DHCP #systemctl disable systemd-resolved # cat << EOF >> /etc/sysctl.conf # # disable ipv6 # net.ipv6.conf.all.disable_ipv6=1 # net.ipv6.conf.default.disable_ipv6=1 # net.ipv6.conf.lo.disable_ipv6=1 # EOF # sed -i '/#ListenAddress 0.0.0.0/s,^#,,' /etc/ssh/sshd_config # network manager to setup wifi nmtui exit EOF chmod +x ${CONFIG} chroot . ${CONFIG} cd ${WORKDIR} #awk -v WD=${WORKDIR} '$0 ~ WD {print $2}' /proc/mounts | sort -r | xargs umount || true kodi-minimal-cli
  8. Since I've been asked recently why Armbian doesn't ship with F2FS by default I thought let's have a look again what to gain from F2FS (a filesystem specially designed for use with flash media by Samsung few years ago). For a history of F2FS discussion please use the search function: https://forum.armbian.com/index.php?/search/&q=f2fs Armbian fully supports F2FS partitions for a long time now but we don't provide OS images with F2FS for a couple of reasons: F2FS still doesn't support resizing so our default installation variant (ship with a minimized rootfs that gets resized on first boot automagically to the size of SD card / eMMC) wouldn't work F2FS requires a pretty recent kernel and is therefore not an option for default images (since most of downloads use legacy kernel) Unfortunately those installations that would benefit the most from faster random IO (writes) are those using the kernels most outdated (Allwinner A20/H3 who are used by many people as 'desktop linux' where performance heavily depends on fast random writes) To use F2FS with Armbian you need to choose a SoC family that is supported by mainline kernel (or at least 4.4 LTS) and then build an image yourself using these options (choosing $FIXED_IMAGE_SIZE to be less than the capacity of the final installation media!) ROOTFS_TYPE=f2fs FIXED_IMAGE_SIZE=n In the past I tested through this many times and all my tests didn't show that great performance improvements would justify another installation variant but... let's have a look again and focus on the claims first. F2FS has been invented to solve certain problems with flash based media and promises better performance and higher longevity. At least measuring the latter is somewhat questionable but performance can be tested. So I decided to pick 3 different SD cards that represent roughly the kind of flash media people out there use: Crap: An Intenso 4GB Class 4 SD card Average: A random SanDisk 8GB card Superiour: An expensive SanDisk Extreme Plus with 16GB For the tests I used an OrangePi One with kernel 4.10 and a Debian Jessie variant to be able to use a scripted OpenMediaVault installation as some sort of a real-world benchmark (the script is roughly based on the results of our OMV PoC). The other 3 benchmarks are our usual iozone3 call, then ioping and a mixed workload measured with fio. Test script is this: https://pastebin.com/pdex14L9 First results with an average SanDisk 8 GB card (debug output with F2FS and with EXT4): F2FS EXT4 iozone 4K random write IOPS 208 196 iozone 4K random read IOPS 1806 1842 iozone 1MB sequential write KB/s 7161 10318 iozone 1MB sequential read KB/s 22429 22476 ioping k iops 1.42 1.31 fio write iops 128 132 fio read iops 384 395 OMV installation time in sec 886 943 I consider benchmark numbers that vary by less than 10% as identical and then it's easy: ext4 outperforms F2FS since all results are identical but sequential reads are +40% faster with ext4. Test results in detail: F2FS and EXT4. I'm really not impressed by any differences -- only two things are interesting: faster sequential reads with ext4 but very low random IO write performance at 16K blocksize (that's something we noticed with a lot of SD cards already, see first post in 'SD card performance' thread). At the moment I'm not that impressed by performance gains (but that might change later when the crappy 4GB card has finished) and just want to point out that there are other criteria too for choosing a filesystem for systems that are running with a high potential for bit flips (due to users using crappy chargers, bad DRAM clock settings when not using Armbian and so on). Just to give an idea please read through the PDF link here: https://news.ycombinator.com/item?id=11469535 (ext4 more than 1,000 times more reliable than F2FS when running the AFL test against) BTW: mkfs.f2fs info at image creation time (no idea whether something could be 'tuned' here): Info: Debug level = 0 Info: Label = Info: Segments per section = 1 Info: Sections per zone = 1 Info: Trim is enabled Info: sector size = 512 Info: total sectors = 7649280 (3735 MB) Info: zone aligned segment0 blkaddr: 512 Info: format version with "Linux version 4.4.0-72-generic (buildd@lcy01-17) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #93-Ubuntu SMP Fri Mar 31 14:07:41 UTC 2017" Info: Discarding device Info: Discarded 7649280 sectors Info: Overprovision ratio = 3.300% Info: Overprovision segments = 126 (GC reserved = 68) Info: format successful
  9. Hi, i tried this image (Armbian_22.11.0-trunk_Orangepi-800_jammy_current_5.19.17_xfce_desktop.img.xz) and it's lightyears ahead of what the default OS that the Orange Pi 800 comes with and has for offer for download from the Orange Pi 800. I noticed that if the kernel upgrades or initramfs, it will still boot, but opengl stops working and there's other problems. I'd like to hold all that but allow all else to upgrade normally. Is it enough to hold linux-image-current-rockchip64 or do I also somehow have to lock initramfs or what else? I realize that using a self-described alpha release is a bad idea, but what if the official builds are even worse? Maybe make /boot read-only on the first boot? Any ideas would be welcome. Otherwise many things work well -- I tested WiFi, sound over HDMI (simply just select it in PulseAudio Volume Control and shut the other one off -- I did not have the problem with it not showing up that others seem to have had), and Bluetooth works fine. Thanks, this distro, even at alpha stage, is better than what is offered by OrangePi themselves. Side note, slightly off-topic but I think closely enough related, I tried installing cfs-zen-tweaks (https://github.com/igo95862/cfs-zen-tweaks) and set /sys/block/mmcblk0/queue/scheduler to bfs and that really made this a smooth desktop experience (I am using f2fs as well). Honestly it works fine for desktop use. Thanks again!
  10. here's the git shortlog; as mentioned in the meeting, I've reworded quite a bit, so this a lot longer (goes back in time further) than for other meetings. Ricardo Pardini <ricardo@pardini.net> (441): armbian-next: `lib/tools` - python - config definitions capture and massaging armbian-next: `general-packaging`, `mkdebian` and `builddeb` are NO MORE armbian-next: update defaults and comments in config file armbian-next: atf: downgrade gcc errors to warnings, so ATF 2.5, 2.2 and others can be built on modern toolchains armbian-next: fix for .bin/.elf copy from atf to uboot dir armbian-next: kernel: config: `make olddefconfig` (not `oldconfig`, which is interactive) when `KERNEL_CONFIGURE=yes` armbian-next: kernel build: always add container (series/patch-dir) mtime as minimum mtime for patch results armbian-next: do not exclude 'CC' messages from kernel make armbian-next: remove warm/cold bundles from `fetch_from_repo`, replace with 2 invocation-specific hooks and `gitballs` (.tar of .git) armbian-next: try to parse `Source: linux-5.x.y-rcZ` correctly into `VER=5.x.y-rcZ` instead of `VER=5.x.y` armbian-next: allow overriding rkbins repo URL with `RKBIN_GIT_URL` armbian-next: u-boot: introduce `UBOOT_DEBUGGING=yes` which enables `CONFIG_LOG=y` and others armbian-next: atf: add `LOG_LEVEL=40` (up from default 20) and `BUILD_STRING="armbian"` to atf make invocation armbian-next: back to ANSI logs by default; HTML logs only by `EXPORT_HTML_LOG=yes` armbian-next: u-boot: extract into functions; add hooks - for more flexibility armbian-next: python: info: replace instances of ${SRC} with literal `${SRC}` so infos are more comparable armbian-next: `check_loop_device()` now uses `do_with_retries 5 ...` to give the OS time armbian-next: introduce `KERNEL_EXTRA_DIR` to suffix `LINUXSOURCEDIR` forcefully armbian-next: kernel-localmodconfig: update `kernel_config_mtime` after running `localmodconfig`, otherwise changes not detected armbian-next: traps: cleanups: run cleanups in the reverse order they were added; allow running one single cleanup and removing from list armbian-next: cleaning: fix shortcircuits, warn about unknown clean levels armbian-next: fix logging headers in HTML/ANSI log output armbian-next: WiP: u-boot: add fasthash to u-boot armbian-next: u-boot: add debug info when hacking `CONFIG_ENV_IS_IN_EXT4` in u-boot `.config` armbian-next: `write_image_to_device`: if `SKIP_VERIFY=no`, don't waste time checksumming the image, it won't be used armbian-next: logs: avoid errors by cwd'ing to SRC armbian-next: uboot: use CFLAGS/KCFLAGS everywhere; run make through `unbuffer` (from `expect` package) for full color logging armbian-next: kernel: run kernel's make through `unbuffer` as well armbian-next: cleaning: don't complain about 'none' `CLEAN_LEVEL` armbian-next: sources/families: meson64: gx: use `python2` explicitly for calling `acs_tool.pyc`; better logging armbian-next: prepare a bin dir inside WORKDIR with a `python` symlink to `/usr/bin/python2` and add it to `PATH` armbian-next: retry apt update & apt install family packages in addition to board packages armbian-next: fix for tests of `BOOTSCRIPT` and `BOOTCONFIG!=none` armbian-next: split `early_prepare_host_dependencies()` (run early, during config, before aggregation) from `prepare_host()` (run after aggregation) armbian-next: re-add dependency `fdisk` after juggling rebases armbian-next: introduce `ARMBIAN_LOGS_TO_JOURNAL` and `ARMBIAN_LOGS_JOURNAL_IDENTIFIER` (logs `display_alert` to journald) armbian-next: debugs about armbianEnv.txt overlays/fdtfile armbian-next: deploy bootscript even if BOOTCONFIG=none armbian-next: HACK: ROOTFSCACHE_VERSION is undefined and failing everytime armbian-next: fix "create list of installed packages for debug" armbian-next: many fixes after v29 rebase; mostly involving umount armbian-next: let all unmounting of `${MOUNT}` be done by `umount_chroot_recursive` armbian-next: less verbose umount_chroot(), except after first try, so we can know what is left mounted armbian-next: bye bye `$FAST_CREATE_IMAGE`: always use `truncate` for blank image armbian-next: normalize mount/umount `$target`s to have (or not) the trailing slash armbian-next: move `resolv.conf` symlink to systemd to post_debootstrap_tweaks so customize phase has working DNS armbian-next: grub: call `VER="generic" update_initramfs` when `"${DISTRO_GENERIC_KERNEL}" == "yes"` (so ddk builds work again) armbian-next: `umount_chroot_recursive`: don't try to `realpath` unless it's a dir to begin with armbian-next: don't break if parsing `BOOT_SOC` out of `BOOTCONFIG` fails; sanity checks for `BOOT_SOC`/`DDR_BLOB` armbian-next: export `CHOSEN_KERNEL_WITH_ARCH` again, for reporting only armbian-next: `kernel`: add hooks `fetch_sources_for_kernel_driver` and `patch_kernel_for_driver` to allow migrating EXTRAWIFI stuff to extensions armbian-next: logging: don't bomb due to lack of `git` or `zstdmt` armbian-next: traps: don't duplicate error message/stacktrace when error occurs in subshell; instead indicate clearly `SUBSHELL` armbian-next: show `mkfs` ext2/ext4 output (remove `-q`), it's being run under the logging manager already armbian-next: the great cli entrypoint (+docker) rewrite; introduce `USE_LOCAL_APT_DEB_CACHE` replacing `apt-cacher-ng` armbian-next: always include `libc6-amd64-cross` in hostdeps; `qemu` is a dummy package now, remove armbian-next: add `gcc-riscv64-linux-gnu` to hostdeps (`crossbuild-essential-riscv64` is Ubuntu-only) armbian-next: WiP/TODO: `extras/buildpkg.sh` code (eg: chroot_installpackages_local) has not been handled yet, warn and don't run it armbian-next: retry 3 times for loop device's size, then give up; introduce `RETRY_RUNS` in `do_with_retries()` armbian-next: back to including 'cli' `sources/apt` sources when building non-desktops (eg, nala etc) armbian-next: make sure we're running on Bash 5.x at least armbian-next: make sure we've coreutils armbian-next: don't force SHOW_LOG=yes during Dockerfile build; we're verbose enough without it armbian-next: docker: try support Rancher Desktop (in dockerd mode), experimental. armbian-next: docker: don't even try to to prepare Docker, if it's not available armbian-next: cleanup `extensions` logging, using `display_alert` new levels `extensions` (`SHOW_EXTENSIONS=yes`) and `extensionstrace` (`SHOW_EXTENSIONS_TRACE=yes`) armbian-next: cleanup logging in distro-agnostic.sh; don't use `install.log` or such armbian-next: `mountpoints.sh` with all bind/volume directories definitions and looping func; use it to determine best bind/volume combination for each host OS in Docker armbian-next: initial post-`kinetic` `resolved` debacle, for now just WARN don't break; missing resolved package in kinetic? armbian-next: `docker`: handle the case where we can't pull, and don't otherwise have, the base image; in this case use original debian/ubuntu image armbian-next: don't `uuidgen` twice for no reason armbian-next: `docker`: correctly show all Armbian Docker volumes; use bind, not volume, for `output/debs` armbian-next: correctly test for systemd `is-system-running --quiet` armbian-next: better handling for `binfmt_misc` woes; don't require it when native build & only complain if it really fails armbian-next: avoid git cramps when deciding to init repos armbian-next: show more complete gcc versions in logs armbian-next: `cli`: de-hardcode `build` and `docker`'s interdependence, via `DOCKER_CLI_CMD` armbian-next: `cli`: a bit more untangling of re-launching; introduce `ARMBIAN_CLI_RELAUNCH_COMMAND` and `cli_standard_relaunch_docker_or_sudo()` armbian-next: remove usage of `REQUIREMENTS_DEFS_ONLY`; initialize extensions for `requirements` cli command & docker pre-game deps armbian-next: rename `compile_plymouth-theme-armbian()` to `compile_plymouth_theme_armbian()` for consistency armbian-next: `json-info` command, wrapping up the Python tooling; running in Docker; fix config dump armbian-next: introduce hook `post_family_config_branch_<branch>()` as convenience after `post_family_config()` hook armbian-next: docker: locale-gen + enable all existing extensions before calculating docker hostdeps armbian-next: docker: disable showing Docker volume usage; fix syntax in test for `ARMBIAN_RUNNING_IN_CONTAINER` armbian-next: the great aggregation rewrite: pt 0: `SHOW_AGGREGATION` debug logging armbian-next: introduce `ARMBIAN_FIRMWARE_GIT_SOURCE` and `_BRANCH` to allow custom firmware repository coordinates armbian-next: git: do not delete working copies on remote origin mismatch; accept empty origins as valid armbian-next: u-boot: use `scripts/config` instead of `sed`ing into the `.config` (BOOTDELAY, CONFIG_LOGLEVEL=6, etc); v2022.10+ only armbian-next: `distcc`: optionally using `distcc` for kernel build armbian-next: `cli`: `distccd` launcher for build farm armbian-next: better `ccache` logs/stats/Docker-support/use in u-boot/kernel armbian-next: `call trace` analyzer and call-graph generator armbian-next: include `packages.external` and apt `sources` only in DESKTOP builds (pre-`aggregation.py`) armbian-next: `aggregation.py` rewrite; introduce `package-lists.sh`; usage in core lib armbian-next: `aggregation.py` and `package-lists.sh` usage in core grub-* extensions armbian-next: `grub`: fix/hack for grub deploy inside Docker/chroot when /dev/disk/by-uuid is not present; add sanity checks armbian-next: `vmware-vm` core extension: enables `image-output-ovf` and adds some cli and desktop packages to image list armbian-next: `image-output-utm` core extension: produces qcow2-based UTM ZIP image armbian-next: introduce `PREFER_DOCKER`, which acts the same as not-being-root: uses docker always armbian-next: `git`: add `origin` remote if it is empty armbian-next: REVERT: remove the BUILD_ONLY `build-tasks.sh` which makes no sense in armbian-next armbian-next: `qcow2`: introduce `QCOW2_KEEP_IMG=no`, which deletes the original .img after qcow2'ing it armbian-next: hostdeps: python2/3: add `setuptools` (required by some u-boot configs) armbian-next: `u-boot`: introduce hook `pre_config_uboot_target()` armbian-next: `qemu-uboot-arm64` and `qemu-uboot-x86` new boards armbian-next: fix for grub's `DISTRO_GENERIC_KERNEL` on Debian (not Ubuntu) during update-initramfs armbian-next: docker: implement `docker-purge` and `docker-shell` cli commands; deprecated mountpoints armbian-next: logging: helpers for handling special logging if stdout is a terminal (user-interactive) armbian-next: non-Docker cleaning of deprecated mountpoints (before general_cleaning) armbian-next: kernel: use `git worktree` & kernel.org clone bundles for kernel working copies armbian-next: u-boot: use `git worktree` for u-boot; full mainline clone for bare armbian-next: logging: add Markdown logging output armbian-next: git: `fetch_from_repo()`: determine, use for checkout, and set the SHA1 rev in `checked_out_revision` var armbian-next: introduce `INSTALL_HOST_TOOLS=no` to skip rkbin, fips, etc. for fast(er) development armbian-next: squash some `warn` loggings that were undue; remove `$SUDO_USER` handling in prepare-host.sh armbian-next: fix all `shellcheck` `errors` in `lib/` armbian-next: `shellcheck` downloader/runner; only for `lib/` armbian-next: disable `cpufrequtils` by default; to enable set `CPUFREQUTILS_ENABLE=true` [HIGHLY CONTENTIOUS CHANGE] armbian-next: fixes for interactive config; change wording of stuff and sort the list of boards in "expert" mode armbian-next: `docker`: fix when using `buildx`, always pass `--load` so produced image is actually available to Docker proper armbian-next: a few fixes (shortcircuits...) and enhancements for the GUI building; thanks NicoD armbian-next: introduce `SKIP_ARMBIAN_ROOTFS_CACHE` which is `=yes` by default armbian-next: introduce internal base tmp dir; check it early for sanity ref `noexec` and `nodev` mount options armbian-next: Python patching delusion, pt1 & pt2 & pt3 armbian-next: introduce ORAS-based kernel git bare tree seeding/bundles armbian-next: Python patching delusion, pt4: series & better markdown armbian-next: Python patching delusion pt 5 + EXTRAWIFI patch generator/harness + consistent patch mtime targets armbian-next: make sure at least one board config file is sourced, otherwise misspell `BOARD=` is hard to find armbian-next: `docker`: don't try to double init when recovering from failed pull armbian-next: bring `find_toolchain()` back from the dead; force `SKIP_EXTERNAL_TOOLCHAINS=no` to force use external toolchains armbian-next: fix `sunxi`/`sunxi64` using wrong KERNELPATCHDIR and incurring in old symlinks armbian-next: Revert "Fix issues 4589 (#4614)" (installing HEADERS dependencies manually) armbian-next: remove spurious `output.log` redirections in downloads.sh; `warn` that `download_and_verify()` is unhandled in armbian-next armbian-next: `git worktree`: forcefully fix the worktree's reference to the bare repo, and vice-versa armbian-next: ignore git errors due to missing 'origin' remote and/or revisions of `${SRC}/.git` during main-config armbian-next: git: setup the `worktree` first before trying to ensure safe armbian-next: drop old code for patching & fasthash armbian-next: better logging for `jethub`'s tweaks armbian-next: **regen library** after some 13 squashes (and repo.sh removal) armbian-next: aggregation: fix `PACKAGE_LIST_BOARD_REMOVE`/`PACKAGE_LIST_FAMILY_REMOVE`; also remove pkgs from DESKTOP aggregation armbian-next: `exec` into `sudo` when relaunching (AR-1452) armbian-next: validate cmdline params against malformed armbian-next: `reset_uid_owner` for the markdown log file too armbian-next: remove `@TODO` for stuff already done armbian-next: `git`: use `--recurse-submodules=no` for fetch; `fetch_from_repo()` handles submodules separately armbian-next: refactor `losetup -d ...` into `free_loop_device_insistent()` which retries 10 times armbian-next: `git`: mark submodule's dirs as safe before recursive `fetch_from_repo()` armbian-next: Python patching: pass `$HOME`/`$PATH` to Python, so git can find `.gitconfig` and Python can find `git` armbian-next: add (trap) cleanup handler to reset `./tmp` and `./output` to original pre-sudo UID before exiting, even with failure/abort armbian-next: `json-info`: do not replace ${SRC} armbian-next: fix: only aggregate packages if building images (AR-1471) armbian-next: only put `systemd-resolved`'s symlink in place if _not_ using NetworkManager armbian-next: Python tools (aggregation/patching): use separate pycache dir in ./cache; use unbuffered stdout/stderr armbian-next: tune logging in multiple places, there was a lot of redundant/un-needed info's armbian-next: better logging in `distro-agnostic.sh` armbian-next: remove very old extlinux killswitch armbian-next: happy new year, bump Igor's copyright armbian-next: `grub`: make `/usr/share/desktop-base/grub_background.sh` executable, otherwise does nothing armbian-next: `drivers-harness`: remove commit-date, do proper logging & escaping for git add/commit/format-patch armbian-next: `drivers-harness`: include the revert-IPX patch as a "driver" before all others armbian-next: `mvebu.conf::family_tweaks()`: small armbian-next'ify for better logging armbian-next: clearfog/cubox/odroidxu4: patching Makefile `armv5` to `armv7-a` so uboot compiles with modern gcc armbian-next: `rockchip-rk3588` `edge` bump & armbian-next'ify armbian-next: remove spurious debug logging with no useful info "Error-related files found" WiP: try for working armhf kernel-headers. leading nowhere. move to kernel-source / make modules_prepare later. WiP: kernel-headers via full source + `make modules_prepare` for 4.19 kernels. EXPERIMENTAL armbian-next: move compilation vars (chtreads, ccache stuff) from config to compile armbian-next: move var `HOSTRELEASE` from config to `prepare_host()` armbian-next: delete old aggregation code from config armbian-next: call hook `post_aggregate_packages()` only after actually aggregating armbian-next: avoid `linux-version` during configuration; `declare -g` instead of `export` armbian-next: config: reduce bash scope & remove some vars un-needed outside of config armbian-next: `cli`: `config-dump`: can now run on any bash/coreutils-enabled machine; remove some useless vars from dump armbian-next: `cli`: `json-info`: make errors clearer; don't include logs on success; small fixes armbian-next: `drivers-harness`: pass HOME/PATH explicitly to git commit/format-patch armbian-next: `drivers-harness`: make sure cached patch is valid; write it first to tmp file; redirect inside subshell armbian-next: split of `config-prepare` into multiple functions, allowing for logging of all non-interactive sections armbian-next: [focal-host] try to support `focal`-like host OS's again, via `python3.9` (and drop `buster` completely) armbian-next: [focal-host] try to support `focal`-like host OS's again, by avoiding git's `--no-auto-maintenance` armbian-next: [focal-host] remove usages of `declare -I`, not supported under focal's `bash` armbian-next: [focal-host] run `pip3` under the `python3_binary_path` (so coerce it to use 3.9 under focal) armbian-next: [focal-host] don't use git format-patch's `--no-encode-email-headers` which is not supported on focal's git armbian-next: [focal-host] don't use git's `--initial-branch` which is not supported on focal's git armbian-next: move aggregation to after prepare_host(), and thus out of config, and with correct Python deps armbian-next: patching: to-git: don't fail if is_autogen_dir; only change Subject if not rewriting in place armbian-next: patching: add sanity checks for magic markers matching mbox len & patch_contents not containing magic markers armbian-next: patching: go through parsing & splitting all patches before stopping if there are critical errors armbian-next: copy modified config + defconfig back from where it came from when `KERNEL_CONFIGURE=yes` armbian-next: uefi-common: `declare -g`, not `export` armbian-next: patching: don't gag if empty hexsha / no archeology possible armbian-next: patching: patches-to-git: don't eat newline between subject and message armbian-next: patching: grouping tryout, very basic by-dir: `SPLIT_PATCHES=yes` armbian-next: patching: use `--zero-commit` instead of find/replace for rewrite armbian-next: further split of `config-prepare()` and `do_main_configuration()` into `do_extra_configuration()` - fixes interactive desktop armbian-next: `SYNC_CLOCK`: don't attempt if `ntpd` is running; don't fail if `ntpdate` fails for any reason armbian-next: rootfs: don't stop if `df -h` fails armbian-next: `drivers-harness`: force `-c commit.gpgsign=false` during `git commit` Docs: slides Docs: slides (updated 28/Dec/2022) Docs: slides (updated 11/Jan/2023) armbian-next: `CLEAN_LEVEL=make-kernel` now does `git clean -xfd` instead, faster and 100% clean armbian-next: better logging for early apt installs during `prepare_host_basic()` armbian-oleg: handle error during host deps installation (Oleg has a mangled sources.list?) armbian-oleg: introduce `DOCKER_SIMULATE_CLEAN=yes` so I can pretend to be Oleg, but using Docker armbian-oleg: split hostdeps again, full of ifs, and reduce the minimum set of pkgs for Oleg-conditions while trying to keep Docker full armbian-next: `apt-cacher-ng` is now optional and activated via `MANAGE_ACNG=yes`; drop `NO_APT_CACHER` armbian-next: remove old template Dockerfile, -next does not use this at all armbian-oleg: `junk`: drastically reduce host-side dependencies / "remove junk" armbian-next: curb down wget logging for ORAS tooling download armbian-next: curb down `git fetch` logging; be verbose if user on terminal & not logging armbian-next: curb `aria2c`'s complaining a bit armbian-next: curb `free_loop_device_retried()`'s logging on first try armbian-next: long overdue split of `logging.sh` armbian-oleg: logging: new logfile format; `SHOW_LOG=yes` default; introduce `DEBUG=yes` armbian-next: fix quoting of retry var (cosmetic) armbian-oleg: better logs; only include non-empty .log files armbian-oleg: curb `apt-get`'s logging with `-q` / `-qq` armbian-oleg: curb Python launcher logs armbian-oleg: curb `rsync` logging during bsp armbian-oleg: drastically curb `update-initramfs` logging, unless SHOW_DEBUG=yes armbian-oleg: drastically curb `boot_logo()` logging armbian-oleg: drastically curb `apt-get` logging when running in chroot armbian-oleg: make `chroot_sdcard_apt_get_install_dry_run()` logging more useful by filtering the noise out armbian-oleg: if commands fail, write to log in bright red armbian-next: split `compilation/debs.sh`; `compile_xilinx_bootgen()` moved to family armbian-oleg: curb logging from building `armbian-firmware` armbian-oleg: curb logging from building `armbian-plymouth-theme`; do it in a logging section, like the others armbian-next: logging: reinit logging after processing cmdline parameters armbian-next: cli: half-assed, legacy based, `kernel` and `u-boot` cli commands armbian-next: `odroidxu4` vs kernel: move firmware hack to family using extension hook armbian-oleg: logging: drastically curb / make more useful kernel packaging logging armbian-oleg: logging: disable debugging (set -x) of generated postinst/etc kernel scripts (board-side, but also chroot logging) armbian-next: kernel: deterministic `.config` mtime handling; kernel build logging sections reorg armbian-next: remove `REPO_STORAGE` and `REPO_CONFIG` -- unused armbian-next: consider "Provided" installed packages when determining what is missing from host-side dependencies armbian-next: completely remove `acl` (which provided `getfacl`) and it's usages (basic deps) armbian-next: don't copy the host's `keyrings` to image armbian-next: Python tooling: use consolidated+hashed+cached pip base/pycache; don't pip during Dockerfile build, nor cli-requirements armbian-next: add core extension `c-plus-plus-compiler` which hostdeps on `g++-aarch64-linux-gnu` and enable it in JetHub family armbian-next: core extensions for `xfs` / `f2fs` / `brtfs` / `LUKS/cryptroot` hostdeps; enable in main-config armbian-next: Docker: abstract away and only run "docker info" once, it's very expensive armbian-next: `rootfs`: bunch'o'fixes, introduce `disable_systemd_service_sdcard()` to stop repeating incantantion armbian-next: don't warn about using extlinux armbian-next: a bunch of checks for Darwin; use brew's GNU coreutils first in PATH, so we get the correct utils; give instructions armbian-next: better logging for `kernel_prepare_bare_repo_from_oras_gitball()`; remove dead code armbian-next: fix re-launching of CLI commands under sudo (Docker was ok) armbian-next: `patching`: don't complain about missing files when the patch parsed OK and file was actually deleted armbian-next: `patching`: don't rewrite empty desc as "None" armbian-next: `patching`: remove quotes from author name during parsing armbian-next: `patching`: avoid mangling valid utf-8 from mbox'es armbian-next: `patching`: parse renamed source files, don't swallow them during rewrite armbian-next: optimize `config_source_board_file()`, now 600x faster by not reusing (slow) code from interactive armbian-next: optimize for `CONFIG_DEFS_ONLY=yes`, skipping stacktraces/git info armbian-next: introduce `POOR_MAN_PROFILER=yes` (under `ANSI_COLOR=none`) armbian-next: `docker`: fix Dockerfile output indentation & warning msgs about generation armbian-next: make sure temporary `kernel` and `u-boot` CLI commands always build a kernel/u-boot even if cached armbian-next: debug note about fstab with tmpfs in chroot armbian-next: mark Vagrant CLI as unimplemented armbian-next: `docker`: use dash-lines before/after launching docker; set `ARMBIAN_INSIDE_DOCKERFILE_BUILD=yes` when it is so armbian-next: `traps`: allow for cleanup handlers with arguments; unify around `run_one_cleanup_handler()` armbian-next: `ccache`: show more in ccache debugging armbian-next: make superglobals readonly (`DEST/WORKDIR/LOGDIR/SDCARD/MOUNT` and others) armbian-next: introduce `tmpfs-utils.sh`; put `LOGDIR` and `WORKDIR` under tmpfs; set `CCACHE_TEMPDIR` under `WORKDIR` armbian-next: split `prepare_host()`, fix `.tmp` reset trap armbian-next: do basic host checks before config if interactive, or during prepare-host if not armbian-next: tmpfs-utils: last-resort debugging, to stderr, of failed tmpfs unmount armbian-next: logging: squash nasty leaking file descriptor bug due to "tee" armbian-next: bring back `swig` hostdep -- needed for some u-boot's armbian-next: severe bug, countdown counted up armbian-next: kernel: cleanup bundle after patching succeeded, not after build success armbian-next: firmware: don't build `-full` firmware if not on CI/noninteractive and board's not going to use it armbian-next: `chroot_sdcard_apt_get_update()` to replace and better log `chroot_sdcard_apt_get update` armbian-next: extensions: rename `kernel-localmodconfig` to just `lsmod` armbian-next: docker: remove old code armbian-next: try harder to get `en_US.UTF-8` logging armbian-next: drop dead/duplicated code for bootsplash and mark kernel-drivers.sh (which includes bootsplash) as dead code armbian-next: extract `move_images_to_final_destination()` and optimize for fast-move when src/dst on same filesystem armbian-next: tune logging: unmounting, u-boot prep/source/install; traps; extensions armbian-next: don't leak `.raw` image if failure before move; show rootfs-tmpfs info armbian-next: `mktemp` and `tmpfs` related utility functions with automatic cleanup handlers armbian-next: small cleanups: squash typos / add function keyword / add types / mark dead code armbian-next: small cleanups: squash typos / add function keyword / add types / mark dead code armbian-next: add logging with size of actual built rootfs in MiB; debug tmpfs in trap & after pkgs done armbian-next: still fighting `tee` leaking under duress, and I think I won armbian-next: `compile_firmware()`: use new temp dir helpers (saves 2Gb+ in WORKDIR), fix typos armbian-next: severe bug, there was no prefix-emoji for Windows armbian-next: allow shortcut `EXT=` to the overly-long and plural `ENABLE_EXTENSIONS=` armbian-next: use retries for downloading ORAS tooling armbian-next: aggregation.py vs create-cache.sh: better hashing, much desktop armbian-next: patching.py vs decent logging: better, but not there yet Docs: slides (not-updated 18/Jan/2022) armbian-next: nextify "Re-enabling support for Rpi3" armbian-next: still fighting `tee` leaking under duress, turns out I _hadn't_ really won armbian-next: still fighting `tee` leaking: now I think I won, again armbian-next: somewhat-better handling/logging when using Docker (don't show two logfiles to inspect) armbian-next: rename too-long main function to `prep_conf_main_build_single()` armbian-next: hopefully improved error logging; avoid logging errors up to 3x; subdued red stacktraces armbian-next: `patching`: less horrible patching log, pt 37 armbian-next: fix missing `BOARD_TYPE` armbian-next: `git`: show "fetch completed" info, lest user thinks fetch is hanging while checking out armbian-next: `patching`: less horrible patching log, pt 38: downgrade utf-8 mbox to log warning, mark as problem armbian-next: fix ATF build under binutils 2.39+ via `TF_LDFLAGS=--no-warn-rwx-segment` armbian-next: add Debian Ports keyring hostdep to strap Debian riscv64 from ports armbian-next: `countdown`: split off file for countdown functions (countdown-to-abort and countdown-to-continue) armbian-next: `kernel`: `git`: split via-ORAS and via-Bundle tangle armbian-next: `kernel`: `git`: remove dead code, `GIT_PRE_FETCH_HOOK` / `checked_out_revision_mtime` armbian-next: replace bare `sync` invocations by introducing `wait_for_disk_sync()`; sync early at start of build armbian-next: adaptive shallow/full Kernel git bare git (3gb -> 300mb download) armbian-next: fix, don't try to get pid descendants on non-Linux (fixes Darwin cleanups) armbian-next: darwin: try to get rid of `.DS_Store` sneaky bastards before launching Docker armbian-next: back to cleaning downloaded bundles/gitballs after they've converted to bare tree & proven working armbian-next: git: detect, and stop, when git bare trees vs worktrees have been shuffled around and can't be recovered armbian-next: git: disallow forcing impossible shallow/full; warn if it's the case armbian-next: docker: archive logfiles again; warn & greet testers when archiving many old logfiles armbian-next: logging: new log file / summary nomenclature armbian-next: bsp: use `prepare_temp_dir_in_workdir_and_schedule_cleanup()`; bring back `PACKAGES_SEARCH_ROOT_ABSOLUTE_DIRS` armbian-next: firmware-deb.sh: prefix temp dir so it's "deb-firmware" armbian-next: extensions: move 'extensions.sh' into library; replace manual source with init function armbian-next: fix ANSI logs, use reset at strategic places armbian-next: `docker`: don't bomb if stdin is not a terminal (eg, in CI) armbian-next: `docker`: pass `CI` env down to Docker (for GHA etc) armbian-next: python/pip: solve crazy with `/usr/bin/pip3` by not using it (instead, `python3 -m pip`); don't mask errors armbian-next: `docker`: warn & countdown if we can't write to `cache/docker`; continue by using `.tmp/docker` if not aborted. armbian-next: countdown: if to test `-t 0` (0: stdin, 1:stdout) for interactive-ness; also test in if-not-aborted version armbian-next: interactive: info msg before (slow) gathering of all boards armbian-next: logging: (very, very early beta) for uploading/sharing of ANSI log file online armbian-next: kernel/logging: stop lying about LD/AR/INSTALL/SIGN/XZ make output armbian-next: patching: accept b4's magic marker `git@z Thu Jan 1 00:00:00 1970` for mbox validations armbian-next: mark `remove_all_trap_handlers()` deprecated, it never did anything armbian-next: downloads.sh: some cleanup and add debugging to `get_urls()` armbian-next: `logging`: validate where not already in a logging section when trying to start a new one armbian-next: `apt`: expand local caching to include package lists, as well as .deb's armbian-next: `main`: split `default-build` into `build-packages`, `start-end` armbian-next: `rootfs`: split `create-cache` into `rootfs-create` armbian-next: `rootfs`: new CLI command for rootfs cache building; further refactorings armbian-next: `rootfs`: adapt to new reality after huge refactor armbian-next: `aggregation`: dont' require or consider `BOARD` or `LINUXFAMILY` for aggregation anymore armbian-next: `rootfs`: build rootfs from CLI, sans-BOARD, sans-FAMILY, etc -- rootfs are meant to be shared armbian-next: `rootfs`: reset UID of produced rootfs tarball; announce what is doing and what has done armbian-next: `rootfs`: converge `rootfs-cache` and `rootfs` together; exchange BOARD for ARCH armbian-next: use unified methods for tmp dir handling all around (except ATF, which is special) armbian-next: extensions: `nomod`: for when you really don't care about modules armbian-next: we don't really need target `RELEASE` defined to install host deps (for now), don't freak out about it armbian-next: kernel-debs: re-enable postinst debugging; fix bad builddeb port for zImage armhf (image_name == NAME_KERNEL) armbian-next: cleanup, kill and add to-do's, remove dead code, turn down logging, squash future shortcircuit bugs armbian-next: extrawifi: include `driver_uwe5622_allwinner()` in harness armbian-next: extrawifi: include all `patch/misc/wireless*.patch` and `patch/misc/*wifi*.patch` in drivers hash calculation armbian-next: kernel-debs: force `arch/arm/boot/zImage` as vmlinuz for armhf armbian-next: kernel-debs: squash some warnings; add `KERNEL_SRC_ARCH` to arch configs; don't warn about `NAME_KERNEL` armbian-next: wait_for_disk_sync(): warn only if more than 30s fsync armbian-next: binfmt: make sure we have all `binfmt`'s setup & enabled for `rootfs` build (v2) armbian-next: `docker`: don't spew errors about sharing cache if cache doesn't even exist armbian-next: GHA & rootfs adventures, pt 1 armbian-next: aggregation: quick & dirty "potential paths" in Markdown armbian-next: cli: `kernel` cli forces `KERNEL_CONFIGURE=no`; @TODO this should only "default to", not force. for proper kernel cli, later armbian-next: logging: pure ASCII .log; included in Markdown for GHA armbian-next: docker/gha: pass down a bunch of GHA specific vars (list unconfirmed) armbian-next: rootfs: curb logging; GHA outputs `rootfs_cache_id_version`, `rootfs_cache_id` and `rootfs_out_filename_relative` armbian-next: ext: `grub-riscv64`: syncs with original version, fixes, nextify armbian-next: ext: `grub-sbc-media`: syncs with original version, fixes, nextify Docs: slides (1-slide update 25/Jan/2023) armbian-next: drop buildpkg code armbian-next: patching: rewrite: don't gag on bad "/dev/null.c" rename patches; archeology: `--find-copies-harder`; try to get GHA to run GH pages armbian-next: chroot_sdcard_apt_get_install_dry_run(): run again if first try fails, with more logging armbian-next: `docker`: passthrough of the SSH agent, via Docker magic on Darwin; enable for `docker-shell` and `kernel-patches-to-git` armbian-next: `docker`: include `${SRC}/.git` static via Dockerfile, for `kernel-patches-to-git` / archeology; use fast archeology armbian-next: all chroots: mount `/var/tmp` as tmpfs; create dir `/run/user/0` and mount as tmpfs @TODO cleanups armbian-next: docker: pass `ARMBIAN_ENABLE_CALL_TRACING=yes` via env, and only if `DOCKER_ARMBIAN_ENABLE_CALL_TRACING=yes` armbian-next: compress-checksum: move config to config-prepare; drop weight; kill warnings armbian-next: repeat build opts: fix missing BOARD, show both after config (for logfile) & after build armbian-next: bump logging archive greet to 14 files armbian-next: fix: kernel-git-oras: make sure `cache_git_bare_dir` exists before trying to decide which media it's on armbian-next: git: `fetch_from_repo()`: add fetched_revision(_ts) as well as checked_out_revision(_ts); introduce param `do_checkout=no` to only fetch, not checkout armbian-next: cli-build: don't show two `BOARD=` repeat option armbian-next: aggregate_packages out of `main_default_start_build()`; introduce `assert_requires_aggregation()` armbian-next: firmware-deb: reworked: Provides/Conflicts instead of Replaces; `cp` -> `git archive`; new firmware CLI; FULL version .deb out of tmpfs armbian-next: unify 2 methods for config: `prep_conf_main_minimal_ni()` (rootfs/firmware/kernel) and `prep_conf_main_build_single()` (full-build, possibly interactive) armbian-next: curb some logging for git non-checkouts armbian-next: prepare-host: don't manage ACNG in prepare if not asked to armbian-next: docker: fix: not all `find`'s are made equal, back to `-mtime +1` (full 24-hour period needed for match) armbian-next: interactive: review `-t 0` instead of `-t 1`; move non-interactive `check_basic_host()` from prepare-host to config-prepare, for consistency armbian-next: move aggregation-had-run check to more strategic places (pre-bsp, pre-rootfs) instead of at the beginning of full_build_packages_rootfs_and_image() armbian-next: docker: split `docker_cli_build_dockerfile()` into `docker_cli_prepare_dockerfile()`; introduce `FAST_DOCKER` armbian-next: git: refactor `git_parse_ref()` out of `fetch_from_repo()` for reuse armbian-next: config: twist `prep_conf_main_minimal_ni()` to receive `use_board=` armbian-next: do-not-fix docker-asking-for-docker error by adding a "tip" armbian-next: cli: *do not* allow running as root on terminal; make `PREFER_DOCKER=no` actually work armbian-next: cli: try (and fail, probably...) to be helpful with half-working Docker installs WiP: artifacts: kernel - pt1: versioning WiP: artifacts: kernel - pt2: memoizing git ref2info WiP: artifacts: kernel - pt3: drivers+patches+.config hashing WiP: artifacts: kernel - pt4: squash unrelated bugs that show up; move `prepare_compilation_vars()` to default build WiP: artifacts: kernel - pt5: tune kernel version, refactor WiP: artifacts: u-boot - pt6: add artifact for u-boot WiP: artifacts: u-boot/kernel - pt7 - adapt legacy/artifact versions; use common `capture_rename_legacy_debs_into_artifacts()` armbian-next: logging: detect `TERM=alacritty` and use normal instead of gray armbian-next: fix: for the 1000th time had broken `KERNEL_ONLY=yes`; curb some warnings armbian-next: introduce `assert_prepared_host()` and assert before using any Python, to un-mask any further fallacies armbian-next: take a breath: config might mark aggregation required; aggregation requires prepare_host, and thus runs in default-build armbian-next: logging: ansi-haste sharing beta 2 (now with URL) armbian-next: docker: fix Dockerfile generation; don't output logs info during Dockerfile build armbian-next: u-boot: downgrade more errors to warnings, so we can build some legacy u-boot's armbian-next: cli: u-boot alias: don't stop to interactively ask for kernel configuration during u-boot build armbian-next: call-stack-analyze.py: detect missing function_to_file and stop properly (half-finished traces?) armbian-next: json-info: cleanup info/json/csv/opensearch, add logging, add some very basic instructions; add Kibana dashboards & docker-compose to bring it OS+Kibana up armbian-next: shellcheck: update, cleanup script, invent some new severities armbian-next: shellcheck: squash a bunch of 'critical' warnings armbian-next: shellcheck: raise the bar, stop excluding "SC2155 Declare and assign separately to avoid masking return values" armbian-next: squash some shellcheck warnings; don't `local` and assign subshell value in same statement, that masks errors (`declare`/`local` almost-always works) armbian-next: shellcheck: raise the bar, stop excluding "SC2154 is referenced but not assigned" armbian-next: shellcheck: squash more shellcheck warnings; some long-lost variables being used; some unset's that are better reset's, etc armbian-next: `docker-shell`: provide SSH and forward ssh auth socket to `docker-shell` armbian-next: docker: pass `CARD_DEVICE` to Docker via `--device` armbian-next: u-boot: mark bare repo as safe before using it (@TODO `git_ensure_safe_directory()` stuff, again) armbian-next: swap github in as default u-boot mirror; allow `denx` to use upstream's gitlab armbian-next: git ref2info: dereference annotated tags to get "real" commit SHA1; fail if curl failed; validate parse_makefile_version() armbian-next: hash/cache: remove some cruft, some better logging armbian-next: docker: pass down git info via env var, since Docker doesn't get `${SRC}/.git`, yet we need that info in the Docker logs armbian-next: u-boot: fix: check gcc version before trying to downgrade certain errors to warnings [kinetic] un-symlink `cli`/`main` `kinetic`->`jammy` packages; add `systemd-resolved` which was split off from main `systemd` package in Kinetic `risc-v`/`starfive`: new `starfive` family with their (vendor) kernel `risc-v`/`starfive`: use mainline kernel 6.1.y, with StarFive's rebased patches against `v6.1.5` `risc-v`/`starfive`: `CONFIG_MOTORCOMM_PHY=m` for the onboard Ethernet `odroidc2`: u-boot: use minimal patchset for v22.01 u-boot `meson64`: edge/6.2: spi-nor: add support for XT25Q64 in addition to XT25F128B `meson64`: edge/6.2: bump to `6.2-rc5` `meson64`: edge/6.2: rebase onto `v6.2-rc5` `odroidm1`: enable working userland `fw_setenv`, so users can go back to Petitboot & otherwise tweak u-boot env from Armbian `odroidm1`: bump to 6.2-rc3; look ma, no patches. `media`: fixes for bad mbox/unneeded patches `media-edge` and `media-current` - thanks to @schwar3kat `sunxi/sunxi64`: disable some sunxi/sunxi64 "readme" patches that contain other patches -- for discussion `rk322x-box`: fix relative path reference to .bin in patch (a-n changed u-boot path on disk) - for @paolosabatino `rockchip64`: current/5.15: remove IPX revert patch that's already in drivers now `rockchip64`: current/5.15: fix bad unidiff/lack of mbox of wifi-hf-lps170-bl602.patch & makefile odroidm1: edge: bump to `6.2-rc5` `sun50iw9`: half-fixes to get going under armbian-next (@TODO needs review/nextify/confirm busybox is not needed) WiP: bump edge to `v6.2-rc6` for UEFI / meson64 / rk3568-odroid / rockchip-rk3588 `meson64`: edge/6.2: arm64: dts: amlogic: meson-sm1-odroid-hc4: fix active fan thermal trip WiP: `odroidhc4`: u-boot to 23.01; add HC4-SPI target preboot for USB; change HC4-SD target defconfig to new `hc4_sd`, similar to `c4` Revert "Add some Wireless modules to RK3588 legacy kernel (#4759)" Docs: slides (2-slide update 01/Feb/2023) Igor <igor@armbian.com> (2): armbian-next: cli: add CLI alias command `rootfs-cache` for creating rootfs cache armbian-next: rootfs: introduce `ROOTFS_COMPRESSION_RATIO`, default 5 for general use, default 15 for `rootfs` CLI; fix pv | tar bug; remove GPG signing Lane Jennison <lane@lane-fu.com> (1): armbian-next: fix old fuction name refrence cleaning to general_cleaning Richard Neese <r.neese@gmail.com> (1): `risc-v`/`starfive`: switch from `grub` to `extlinux` Tony <tonymckahan@gmail.com> (1): armbian-next: officially support WSL2; pester user for UTF-8 terminal amazingfate <liujianfeng1994@gmail.com> (1): `rockchip64`: update bl31 and ddr blobs of rk3568 [cherry-pick]
  11. Since I've no slides, a terrible sense of humor, and nothing else to post, here's a git shortlog of the changes since last week. Ricardo Pardini <ricardo@pardini.net> (99): armbian-next: `CLEAN_LEVEL=make-kernel` now does `git clean -xfd` instead, faster and 100% clean armbian-next: better logging for early apt installs during `prepare_host_basic()` armbian-oleg: handle error during host deps installation (Oleg has a mangled sources.list?) armbian-oleg: introduce `DOCKER_SIMULATE_CLEAN=yes` so I can pretend to be Oleg, but using Docker armbian-oleg: split hostdeps again, full of ifs, and reduce the minimum set of pkgs for Oleg-conditions while trying to keep Docker full armbian-next: `apt-cacher-ng` is now optional and activated via `MANAGE_ACNG=yes`; drop `NO_APT_CACHER` armbian-next: remove old template Dockerfile, -next does not use this at all armbian-oleg: `junk`: drastically reduce host-side dependencies / "remove junk" armbian-next: curb down wget logging for ORAS tooling download armbian-next: curb down `git fetch` logging; be verbose if user on terminal & not logging armbian-next: curb `aria2c`'s complaining a bit armbian-next: curb `free_loop_device_retried()`'s logging on first try armbian-next: long overdue split of `logging.sh` armbian-oleg: logging: new logfile format; `SHOW_LOG=yes` default; introduce `DEBUG=yes` armbian-next: fix quoting of retry var (cosmetic) armbian-oleg: better logs; only include non-empty .log files armbian-oleg: curb `apt-get`'s logging with `-q` / `-qq` armbian-oleg: curb Python launcher logs armbian-oleg: curb `rsync` logging during bsp armbian-oleg: drastically curb `update-initramfs` logging, unless SHOW_DEBUG=yes armbian-oleg: drastically curb `boot_logo()` logging armbian-oleg: drastically curb `apt-get` logging when running in chroot armbian-oleg: make `chroot_sdcard_apt_get_install_dry_run()` logging more useful by filtering the noise out armbian-oleg: if commands fail, write to log in bright red armbian-next: split `compilation/debs.sh`; `compile_xilinx_bootgen()` moved to family armbian-oleg: curb logging from building `armbian-firmware` armbian-oleg: curb logging from building `armbian-plymouth-theme`; do it in a logging section, like the others armbian-next: logging: reinit logging after processing cmdline parameters armbian-next: cli: half-assed, legacy based, `kernel` and `u-boot` cli commands armbian-next: `odroidxu4` vs kernel: move firmware hack to family using extension hook armbian-oleg: logging: drastically curb / make more useful kernel packaging logging armbian-oleg: logging: disable debugging (set -x) of generated postinst/etc kernel scripts (board-side, but also chroot logging) armbian-next: kernel: deterministic `.config` mtime handling; kernel build logging sections reorg armbian-next: remove `REPO_STORAGE` and `REPO_CONFIG` -- unused armbian-next: consider "Provided" installed packages when determining what is missing from host-side dependencies armbian-next: completely remove `acl` (which provided `getfacl`) and it's usages (basic deps) armbian-next: don't copy the host's `keyrings` to image armbian-next: Python tooling: use consolidated+hashed+cached pip base/pycache; don't pip during Dockerfile build, nor cli-requirements armbian-next: add core extension `c-plus-plus-compiler` which hostdeps on `g++-aarch64-linux-gnu` and enable it in JetHub family armbian-next: core extensions for `xfs` / `f2fs` / `brtfs` / `LUKS/cryptroot` hostdeps; enable in main-config armbian-next: Docker: abstract away and only run "docker info" once, it's very expensive armbian-next: `rootfs`: bunch'o'fixes, introduce `disable_systemd_service_sdcard()` to stop repeating incantantion armbian-next: don't warn about using extlinux armbian-next: a bunch of checks for Darwin; use brew's GNU coreutils first in PATH, so we get the correct utils; give instructions armbian-next: better logging for `kernel_prepare_bare_repo_from_oras_gitball()`; remove dead code armbian-next: fix re-launching of CLI commands under sudo (Docker was ok) armbian-next: `patching`: don't complain about missing files when the patch parsed OK and file was actually deleted armbian-next: `patching`: don't rewrite empty desc as "None" armbian-next: `patching`: remove quotes from author name during parsing armbian-next: `patching`: avoid mangling valid utf-8 from mbox'es armbian-next: `patching`: parse renamed source files, don't swallow them during rewrite armbian-next: optimize `config_source_board_file()`, now 600x faster by not reusing (slow) code from interactive armbian-next: optimize for `CONFIG_DEFS_ONLY=yes`, skipping stacktraces/git info armbian-next: introduce `POOR_MAN_PROFILER=yes` (under `ANSI_COLOR=none`) armbian-next: `docker`: fix Dockerfile output indentation & warning msgs about generation armbian-next: make sure temporary `kernel` and `u-boot` CLI commands always build a kernel/u-boot even if cached `risc-v`: correctly include `debian-ports-archive-keyring` in Risc-V CLI packages `risc-v`/`starfive`: use mainline kernel 6.1.y, with StarFive's rebased patches against `v6.1.5` `risc-v`/`starfive`: update kernel config, sans changes `risc-v`/`starfive`: `CONFIG_MOTORCOMM_PHY=m` for the onboard Ethernet `risc-v`/`starfive`: switch kernel config to `savedefconfig`'s output, cos that's what it should be `odroidm1`: enable working userland `fw_setenv`, so users can go back to Petitboot & otherwise tweak u-boot env from Armbian `odroidm1`: bump to 6.2-rc3; look ma, no patches. `odroidhc4`: pre-configure `fancontrol` so fans work right out of the box armbian-next: debug note about fstab with tmpfs in chroot armbian-next: mark Vagrant CLI as unimplemented armbian-next: `docker`: use dash-lines before/after launching docker; set `ARMBIAN_INSIDE_DOCKERFILE_BUILD=yes` when it is so armbian-next: `traps`: allow for cleanup handlers with arguments; unify around `run_one_cleanup_handler()` armbian-next: `ccache`: show more in ccache debugging armbian-next: make superglobals readonly (`DEST/WORKDIR/LOGDIR/SDCARD/MOUNT` and others) armbian-next: introduce `tmpfs-utils.sh`; put `LOGDIR` and `WORKDIR` under tmpfs; set `CCACHE_TEMPDIR` under `WORKDIR` armbian-next: split `prepare_host()`, fix `.tmp` reset trap armbian-next: do basic host checks before config if interactive, or during prepare-host if not armbian-next: tmpfs-utils: last-resort debugging, to stderr, of failed tmpfs unmount armbian-next: logging: squash nasty leaking file descriptor bug due to "tee" armbian-next: bring back `swig` hostdep -- needed for some u-boot's armbian-next: severe bug, countdown counted up armbian-next: kernel: cleanup bundle after patching succeeded, not after build success armbian-next: firmware: don't build `-full` firmware if not on CI/noninteractive and board's not going to use it armbian-next: `chroot_sdcard_apt_get_update()` to replace and better log `chroot_sdcard_apt_get update` armbian-next: extensions: rename `kernel-localmodconfig` to just `lsmod` armbian-next: docker: remove old code armbian-next: try harder to get `en_US.UTF-8` logging armbian-next: drop dead/duplicated code for bootsplash and mark kernel-drivers.sh (which includes bootsplash) as dead code armbian-next: extract `move_images_to_final_destination()` and optimize for fast-move when src/dst on same filesystem armbian-next: tune logging: unmounting, u-boot prep/source/install; traps; extensions armbian-next: don't leak `.raw` image if failure before move; show rootfs-tmpfs info armbian-next: `mktemp` and `tmpfs` related utility functions with automatic cleanup handlers armbian-next: small cleanups: squash typos / add function keyword / add types / mark dead code armbian-next: small cleanups: squash typos / add function keyword / add types / mark dead code armbian-next: add logging with size of actual built rootfs in MiB; debug tmpfs in trap & after pkgs done armbian-next: still fighting `tee` leaking under duress, and I think I won armbian-next: `compile_firmware()`: use new temp dir helpers (saves 2Gb+ in WORKDIR), fix typos armbian-next: severe bug, there was no prefix-emoji for Windows armbian-next: allow shortcut `EXT=` to the overly-long and plural `ENABLE_EXTENSIONS=` armbian-next: use retries for downloading ORAS tooling WiP: aggregation.py vs create-cache.sh: better hashing, much desktop WiP: patching.py vs decent logging: better, but not there yet ------------------------ armbian-next END marker ----------------------------- Richard Neese <r.neese@gmail.com> (1): `risc-v`: switch from `grub` to `extlinux`; add Debian Ports keyring hostdep to strap Debian riscv64 from ports Tony <tonymckahan@gmail.com> (1): armbian-next: officially support WSL2; pester user for UTF-8 terminal
  12. Hello, i've preordered an Helios64 and would like to install the main os on a f2fs formatted sd-card. your documentation says that this is not possible, and i would love to see this possibility. i guess most eMMC devices would also benefit
  13. Description Issue #4031 supports label. But the flag for label in mkfs.vfat and mkfs.f2fs isn't -L. How Has This Been Tested? [X] Build Checklist: [ ] My code follows the style guidelines of this project [X] I have performed a self-review of my own code [ ] I have commented my code, particularly in hard-to-understand areas [ ] I have made corresponding changes to the documentation [ ] My changes generate no new warnings [ ] Any dependent changes have been merged and published in downstream modules View the full article
  14. Well, usually f2fs is the generally recommended filesystem for flash-based devices, but it's a matter of personal opinion, since many people say they get good results with btrfs or even ext4...
  15. Sorry for a newbie question. I am setting up a raid system based on flash drives on a Orange Pi One and every thing is working fine. I am now thinking of moving from ext4 for F2FS but I can't figure out how to get it to work. I have installed f2fs-tools and managed to format the drive but I can't seem to mount it. I can't seem to run "modprobe f2fs". Does this mean that I need to recombile the kernel or what? I am not intending to boot from f2fs. Just mount the raid system for storage.
  16. What to do to switch from ext4 to F2FS (one big caveat: Partition/filesystem resizing doesn't work with F2FS so this is only for you if you know the size of your SD card prior to building the image)? I tried the following so far: apt-get install f2fs-tools define size of f2fs partition in compile.sh (eg. for a 4 GB SD card use »SDSIZE="3600"«) adjust »BOOTSIZE=16« in lib/configuration.sh (line 26) replace »mkfs.vfat -n "$IMAGEVOLUME"« with »mkfs.ext4 -q« in lib/deboostrap.sh (line 66) replace »mkfs.ext4 -q« with »mkfs.f2fs« in lib/deboostrap.sh (line 67) add »-tf2fs« to mount option in lib/deboostrap.sh (line 68) comment »shrinking_raw_image "$DEST/output/$VERSION.raw"« out in lib/common.sh (line 463) change fstab entry to »echo "/dev/mmcblk0p2 / f2fs defaults,noatime,nodiratime,errors=remount-ro 0 0" >> $DEST/output/sdcard/etc/fstab« in lib/distributions.sh (line 105) comment »install -m 755 $SRC/lib/scripts/resize2fs $DEST/output/rootfs/$CHOOSEN_ROOTFS/etc/init.d« out in lib/distributions.sh (line 138) avoid partition resizing on first run by removing lines 89-101 in lib/scripts/firstrun But the Banana Pro I test with doesn't boot. I would assume that I have to modify boot.cmd (and exchange /boot/ with /)? Thx
  17. Hi, just a question to be discussed: Would it... 1. ...be possible to use F2FS as default filesystem for images using the vanilla kernel? 2. ...make sense to use it? benchmarks show that write operations could get a huge boost in comparison to ext4. i believe write operations are quite slow right now (using cubietruck with sd-card) What do you think?
  18. My Rock Pi S logs a NULL pointer dereference in the ext4 module after running for 1 to 3 hours. Subsequently existing processes continue to run but it appears that new processes can't start (eg I can't ssh in). The filesystem is on a new Sandisk Ultra Plus microSD card. As a test, I remounted the root filesystem read/write and the board ran flawlessly for 10 hours. When I get time I will try rebuilding the image with the root filesystem on F2FS. Aug 31 09:31:27 rockpi-s kernel: [ 1944.993824] Unable to handle kernel NULL pointer dereference at virtual address 00000000000000f8 Aug 31 09:31:27 rockpi-s kernel: [ 1944.994681] Mem abort info: Aug 31 09:31:27 rockpi-s kernel: [ 1944.994952] ESR = 0x96000004 Aug 31 09:31:27 rockpi-s kernel: [ 1944.995248] EC = 0x25: DABT (current EL), IL = 32 bits Aug 31 09:31:27 rockpi-s kernel: [ 1944.995732] SET = 0, FnV = 0 Aug 31 09:31:27 rockpi-s kernel: [ 1944.996020] EA = 0, S1PTW = 0 Aug 31 09:31:27 rockpi-s kernel: [ 1944.996313] Data abort info: Aug 31 09:31:27 rockpi-s kernel: [ 1944.996587] ISV = 0, ISS = 0x00000004 Aug 31 09:31:27 rockpi-s kernel: [ 1944.996943] CM = 0, WnR = 0 Aug 31 09:31:27 rockpi-s kernel: [ 1944.997230] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000003851000 Aug 31 09:31:27 rockpi-s kernel: [ 1944.997813] [00000000000000f8] pgd=0000000000000000, p4d=0000000000000000 Aug 31 09:31:27 rockpi-s kernel: [ 1944.998587] Internal error: Oops: 96000004 [#1] PREEMPT SMP Aug 31 09:31:27 rockpi-s kernel: [ 1944.999104] Modules linked in: rfkill snd_soc_rk3308 snd_soc_core snd_pcm_dmaengine snd_pcm cdc_acm snd_timer snd soundcore cpufreq_dt zr am ip_tables x_tables autofs4 realtek dwmac_rk stmmac_platform stmmac pcs_xpcs Aug 31 09:31:27 rockpi-s kernel: [ 1945.001035] CPU: 3 PID: 213 Comm: kworker/u8:3 Not tainted 5.10.60-rockchip64 #21.08.1 Aug 31 09:31:27 rockpi-s kernel: [ 1945.001746] Hardware name: Radxa ROCK Pi S (DT) Aug 31 09:31:27 rockpi-s kernel: [ 1945.002197] Workqueue: writeback wb_workfn (flush-179:0) Aug 31 09:31:27 rockpi-s kernel: [ 1945.003074] pstate: 00000005 (nzcv daif -PAN -UAO -TCO BTYPE=--) Aug 31 09:31:27 rockpi-s kernel: [ 1945.004117] pc : clear_page_dirty_for_io+0x38/0x278 Aug 31 09:31:27 rockpi-s kernel: [ 1945.005032] lr : clear_page_dirty_for_io+0x18/0x278 Aug 31 09:31:27 rockpi-s kernel: [ 1945.005936] sp : ffff8000123db730 Aug 31 09:31:27 rockpi-s kernel: [ 1945.006875] x29: ffff8000123db730 x28: ffff8000123db9a0 Aug 31 09:31:27 rockpi-s kernel: [ 1945.007607] x27: 00000000000021f9 x26: 0000000000000001 Aug 31 09:31:27 rockpi-s kernel: [ 1945.009006] x25: 000000000008c1f9 x24: 000000000000000c Aug 31 09:31:27 rockpi-s kernel: [ 1945.009951] x23: fffffe00003c7340 x22: ffff0000066b5400 Aug 31 09:31:27 rockpi-s kernel: [ 1945.010761] x21: ffff8000123db870 x20: fffffe00003c7340 Aug 31 09:31:27 rockpi-s kernel: [ 1945.012020] x19: fffffe00003c7340 x18: 0000000000000000 Aug 31 09:31:27 rockpi-s kernel: [ 1945.012965] x17: 0000000000000000 x16: ffff000002259110 Aug 31 09:31:27 rockpi-s kernel: [ 1945.014196] x15: 0000000000000001 x14: 0000000000000002 Aug 31 09:31:27 rockpi-s kernel: [ 1945.014706] x13: 0000000000005966 x12: 000000000000000b Aug 31 09:31:27 rockpi-s kernel: [ 1945.015216] x11: 0000000000000000 x10: ffff000006804540 Aug 31 09:31:27 rockpi-s kernel: [ 1945.015724] x9 : 0000000000000001 x8 : 0000000000000000 Aug 31 09:31:27 rockpi-s kernel: [ 1945.016230] x7 : 00000000001f9000 x6 : fffffe00003c7300 Aug 31 09:31:27 rockpi-s kernel: [ 1945.016751] x5 : 00000000171cc000 x4 : 0000000000000000 Aug 31 09:31:27 rockpi-s kernel: [ 1945.017258] x3 : 00000000000021f8 x2 : ffff0000004df800 Aug 31 09:31:27 rockpi-s kernel: [ 1945.017779] x1 : 0000000000000000 x0 : ffff0000036799d8 Aug 31 09:31:27 rockpi-s kernel: [ 1945.018291] Call trace: Aug 31 09:31:27 rockpi-s kernel: [ 1945.018544] clear_page_dirty_for_io+0x38/0x278 Aug 31 09:31:27 rockpi-s kernel: [ 1945.018998] mpage_submit_page+0x30/0xa0 Aug 31 09:31:27 rockpi-s kernel: [ 1945.019379] mpage_map_and_submit_buffers+0x168/0x2a8 Aug 31 09:31:27 rockpi-s kernel: [ 1945.019856] ext4_writepages+0x748/0xc38 Aug 31 09:31:27 rockpi-s kernel: [ 1945.020236] do_writepages+0x58/0x100 Aug 31 09:31:27 rockpi-s kernel: [ 1945.020598] __writeback_single_inode+0x44/0x508 Aug 31 09:31:27 rockpi-s kernel: [ 1945.021037] writeback_sb_inodes+0x1e0/0x478 Aug 31 09:31:27 rockpi-s kernel: [ 1945.021460] __writeback_inodes_wb+0x78/0xe8 Aug 31 09:31:27 rockpi-s kernel: [ 1945.021865] wb_writeback+0x26c/0x400 Aug 31 09:31:27 rockpi-s kernel: [ 1945.022218] wb_workfn+0x310/0x5f8 Aug 31 09:31:27 rockpi-s kernel: [ 1945.022549] process_one_work+0x1ec/0x4d0 Aug 31 09:31:27 rockpi-s kernel: [ 1945.022935] worker_thread+0x48/0x478 Aug 31 09:31:27 rockpi-s kernel: [ 1945.023287] kthread+0x140/0x150 Aug 31 09:31:27 rockpi-s kernel: [ 1945.023605] ret_from_fork+0x10/0x34 Aug 31 09:31:27 rockpi-s kernel: [ 1945.023962] Code: b000b402 f9401401 f9474042 eb02003f (54000de0) Aug 31 09:31:27 rockpi-s kernel: [ 1945.024526] ---[ end trace cdc066846165d221 ]--- Aug 31 09:31:27 rockpi-s kernel: [ 1945.025183] ------------[ cut here ]------------ Aug 31 09:31:27 rockpi-s kernel: [ 1945.025659] WARNING: CPU: 3 PID: 213 at kernel/exit.c:725 do_exit+0x44/0xab8 Aug 31 09:31:27 rockpi-s kernel: [ 1945.026307] Modules linked in: rfkill snd_soc_rk3308 snd_soc_core snd_pcm_dmaengine snd_pcm cdc_acm snd_timer snd soundcore cpufreq_dt zram ip_tables x_tables autofs4 realtek dwmac_rk stmmac_platform stmmac pcs_xpcs Aug 31 09:31:27 rockpi-s kernel: [ 1945.028231] CPU: 3 PID: 213 Comm: kworker/u8:3 Tainted: G D 5.10.60-rockchip64 #21.08.1 Aug 31 09:31:27 rockpi-s kernel: [ 1945.029079] Hardware name: Radxa ROCK Pi S (DT) Aug 31 09:31:27 rockpi-s kernel: [ 1945.029525] Workqueue: writeback wb_workfn (flush-179:0) Aug 31 09:31:27 rockpi-s kernel: [ 1945.030047] pstate: 20000005 (nzCv daif -PAN -UAO -TCO BTYPE=--) Aug 31 09:31:27 rockpi-s kernel: [ 1945.030612] pc : do_exit+0x44/0xab8 Aug 31 09:31:27 rockpi-s kernel: [ 1945.030956] lr : die+0x208/0x248 Aug 31 09:31:27 rockpi-s kernel: [ 1945.031260] sp : ffff8000123db380 Aug 31 09:31:27 rockpi-s kernel: [ 1945.031576] x29: ffff8000123db380 x28: ffff0000029fe580 Aug 31 09:31:27 rockpi-s kernel: [ 1945.032086] x27: 00000000000021f9 x26: 0000000000000001 Aug 31 09:31:27 rockpi-s kernel: [ 1945.032594] x25: ffff80001023b328 x24: 0000000000000000 Aug 31 09:31:27 rockpi-s kernel: [ 1945.033100] x23: ffff8000123db497 x22: ffff800011270260 Aug 31 09:31:27 rockpi-s kernel: [ 1945.033605] x21: 000000000000000b x20: ffff8000118b9948 Aug 31 09:31:27 rockpi-s kernel: [ 1945.034112] x19: ffff0000029fe580 x18: 0000000000000010 Aug 31 09:31:27 rockpi-s kernel: [ 1945.034617] x17: 0000000000000000 x16: ffff000002259110 Aug 31 09:31:27 rockpi-s kernel: [ 1945.035128] x15: 00000000000001b7 x14: ffff8000123db0c0 Aug 31 09:31:27 rockpi-s kernel: [ 1945.035643] x13: 00000000ffffffea x12: ffff80001194ee98 Aug 31 09:31:27 rockpi-s kernel: [ 1945.036152] x11: 0000000000000003 x10: ffff800011936e58 Aug 31 09:31:27 rockpi-s kernel: [ 1945.036660] x9 : ffff800011936eb0 x8 : 0000000000017fe8 Aug 31 09:31:27 rockpi-s kernel: [ 1945.037167] x7 : c0000000ffffefff x6 : 0000000000000001 Aug 31 09:31:27 rockpi-s kernel: [ 1945.037689] x5 : 0000000000000001 x4 : 0000000000000000 Aug 31 09:31:27 rockpi-s kernel: [ 1945.038200] x3 : 0000000000000000 x2 : ffff8000118b9948 Aug 31 09:31:27 rockpi-s kernel: [ 1945.038707] x1 : ffff8000123dbc90 x0 : ffff00001d6b8c88 Aug 31 09:31:27 rockpi-s kernel: [ 1945.039216] Call trace: Aug 31 09:31:27 rockpi-s kernel: [ 1945.039471] do_exit+0x44/0xab8 Aug 31 09:31:27 rockpi-s kernel: [ 1945.039783] die+0x208/0x248 Aug 31 09:31:27 rockpi-s kernel: [ 1945.040070] die_kernel_fault+0x64/0x78 Aug 31 09:31:27 rockpi-s kernel: [ 1945.040441] __do_kernel_fault+0x74/0x148 Aug 31 09:31:27 rockpi-s kernel: [ 1945.040826] do_page_fault+0x1c8/0x3a8 Aug 31 09:31:27 rockpi-s kernel: [ 1945.041206] do_translation_fault+0x50/0x60 Aug 31 09:31:27 rockpi-s kernel: [ 1945.041605] do_mem_abort+0x40/0xa0 Aug 31 09:31:27 rockpi-s kernel: [ 1945.041944] el1_abort+0x48/0x70 Aug 31 09:31:27 rockpi-s kernel: [ 1945.042263] el1_sync_handler+0x64/0xe8 Aug 31 09:31:27 rockpi-s kernel: [ 1945.042625] el1_sync+0x84/0x140 Aug 31 09:31:27 rockpi-s kernel: [ 1945.042942] clear_page_dirty_for_io+0x38/0x278 Aug 31 09:31:27 rockpi-s kernel: [ 1945.043374] mpage_submit_page+0x30/0xa0 Aug 31 09:31:27 rockpi-s kernel: [ 1945.043753] mpage_map_and_submit_buffers+0x168/0x2a8 Aug 31 09:31:27 rockpi-s kernel: [ 1945.044225] ext4_writepages+0x748/0xc38 Aug 31 09:31:27 rockpi-s kernel: [ 1945.044601] do_writepages+0x58/0x100 Aug 31 09:31:27 rockpi-s kernel: [ 1945.044960] __writeback_single_inode+0x44/0x508 Aug 31 09:31:27 rockpi-s kernel: [ 1945.045398] writeback_sb_inodes+0x1e0/0x478 Aug 31 09:31:27 rockpi-s kernel: [ 1945.045804] __writeback_inodes_wb+0x78/0xe8 Aug 31 09:31:27 rockpi-s kernel: [ 1945.046209] wb_writeback+0x26c/0x400 Aug 31 09:31:27 rockpi-s kernel: [ 1945.046563] wb_workfn+0x310/0x5f8 Aug 31 09:31:27 rockpi-s kernel: [ 1945.046897] process_one_work+0x1ec/0x4d0 Aug 31 09:31:27 rockpi-s kernel: [ 1945.047296] worker_thread+0x48/0x478 Aug 31 09:31:27 rockpi-s kernel: [ 1945.047648] kthread+0x140/0x150 Aug 31 09:31:27 rockpi-s kernel: [ 1945.047963] ret_from_fork+0x10/0x34 Aug 31 09:31:27 rockpi-s kernel: [ 1945.048302] ---[ end trace cdc066846165d222 ]---
  19. I make apt full-upgrade after apt-update, but many - many errors: ip not found & ignore for packets. Make apt-get autoclean, but nothing... apt-get autoclean Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово apt full-upgrade Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Расчёт обновлений… Готово Следующие пакеты устанавливались автоматически и больше не требуются: libdrm-freedreno1 libf2fs0 libllvm6.0 Для их удаления используйте «apt autoremove». Следующие НОВЫЕ пакеты будут установлены: android-libboringssl android-libcrypto-utils libf2fs-format4 libf2fs5 libllvm8 libmaxminddb0 libwayland-egl1 python3-netifaces Следующие пакеты будут обновлены: adb android-libadb android-libbase android-libcutils android-libf2fs-utils android-liblog apt apt-transport-https apt-utils armbian-config curl f2fs-tools firefox firefox-locale-ru hostapd htop libapt-inst2.0 libapt-pkg5.0 libarchive13 libcogl20 libcurl3-gnutls libcurl4 libgl1-mesa-dri libgtk-3-0 libnss-myhostname libnss-systemd libpam-systemd libpython2.7 libpython2.7-minimal libpython2.7-stdlib libpython3.6 libpython3.6-minimal libpython3.6-stdlib libsdl2-2.0-0 libsoup-gnome2.4-1 libsoup2.4-1 libsystemd0 libudev1 libwayland-egl1-mesa linux-libc-dev netplan.io python2.7 python2.7-minimal python3.6 python3.6-minimal systemd systemd-sysv udev wireshark-common wireshark-qt Обновлено 50 пакетов, установлено 8 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено. Необходимо скачать 83,2 MB/87,1 MB архивов. После данной операции объём занятого дискового пространства возрастёт на 127 MB. Хотите продолжить? [Д/н] y Игн:1 http://ports.ubuntu.com bionic-security/main armhf libnss-systemd armhf 237-3ubuntu10.29 Игн:2 http://ports.ubuntu.com bionic-security/main armhf libsystemd0 armhf 237-3ubuntu10.29 Игн:3 http://ports.ubuntu.com bionic-security/main armhf libnss-myhostname armhf 237-3ubuntu10.29 Игн:4 http://ports.ubuntu.com bionic-security/main armhf libpam-systemd armhf 237-3ubuntu10.29 Игн:5 http://ports.ubuntu.com bionic-security/main armhf systemd armhf 237-3ubuntu10.29 Игн:6 http://ports.ubuntu.com bionic-security/main armhf udev armhf 237-3ubuntu10.29 Игн:7 http://ports.ubuntu.com bionic-security/main armhf libudev1 armhf 237-3ubuntu10.29 Игн:8 http://ports.ubuntu.com bionic-security/main armhf systemd-sysv armhf 237-3ubuntu10.29 Ошб:9 http://ports.ubuntu.com bionic-updates/main armhf libapt-pkg5.0 armhf 1.6.12 404 Not Found [IP: 91.189.88.152 80] Ошб:10 http://ports.ubuntu.com bionic-updates/main armhf libapt-inst2.0 armhf 1.6.12 404 Not Found [IP: 91.189.88.152 80] Ошб:11 http://ports.ubuntu.com bionic-updates/main armhf apt armhf 1.6.12 404 Not Found [IP: 91.189.88.152 80] Ошб:12 http://ports.ubuntu.com bionic-updates/main armhf apt-utils armhf 1.6.12 404 Not Found [IP: 91.189.88.152 80] Игн:13 http://ports.ubuntu.com bionic-security/main armhf libpython3.6 armhf 3.6.8-1~18.04.2 Игн:14 http://ports.ubuntu.com bionic-security/main armhf python3.6 armhf 3.6.8-1~18.04.2 Игн:15 http://ports.ubuntu.com bionic-security/main armhf libpython3.6-stdlib armhf 3.6.8-1~18.04.2 Игн:16 http://ports.ubuntu.com bionic-security/main armhf python3.6-minimal armhf 3.6.8-1~18.04.2 Игн:17 http://ports.ubuntu.com bionic-security/main armhf libpython3.6-minimal armhf 3.6.8-1~18.04.2 Игн:18 http://ports.ubuntu.com bionic-security/main armhf libpython2.7 armhf 2.7.15-4ubuntu4~18.04.1 Игн:19 http://ports.ubuntu.com bionic-security/main armhf python2.7 armhf 2.7.15-4ubuntu4~18.04.1 Игн:20 http://ports.ubuntu.com bionic-security/main armhf libpython2.7-stdlib armhf 2.7.15-4ubuntu4~18.04.1 Игн:21 http://ports.ubuntu.com bionic-security/main armhf python2.7-minimal armhf 2.7.15-4ubuntu4~18.04.1 Игн:22 http://ports.ubuntu.com bionic-security/main armhf libpython2.7-minimal armhf 2.7.15-4ubuntu4~18.04.1 Ошб:23 http://ports.ubuntu.com bionic-updates/main armhf netplan.io armhf 0.97-0ubuntu1~18.04.1 404 Not Found [IP: 91.189.88.152 80] .............................................................. E: Не удалось получить http://ports.ubuntu.com/pool/universe/w/wireshark/wireshark-qt_2.6.8-1~ubuntu18.04.0_armhf.deb 404 Not Found [IP: 91.189.88.152 80] E: Не удалось получить некоторые архивы; возможно, нужно запустить apt-get update или попытаться повторить запуск с ключом --fix-missing? armbianmonitor -u ### Installed packages: ii armbian-config 5.95 all Armbian configuration utility ii armbian-tools-bionic 5.75 armhf Armbian tools, Cubie bt utils ii hostapd 3:2.7-99~armbian5.86+1 armhf IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator ii linux-base 4.5ubuntu1 all Linux image base package ii linux-bionic-root-next-orangepiplus2e 5.90 armhf Armbian tweaks for bionic on orangepiplus2e (next branch) ii linux-dtb-next-sunxi 5.92 armhf Linux DTB, version 4.19.62-sunxi ii linux-image-next-sunxi 5.92 armhf Linux kernel, version 4.19.62-sunxi ii linux-libc-dev:armhf 4.15.0-60.67 armhf Linux Kernel Headers for development ii linux-u-boot-orangepiplus2e-next 5.90 armhf Uboot loader 2019.04 ii sunxi-tools 1.4.2-2~armbian5.86+1 armhf tools for working with Allwinner (sunxi) ARM processors
  20. @tkaiser could you rerun the ext4 vs. f2fs tests with the latest version of Armbian? Perhaps somebody can offer f2fs image builds so many people can test it, as is being done for https://github.com/RPi-Distro/pi-gen/issues/471#issuecomment-732223791
  21. After checking, /var/log/armbian-hardware-monitor.log I detected btrfs did not exist in my build. I went back to lib/configuration.sh and saw btrfs-progs package was not installed if BUILD_MINIMAL = YES. if [[ "$BUILD_MINIMAL" != "yes" ]]; then # Essential packages PACKAGE_LIST="$PACKAGE_LIST bridge-utils build-essential fbset \ iw wpasupplicant sudo linux-base crda \ wireless-regdb unattended-upgrades \ console-setup unicode-data initramfs-tools \ ca-certificates expect iptables automake html2text \ bison flex libwrap0-dev libssl-dev libnl-3-dev libnl-genl-3-dev keyboard-configuration" # Non-essential packages PACKAGE_LIST_ADDITIONAL="$PACKAGE_LIST_ADDITIONAL alsa-utils btrfs-progs dosfstools iotop stress screen \ ntfs-3g vim pciutils evtest pv libfuse2 libdigest-sha-perl \ libproc-processtable-perl aptitude dnsutils f3 haveged hdparm rfkill vlan bash-completion \ hostapd git ethtool unzip ifenslave libpam-systemd iperf3 \ software-properties-common libnss-myhostname f2fs-tools avahi-autoipd iputils-arping qrencode sunxi-tools" fi I changed then this from PACKAGE_LIST="bc cpufrequtils device-tree-compiler fping fake-hwclock psmisc chrony parted dialog \ ncurses-term sysfsutils toilet figlet u-boot-tools usbutils openssh-server \ nocache debconf-utils python3-apt" to PACKAGE_LIST="bc btrfs-progs cpufrequtils device-tree-compiler fping fake-hwclock psmisc chrony parted dialog \ ncurses-term sysfsutils toilet figlet u-boot-tools usbutils openssh-server \ nocache debconf-utils python3-apt" And now it works. I suppose btrfs-progs needs to be added to PACKAGE_LIST (or DEBOOTSTRAP_LIST?) only in the case ROOTFS_TYPE=btrfs and irrespectively of BUILD_MINIMAL.
  22. Focal / root on eMMC / ZFS on hdd / LXD / Docker I received my Helios64 yesterday, installed the system, and decided to write down my steps before I forget them. Maybe someone will be interested. :-) Preparation: Assembly your box as described here. Download Armbian Focal image from here and flash it to SD card. You may use Ether. Insert the SD card to your Helios64 and boot. After 15-20s the box should be accessible via ssh. (Of course you have to find out it's IP address somehow. For example check your router logs or use this.) First login: ssh root@IP Password: 1234 After prompt - change password and create your daily user. You should never login as root again. Just use sudo in the future. :-) Note: The auto-generated user is member of "disk" group. I do not like it. You may remove it so: "gpasswd -d user disk". Now move your system to eMMC: apt update apt upgrade armbian-config # Go to: System -> Install -> Install to/update boot loader -> Install/Update the bootloader on SD/eMMC -> Boot from eMMC / system on eMMC You can choose root filesystem. I have chosen ext4. Possibly f2fs might be a better idea, but I have not tested it. When finished - power off, eject the sd card, power on. Your system should now boot from eMMC. If you want to change network configuration (for example set static IP) use this: "sudo nmtui". You should also change the hostname: sudo armbian-config # Go to: Personal -> Hostname ZFS on hard disk: sudo armbian-config # Go to Software and install headers. sudo apt install zfs-dkms zfsutils-linux # Optional: sudo apt install zfs-auto-snapshot # reboot Prepare necessary partitions - for example using fdisk or gdisk. Create your zfs pool. More or less this way: sudo zpool create -o ashift=12 -m /mypool -mypool mirror /dev/disk/by-partuuid/abc123 /dev/disk/by-partuuid/xyz789 Reboot and make sure the pool is imported automatically. (For example by typing "zpool status".) You should now have working system with root on eMMC and ZFS pool on HDD. Docker with ZFS: Prepare the filesystem: sudo zfs create -o mountpoint=/var/lib/docker mypool/docker-root sudo zfs create -o mountpoint=/var/lib/docker/volumes mypool/docker-volumes sudo chmod 700 /var/lib/docker/volumes # Option: If you use zfs-auto-snapshot, you might want to consider this: sudo zfs set com.sun:auto-snapshot=false mypool/docker-root sudo zfs set com.sun:auto-snapshot=true mypool/docker-volumes Create /etc/docker/daemon.json with the following content: { "storage-driver": "zfs" } Add /etc/apt/sources.list.d/docker.list with the following content: deb [arch=arm64] https://download.docker.com/linux/ubuntu focal stable # deb-src [arch=arm64] https://download.docker.com/linux/ubuntu focal stable Install Docker: sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io #You might want this: sudo usermod -aG docker your-user Voila! Your Docker should be ready! Test it: "docker run hello-world". Option: Install Portainer: sudo zfs create rpool/docker-volumes/portainer_data # You might omit the above line if you do not want to have separate dataset for the docker volume (bad idea). docker volume create portainer_data docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce Go to http://yourip:9000 and configure. LXD with ZFS: sudo zfs create -o mountpoint=none mypool/lxd-pool sudo apt install lxd sudo lxc init # Configure ZFS this way: Do you want to configure a new storage pool (yes/no) [default=yes]? yes Name of the new storage pool [default=default]: Name of the storage backend to use (dir, btrfs, ceph, lvm, zfs) [default=zfs]: zfs Create a new ZFS pool (yes/no) [default=yes]? no Name of the existing ZFS pool or dataset: mypool/lxd-pool [...] #You might want this: sudo usermod -aG lxd your-user # Option: If you use zfs-auto-snapshot, you might want to consider this: sudo zfs set com.sun:auto-snapshot=false mypool/lxd-pool sudo zfs set com.sun:auto-snapshot=true mypool/lxd-pool/containers sudo zfs set com.sun:auto-snapshot=true mypool/lxd-pool/custom sudo zfs set com.sun:auto-snapshot=true mypool/lxd-pool/virtual-machines That's it. Lxd should work now on ZFS. :-)
  23. If you, like myself, installed on eMMC and are experiencing the crashes on 20.08.14 - I booted up via a 20.08.10 sdcard and fixed the environment on emmc # mount the emmc + get ready to chroot mkdir /mnt/chroot mount /dev/mmcblk1p2 /mnt/chroot/ mount /dev/mmcblk1p1 /mnt/chroot/media/mmcboot mount --bind /mnt/chroot/media/mmcboot/boot/ /mnt/chroot/boot/ mount --bind /dev /mnt/chroot/dev/ mount --bind /proc /mnt/chroot/proc/ mount --bind /tmp /mnt/chroot/tmp/ # chroot in and downgrade to 20.08.10 chroot /mnt/chroot/ /bin/bash apt install \ linux-dtb-current-rockchip64=20.08.10 \ linux-headers-current-rockchip64=20.08.10 \ linux-image-current-rockchip64=20.08.10 \ armbian-config=20.08.10 \ armbian-firmware=20.08.10 \ linux-focal-root-current-helios64=20.08.10 \ linux-u-boot-helios64-current=20.08.10 exit # now remove the sd card and hit reset @aprayoga It's probably unrelated, but while working through the above I noticed that I ran out of space on /boot. I installed to eMMC the first version that was working, if that helps. I chose f2fs when I installed on eMMAC and this is the resulting partition layout mmcblk1 179:32 0 14.6G 0 disk ├─mmcblk1p1 179:33 0 96M 0 part └─mmcblk1p2 179:34 0 14.3G 0 part mmcblk1boot0 179:64 0 4M 1 disk mmcblk1boot1 179:96 0 4M 1 disk Sadly I didn't grab enough info from what was in the boot partition before I nuked it and reinstalled the appropriate packages.
  24. only through a fresh install? i would have preferred f2fs. for flash memory it has a way better durability. anyway... thank you. i wont write much there anyway - all data is in docker volumes on hdd
  25. @guidol - no, while this may seem weird it's perfectly normal - this is a "bind mount", and this is how bind mounts appear in "mount". You can create one of these yourself, for example: root@nanopi:~# mkdir foo bar root@nanopi:~# mount --bind foo bar root@nanopi:~# mount | grep bar /dev/mmcblk1p2 on /root/bar type f2fs (rw,relatime,lazytime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,acl,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,alloc_mode=default,fsync_mode=posix,compress_algorithm=lz4,compress_log_size=2) root@nanopi:~# (The "log.hdd" bind mount is created via "/usr/lib/armbian/armbian-ramlog".) Hope this helps!
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines