* downloader aria2 replace curl
aria2 is a fast downloader and it can do much more than curl
- skip download when target file exists
- restart an interrupted download session
- multithreading
* remove duplicate download item
* change btrfs compression to zstd and no force compression
* mkfs.btrfs options '--data single --metadata single --label btrfs'
disable dup(duplication) on microsd card
* [fstab] change mountopts[btrfs] compression method to zstd
lzo is no fater than zstd because the low 4k write performance on my
Samsung EVO+ 32GB microsd card.
meanwhile the best io size is above 32k based on benchmark
* replace dd with truncate, create a sparse disk image
* create btrfs subvolume by default
subvolume @ as rootfs, mount at /
subvolume @home as /home, mount at /home
* fix extraargs in armbianEnv.txt
* remove tmpfs mount on /tmp
A zram block device will mount on /tmp by
/usr/lib/armbian/armbian-zram-config.
And instead, mount /media as tmpfs.
* [rsync] add '--inplace' option, optimize for btrfs
* [general.sh] change ntp server to pool.ntp.org
* [general] new option to setup btrfs compression method
for support old and boring 3.x kernels
* [general] set btrfs space cache based kervel version
kernel version above 4.5 select 'v2' as default
* [btrfs] BTRFS_COMPRESSION accept compression ratio
BTRFS_COMPRESSION=zlib
BTRFS_COMPRESSION=zstd:5
BTRFS_COMPRESSION=zstd:12 are acceptable
* [btrfs] set btrfs compression to lzo when input is illegal
* [general] new option DOWNLOAD_MIRROR to select download mirror
current DOWNLOAD_MIRROR=china is used
the mirror is provided by tsinghua university
* [general] replace USE_MAINLINE_GOOGLE_MIRROR with MAINLINE_MIRROR
MAINLINE_MIRROR=google, use google provided mirror
MAINLINE_MIRROR=tuna, use tsinghua provided mirror
leave it empty, use official git.kernel.org
* fix btrfs default compression
* display $fscreateopt
* display_alert BTRFS_COMPRESSION
* try fix BTRFS_COMPRESSION variable not working
* debug fetch_from_repo
* configuration.sh debug BTRFS_COMPRESION
* update logic
* debug checking btrfs compression
* fix variable check,fix local variable usage
* [general] replace USE_MAINLINE_GOOGLE_MIRROR with MAINLINE_MIRROR
MAINLINE_MIRROR=google, use google provided mirror
MAINLINE_MIRROR=tuna, use tsinghua provided mirror
leave it empty, use official git.kernel.org
* [general] new option DOWNLOAD_MIRROR to select download mirror
current DOWNLOAD_MIRROR=china is used
the mirror is provided by tsinghua university
* Revert "try fix BTRFS_COMPRESSION variable not working"
This reverts commit 9814cfb054.
* Revert "debug fetch_from_repo"
This reverts commit ba571f0d89.
* add default compression method for mountopts
* remove useless var
* remove debug
* remove debug
* [general] set btrfs space cache based on kernel version
kernel version above 4.5 select 'v2' as default,
below 4.5 select 'v1' as default
* [general] reintroduce USE_MAINLINE_GOOGLE_MIRROR
* [general] case replaces 'if xx ;elif xxx;fi'
* [general] fix always downloading linux-firmware.git
clone to new dir 'linux-firmware-git' instead the old '$plugin_dir/lib/firmware'
,and then copy files as hardlinks.
* [general] create soft link instead of moving directory
* [btrfs] change rootfs subvolume name to @$RELEASE
now, the rootfs subvolume looks like @stretch,@bionic
it is possible to use different distribution in the same btrfs
partition.
add --keyserver-options when http_proxy env is set.
for docker build, need to pass http_proxy to docker
Signed-off-by: Zhang Ning <832666+zhangn1985@users.noreply.github.com>
This was already implemented with https://github.com/armbian/build/pull/948,
before but never made it into the master branch yet. Probably because the
development branch has been abandoned in the meantime and it is to much effort
now to merge it into master.
It includes all the cleanup changes from commit 08743d3 and has been successfully
tested on an Odroid HC1.
In addition to what is currently in the `luks` branch the following improvments
where done/added:
1. update_initramfs() function in debbootstrap-ng.sh, which needs to be invoked
after the partition layout and /etc/crypttab was created. Else `cryptroot-unlock`
won't work and you'll run into:
https://serverfault.com/questions/907254/cryproot-unlock-with-dropbear-timeout-while-waiting-for-askpass
Apart from that it might be useful to always run `update-initramfs` at the end
of the build process anyway, in case customize_image (userpatches) made some
changes to the initramfs tools configs.
2. CRYPTROOT_SSH_UNLOCK=yes/no config option. It's by default set to yes, but it
might be desired by some users to disable enable SSH/dropbear access while
still having LUKS support. E.g. if they have a device that has a display
and keyboard.
3. If no `authorized_keys` file is provided via userpatches, a new SSH key pair
is generated and for convenience copied to the output directory along with
the final image.
Drop dialog for installing hostdeps, use apt instead of apt-get, move
dialog to main dependencies list, update file list prior to installing
missing lsb-release