having var in double quotes evaluates space default differently..
```
lane@billroyall:~/GIT/build$ ntpdate -s "${NTP_SERVER:- pool.ntp.org}"
Error resolving pool.ntp.org: No address associated with hostname (-5)
lane@billroyall:~/GIT/build$ ntpdate -s "${NTP_SERVER:-pool.ntp.org}"
```
* Improve all kernel building
Store hashes and rebuild only changed kernels. TBD: support for patch directory not fully implemented yet
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Add support for patch directory checking
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Update lib/build-all-ng.sh
Co-authored-by: Manuel Rüger <manuel@rueg.eu>
* Update lib/build-all-ng.sh
Co-authored-by: Manuel Rüger <manuel@rueg.eu>
* Update lib/compilation.sh
Co-authored-by: Manuel Rüger <manuel@rueg.eu>
* Update lib/compilation.sh
Co-authored-by: Manuel Rüger <manuel@rueg.eu>
* Update build-all-ng.sh
* Disable u-boot hashing for now
* remove banana r2
breaks compilation ... no time for inspection ATM
* typo
* Change s5p6818 to COMMIT instead of TAG
TAG points to a different HASH and its not posible to resolve hash without cloning. This can be addressed later, but now commit HASH will do.
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Bumping to new version
* Bumping to new version
* Bump
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* few changes
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Test
* Bumping to new version
* Bumping to new version
BOARD
Cubox i2eX/i4
* Bumping to new version
imx6 current
meson-gxl current
* Bumping to new version
linux-image-current-imx6_20.08.4-trunk_armhf.deb
linux-image-current-meson64_20.08.4-trunk_arm64.deb
* Bumping to new version
Adding following kernels:\n
* Bumping to new version
Adding following kernels:
linux-image-current-imx6_20.08.4-trunk_armhf.deb
linux-image-current-meson64_20.08.4-trunk_arm64.deb
* Bumping to new version
Adding following kernels:
linux-image-current-meson64_20.08.5-trunk_arm64.deb
linux-image-current-sunxi_20.08.5-trunk_armhf.deb
linux-image-legacy-meson_20.08.5-trunk_armhf.deb
linux-image-legacy-s5p6818_20.08.5-trunk_arm64.deb
* fix versioning
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Bumping to new version
Adding following kernels:
linux-image-current-meson64_20.08.1_arm64.deb
* Put version back
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
* Bumping to new version
Adding following kernels:
linux-image-current-imx6_20.08.0-trunk_armhf.deb
linux-image-current-meson64_20.08.0-trunk_arm64.deb
linux-image-current-mvebu_20.08.0-trunk_armhf.deb
linux-image-current-mvebu64_20.08.0-trunk_arm64.deb
linux-image-current-odroidxu4_20.08.0-trunk_armhf.deb
linux-image-current-rockchip_20.08.0-trunk_armhf.deb
linux-image-current-rockchip64_20.08.0-trunk_arm64.deb
linux-image-current-sunxi_20.08.0-trunk_armhf.deb
linux-image-dev-mvebu_20.08.0-trunk_armhf.deb
linux-image-dev-rockchip64_20.08.0-trunk_arm64.deb
linux-image-legacy-meson_20.08.0-trunk_armhf.deb
linux-image-legacy-meson64_20.08.0-trunk_arm64.deb
linux-image-legacy-mvebu_20.08.0-trunk_armhf.deb
linux-image-legacy-mvebu64_20.08.0-trunk_arm64.deb
linux-image-legacy-odroidxu4_20.08.0-trunk_armhf.deb
linux-image-legacy-rk3399_20.08.0-trunk_arm64.deb
linux-image-legacy-rockchip_20.08.0-trunk_armhf.deb
linux-image-legacy-rockchip64_20.08.0-trunk_arm64.deb
linux-image-legacy-rockpis_20.08.0-trunk_arm64.deb
linux-image-legacy-s5p6818_20.08.0-trunk_arm64.deb
* Bumping to new version
Adding following kernels:
* Bumping to new version
Adding following kernels:
linux-image-dev-rockchip_20.08.0-trunk.2_armhf.deb
* Bumping to new version
Adding following kernels:
* Bumping to new version
Adding following kernels:
* Bumping to new version
Adding following kernels:
* Bumping to new version
Adding following kernels:
* Report error code, adjust version
* Adjust ver
* Add another switch
Co-authored-by: Manuel Rüger <manuel@rueg.eu>
Co-authored-by: root <root@workstation>
* Delete FORCE_CHECKOUT, IGNORE_UPDATES variables
There are currently two questionable variables.
They are the keys in the structures:
'if [[ $FORCE_CHECKOUT == yes ]]; then' in the function 'fetch_from_repo()'
which is set by default by the script 'main.sh'
'[[ -z $FORCE_CHECKOUT ]] && FORCE_CHECKOUT=yes'
Next in the script 'main.sh'
if [[ $IGNORE_UPDATES != yes ]]; then
display_alert "Downloading sources" "" "info"
fetch_from_repo "$BOOTSOURCE" "$BOOTDIR" "$BOOTBRANCH" "yes"
This key has aged. It can't work properly today.
We should always clear the sources before starting the build.
For this reason, these two keys in these places do not make any sense.
You can just delete them.
* Working offline for sources
This is useful when building recursively for multiple platforms,
when some resource on the Internet is frozen.
To do this, I entered a new variable 'OFFLINE_WORK'
* New ability to work in offline mode
* Skip check prepare host
* Add unset OFFLINE_WORK in lib/build-all-ng.sh
Sources, time and host will not be checked
Now you can collect packages without accessing the Internet
* Exit if you can't create a directory
Otherwise the entire folder structure will crash
* git rev-parse --git-dir will always return ".git" line
if we are in the git repository folder.
When there is a symbolic link in the path, some functions
will not return what is expected. This condition is always true.
$(git rev-parse --show-toplevel) != $(pwd)
This commit fixes this threat
* Remove Xenial from supported host OS
... and adjust comments.
I'd suggest add `tricia` as codename for Linux Mint based on Bionic somewhere but not sure where to put it.
* Add Debian Buster and Linux Mint
compatible build hosts
Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
* Replace apt with apt-get unless in chroot
* Improve support for Buster and Mint Debbie
Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
* Port ANX78xx Pinebook / Teres LCD panel driver from 5.6-rc1
* Move Teres U-boot to 2020.01 ... it boots with enabled screen now.
* U-boot 2020 needs some extra Pyton utils when packing sunxi bootloader. Adding to native and Docker build dependencies.
* Add Pinebook lid wakeup
* python3-dev is also needed dependency
* Add exceptions to support native Ubuntu 20.04 building, fix small bug related to SD card write verification.
* Improve first install steps by installing Dialog and lsb_release first. This left out since we moved host install after we choose what we will do ... dialog is essential for this. Second we don't wait properly for APT manager to finish the process. Fixed with this commit
* Suppress output
* Update OdroidXU4 dev config & patches
AR-1 - Adding support category for distributions
AR-4 - Remove Allwinner legacy
AR-5 - Drop Udoo family and move Udoo board into newly created imx6 family
AR-9 - Rename sunxi-next to sunxi-legacy
AR-10 - Rename sunxi-dev to sunxi-current
AR-11 - Adding Radxa Rockpi S support
AR-13 - Rename rockchip64-default to rockchip64-legacy
AR-14 - Add rockchip64-current as mainline source
AR-15 - Drop Rockchip 4.19.y NEXT, current become 5.3.y
AR-16 - Rename RK3399 default to legacy
AR-17 - Rename Odroid XU4 next and default to legacy 4.14.y, add DEV 5.4.y
AR-18 - Add Odroid N2 current mainline
AR-19 - Move Odroid C1 to meson family
AR-20 - Rename mvebu64-default to mvebu64-legacy
AR-21 - Rename mvebu-default to mvebu-legacy
AR-22 - Rename mvebu-next to mvebu-current
AR-23 - Drop meson64 default and next, current becomes former DEV 5.3.y
AR-24 - Drop cubox family and move Cubox/Hummingboard boards under imx6
AR-26 - Adjust motd
AR-27 - Enabling distribution release status
AR-28 - Added new GCC compilers
AR-29 - Implementing Ubuntu Eoan
AR-30 - Add desktop packages per board or family
AR-31 - Remove (Ubuntu/Debian) distribution name from image filename
AR-32 - Move arch configs from configuration.sh to separate arm64 and armhf config files
AR-33 - Revision numbers for beta builds changed to day_in_the_year
AR-34 - Patches support linked patches
AR-35 - Break meson64 family into gxbb and gxl
AR-36 - Add Nanopineo2 Black
AR-38 - Upgrade option from old branches to new one via armbian-config
AR-41 - Show full timezone info
AR-43 - Merge Odroid N2 to meson64
AR-44 - Enable FORCE_BOOTSCRIPT_UPDATE for all builds
* btrfs-tools to btfs-progs
Signed-off-by: Zhang Ning <832666+zhangn1985@users.noreply.github.com>
* Force rootfs cache recompilation
"Just in case" measure
* Change btrfs-progs in the package base too
* We will build Ubuntu 19.10 rootfs cache as well
* Introducing build-all-ng
* Implementing REBUILD_IMAGES='board1,board2,...' for rebuilding certain images only
* Add optimisations when building kernels - only cycle trough needed targets. Adding variable for defining whether an image is build, otherwise only BSP is made.
* repository manipulating RFC
* Add bianco deb file that is added by default if repository is clean
* Switch to gpg2 signing method, small bugfix
* Create subdir for debs and debs-beta
* Synaptic bugfix: installing indexing tools https://forum.armbian.com/topic/8021-orange-pi-one-synaptic-package-manager-search-very-slow/?do=findComment&comment=74918
* add all modules by default to Odroid N2, but leave them commented
* Bugfix: not making any builds when selecting kernel_only
* Remove EXTERNAL=yes ... move armbian-config and armbian-firmware into main compilation area, drop others since they are deprecated anyway. This will also enable multi threaded images making
* Move armbian.list to create_sources_list function. Replace NTP by Chrony. Remove armbian-firmware from PACKAGE_LIST and RockPi 4A (#1528)
* Replace NTP by chrony. Remove installion of outdated armbian-firmware from reposity.
* added RockPi 4A
* New format for board config
* Fix Bluetooth dependencies for minimal package - add rfkill to family related installs
* Moving networkd-dispatcher from minimal image
* Cubox-i: update default config
* Improving umount process
* Add purgesource feature
* Add FULL_DESKTOP to install few more applications on top of our desktop - notebooks should * rk3399 default: adjust patches and configuration
* Enable full desktop on most powerfull boards and notebooks
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
some patches will create new files, they can be removed by `git clean -qdf`
but when repo has update, git clean is forgot, thus leave new files still in repo.
add git clean back.
Signed-off-by: Zhang Ning <832666+zhangn1985@users.noreply.github.com>
* Unified name for sha file.
* Better information about build in armbian.txt
* armbianEnv.txt from userpatches folder
* Better armbian.txt.
* Lost second argument for fingerprint_image (armbian.txt)
* Default config as symlink for comfort switching between several custom boards.
* Better metadata for kernel packages.
* Local changes with detailed git diff.
* Support for gz and bz2 compression (supported by balenaEtcher).
Support for generation sha without 7z compression.
Bug fix for current directory changing in 7z compression.
* Remove bzip2 and use fast pigz for gziping.
* Deleted typo with "gz" in 7z section.
Separated parameter for gpg.
* Information about exit command.
* [ general ] Change Toolchain download method. Introduce torrent downloads by using Aria2. If torrent download fails it proceeds to download from servers. It can download from all mirrors at once, so download speed is dramatically increased. @mzhboy DOWNLOAD_MIRROR parameter is not needed here anymore. The same method is used to download rootfilesystem cache. Based on ideas from here https://github.com/armbian/build/pull/1364
* Added yet another mirror for speeding up the download process, few small adjustements for torrent downloading
* Optimising direct download when DOWNLOAD_MIRROR is set to 'china' due to aria2 download limitations
* Both mirrors support HTTPS, changing
* 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