* 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)
* Docker: a chance to rebuild docker image
when Dockerfile is updated, docker image will not be rebuilt,
let armbian docker image tag with framework version, thus has
a chance to rebuild it.
V2: use VERSION file to track build script version.
Signed-off-by: Zhang Ning <832666+zhangn1985@users.noreply.github.com>
* Docker: use upgrade instead of dist-upgrade to speed up docker build
this patch also change to use apt instead of apt-get
when compile in docker, it will run apt update&&upgrade everytime.
this is very time consuming.
apt-get dist-upgrade will not upgrade packages, thus will make build framework
do upgrade each time.
Signed-off-by: Zhang Ning <832666+zhangn1985@users.noreply.github.com>
* 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.
- change console welcome text
- changed display manager to lightdm by default and remove nodm completly
- desktop login manager enabled by default, toogle can be done with armbian-config
- added URL to the build script and commit hash to /etc/armbian-release file
- added debconf-utils,html2text,mmc-utils,sunxi-tools to the base and additional pkg list
- added synaptic package manager and onboard keyboard to the desktop base
- changed motd console welcome text to: Welcome to Debian Stretch with Armbian Linux 5.1.6-sunxi
- added "logout" to the panel/menu
- added normal users to additional groups: disk tty users games
* Adjust tabs and alter displaying build options at the end - hide empty ones
* Fix wrong MOTD message, adjust logic to autologin by default and request login for both notebooks
* Making fs cache naming more intuitive, rename script
* Move additional kernel drivers into separate file. Add AUFS for K5.1 this way, attach wireguard sources to last known working tag. master is broken atm
* Add two more extra wireless drivers 88x2BU, (improved) 8811EU and introduce switch EXTRAWIFI which is enabled by default
* Move 8812AU to the same version we have now. More recent has some performance issues in AP mode. Adjust configuration, add mvebut-dev 5.1.y kernel
* Enable Wireguard also on 3.10.y since it was fixed upstream. Attach bach to master branch since its working now
* Rockchip64 & RK3399 - upstream patches and remove deprecated patches, mvebu64 add DEV kernel attached to 5.1.y
* Enable BT on Tinkerboard CLI images as well
* cubox-i move to 5.1.y and enable missing HDMI
* Bugfixes for adding wireless driver to Kconfig. Adjusted RK3399 kernel due to upstream changes at FriendlyARM - does not boot yet. Changes has to be extract from their commits. Removed patches with RTL8188EU since we add more recent driver with a new precedure. Small fixes mvebu-default, udoo-next, s56818-next, ... remove deprecated patches.
* Boot-able RK3399-default config, add upstream patches for K4.4.y mvebu-default/udoo-next
* Adjust overclocking patch to meet upstream changes
* Odroid XU4 - remove deprecated kernel patches
With some docker CLI version, `stty size` in the container will return `0 0`,
which causes `dialog` to fail. This commit fixes that by setting the actual
terminal size.
For more infor, see:
https://github.com/docker/for-linux/issues/314
- changed display manager to lightdm by default and remove nodm completly
- desktop login manager enabled by default, toogle can be done with armbian-config
- added URL to the build script and commit hash to /etc/armbian-release file
- added debconf-utils,html2text,mmc-utils,sunxi-tools to the base and additional pkg list
- added synaptic package manager and onboard keyboard to the desktop base
- changed motd console welcome text to: Welcome to Debian Stretch with Armbian Linux 5.1.6-sunxi
- added "logout" to the panel/menu
- added normal users to additional groups: disk tty users games
* [ 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
The packages 'recommend' python3-apt, while it simply does not work
without this package:
Traceback (most recent call last):
File "/usr/lib/armbian/armbian-apt-updates", line 25, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
- set to `google` to use mirror provided by Google, the same as
`USE_MAINLINE_GOOGLE_MIRROR=yes`.
- set to `tuna` to use mirror provided by tsinghua university.
- leave it unset to use offical `git.kernel.org`.
* 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.
Currently, compilation errors from the standard error channel
are sent to standard output, and then the shared stream
can be routed to the $DEST/debug/compilation.log file or not.
As a result, we can see either empty compilation.log file,
or a file containing a million lines of total output.
This behavior makes little sense.
After applying this patch, compilation errors
will always be sent to $DIST/debug/compilation.log
The file will look something like this:
----------------------------------------------------------------
== atf ==
== u-boot ==
.config:1253:warning: override: reassigning to symbol BOOTDELAY
== kernel ==
In file included from ./include/linux/kernel.h:11:0,
from ./include/linux/clk.h:16,
from drivers/iio/adc/sun4i-gpadc-iio.c:25:
......
---
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>
Further I introduced the variable CRYPTROOT_PARAMETERS to have the ability to pass more options to the cryptsetup command.
I've test this on an Odroid HC2 (XU4) with default kernel configuration, full OS image, "next" branch and stretch as server:
- default without encryption
- encryption with user sepcific cryptsetup parameters
- encryption without user specific cryptsetup parameters
* helios4: next branch use u-boot 2018
use new u-boot based on upstream 2018
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
* helios4: Tweak fancontrol configuration
Adjusted MINSTART and MINSTOP to suit both old and new fan.
Adjusted TEMP threshold so fan would stop or run in minimal speed when
the system idle.
Fixed wrong MINPWM value.
URL:https://wiki.kobol.io/pwm/#configuration-file
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
* kernel: mvebu-next: use upstream helios4 dts
Helios4 device tree has been merged on upstream since 4.19.
Rework the patch to produce same device tree.
URL:https://patchwork.kernel.org/patch/10449393/
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
* Helios4: Use boot-mvebu-next bootscript
Use boot-mvebu-next.cmd that make use of upstream's Generic Distro
Configuration.
Since loadaddr and fdt_addr varibales are no longer required, remove the
patch.
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
* Helios4: mvebu-next: Add workaround for SPI and SATA concurrent access issue
Concurrent access on SPI NOR and SATA drives can lead to unstable SATA.
Therefore as workaround, disable SATA controller when SPI flash access
is needed and make it as user configurable item in armbianEnv.txt
This workaround might applies to Clearfog too.
Refer to
Commit 59af84c07c ("Helios4: Add SPI bootloader install feature
(#1126)")
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
* Bootscripts: Fixed boot-mvebu-next.cmd
The environment setting (armbianEnv.txt) is loaded to RAM located on
${load_addr} but the env import use wrong address (${pxefile_addr_r}).
bootargs still expect ${boot_interface} which carried over from boot-
marvell.cmd. Upstream's distro configuration use ${devtype} instead.
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
* uboot: mvebu-next: only apply DT fixup script if it exists
* [ buildscript ] Add FORCE_BOOTSCRIPT_UPDATE option
If enabled bootscript will get updated during bsp upgrade.
* Helios4: Enable FORCE_BOOTSCRIPT_UPDATE by default in board config.
* Helios4: Added boot-marvell.cmd compability to u-boot 2018
Revert the changes to use boot-mvebu-next.cmd instead of boot-
marvell.cmd to prevent unbootable system due to incompatibility between
u-boot 2013.01 and boot-mvebu-next.cmd
This reverts commit 0f17ecb233 ("Helios4: Use boot-mvebu-next
bootscript")
U-Boot 2018 will failed load dtb and script due to missing some
variables on boot-marvell.cmd. This will render the system unbootable.
Re-added and update loading-boot-scr.patch for backward compatibility
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
* Helios4: Add workaround for SPI and SATA concurrent access issue
Concurrent access on SPI NOR and SATA drives can lead to unstable SATA.
Therefore as workaround, disable SATA controller when SPI flash access
is needed and make it as user configurable item in armbianEnv.txt
This workaround might applies to Clearfog too.
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
* Helios4: Add U-Boot SPI
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
* Helios4: Add SPI bootloader install feature
This will allow to use nand-sata-install to perform the following operations on Helios4 :
- Install bootloader to SPI NOR Flash (Option 5 in Menu).
- Copy RootFS to USB storage in order to boot from SPI with RootFS on USB (Option 6 in Menu).
* Unmount temp mount points in create_armbian() instead of hardcoded /dev/sda
Based on work of David Huang https://github.com/hjc4869 Changed in the transition:
- firefly family was renamed to rk3399, which we actually never started to use. It was made for Odroid N1, which will never be sold
- adjusted compiler toolchain2 parameter
- added standard wireless drivers
- kernel config with the following changes: Docker dependencies, ZRAM, CPUfreq info, ...
- added upstream patches
- made test Ubuntu Bionic desktop and CLI Stretch build, bootlog: http://ix.io/1jVu
TBD: wifi and BT support, mainline kernel, ...
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.
* [Early WIP] Update sunxi-next to kernel 4.17
* Switch Allwinner 32 and 64bit to U-boot 2018.05
* Adjust patched for 4.17.y / sunxi-next
- adjust both configurations
- removing FAT support from u-boot (breaks if you try to save)
Tested those boards:
Cubietruck: wlan fails http://ix.io/1fYS USB OK, HDMI yes
Bananapi R40: http://ix.io/1fZm USB OK, HDMI yes
Lime A64: USB no, HDMI no, wireless buggy, eMMC yes
Orangepi prime H5: OK http://ix.io/1fZJ DVFS no
Orangepi2e: DVFS OK, HDMI OK, net OK, wifi OK, eMMC ok, http://ix.io/1fZT
* Kernel config update, enabling HDMI on CT+
* Trying to fix A64 HDMI but failed. Fixed M64 ethernet instead
* Update orangepioneplus.wip
* Update orangepioneplus.wip
* Fix H6 build process
* Add regulator bits for Orangepizero+, thanks to @5kft
* add H5 support for optional 1.3v regulator and 1.3GHz operation
This patch adds two optional overlays that can be used to:
1) enable the 1.1v/1.3v regulator on boards that provide the necessary compatible H/W support
2) modify the default CPU clock operating table to add new 1.2GHz and 1.3GHz clocks
Note that the generated regulator overlay will only support boards whose 1.1v/1.3v regulator
is controlled by GPIO PL6.
* updates for the NanoPi NEO Plus2
This change introduces a patch that provides two changes for the NanoPi NEO Plus2:
* Configure the "cpu0" to use the "vdd_cpux" regulator; this enables the ability to use higher CPU clocks
* Correct the configurations of the on-board power and status LEDs
* Adjust nightly building and few boards config cleanup
* Basic armbian services RFC
- tested building and upgrade
- armbian-optimize-hardware and armbian-setup-hardware have still the same content
* fix permissions
* Forther renaming and small fixes
* Odroid C2 NEXT tiny config adjustement to remove errros from bootup and moving u-boot to 2018.05
* More cleanings
* permissions fix
* More cleanup ...
* permi
* Remove few Ubuntu related things, fix permissions
* Further mini improvements
* Fix logrotate compression and permission issues
* Bugfix
* Wrong services setup at package install. fixing
* RAM logging: workaround for older kernel/btrfs driver versions
* Renaming services, proper config for zram, few bugfixes.
* Various fixes
* Various fixes
* No $TMPFILE needed here
* Various fixes
* Lower this so boards with low memory can use it too
* Various fixes
* Adjust logfile to armbian-hardware-monitor.log
* Remove swap file creation
* Fix permissions in all logrotate configs if needed.
* Prevent loading parallel printer port drivers which we don't need here.
The code was disabled some time ago, split it to a separate unit file
and reenable. Since configuration file needs to be renamed to activate
it, it won't be run by default.
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
Tested on H3 with DM video driver, may require tweaks for older video
driver (A10/A20)
Boot splash files should be installed in family_tweaks due to different
requirements for different platforms