* prepare_host_basic: Code cleanup and optimization
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Checking and install at the beginning the basic utilities
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Logging has been removed because it makes little sense.
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
* Move function run_on_sdcard to more appropriate location
* Focus on bash headers, unify, adjust (c)
* Adjust (c) to range
* Cleanup compile.sh
* Cleaning main
* Build all, main configs
* fine tunning
* Improve readme
* Remove Docker version check from compile.sh since its deprecated
* Remove meta package creation which was needed for upgrade
* Update in-code documentation
* Bugfix
* Making oneliner
* Remove Groovy debug leftovers
* Add readme to distributions
* Update
* More text adjust
* Add virtual
* add more
* Make builder dockerfile to be x64 and aarch64 compatible
and building speed optimization
* remove hardcoded amd64
currently docker from edge not work, stable works, then stable instead edge
* libc6-dev-armhf-cross need to build rockchip uboot for helios64 under arm64
* need to add architecture to avoid blame for no docker for i386 arch
* hirsute uses same names for qemu-user-static
* let's only x64 use aptly from dev
* lsb-release package is getting deprecated
It is not present on Hirsute anymore so we better remove its dependency
* - remove lsb-release dependency from docker
- exit if Docker version is too low (check works only on Ubuntu builds, else doesn't do anything)
Reference: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1916485
* Cleanup
* Remove quotes for proper pkg install
* Automatically upgrade Docker engine
* Missing python dependencies
* Bugfix - debian name is not just one word
* Put this back
* provoke error
* Revert
* Adjust Github runner to make bionic and focal and compile u-boot for test
* Adjust cron
* Remove Bionic, cron back to 14 days
* Change to ubuntu-latest
* Ability to update while we are a regular user.
* Fix to work 'declare -f'
* Add the variables needed at the beginning of the path
* First we need to check the changed files
* fix permisson denied error happening in line 79
`mktemp` creates files with `-rw-------` (on Ubuntu bionic at least), which causes `line 79` to throw a permission denied error if the file isn't world readable.
* fixes umount error caused by single quotes
* force metadata duplication for btrfs root
Without this change metadata duplication is automatically turned off for `mkfs.btrfs` when the **build system** has a SSD drive.
However, since Armbian image is most likely flashed to a SD card afterwards, the drive type of the build host system should not be the deciding factor.
Metadata duplication is a good idea (better reliability) to have on a SD card.
From `man mkfs.btrfs`:
```
-m|--metadata <profile>
Specify the profile for the metadata block groups. Valid values are raid0, raid1, raid5, raid6, raid10, single or dup, (case does not matter).
A single device filesystem will default to DUP, unless a SSD is detected. Then it will default to single.
```
* 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>
* 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
This allows to enter the docker container in a shell by:
./compile.sh docker-shell
BOARD=firefly-rk3399 BRANCH=dev RELEASE=bionic BUILD_DESKTOP=no
Then you can build the whole thing in the docker shell with:
./compile.sh
Once you need to build the U-Boot only for development purpose, you can run:
# Optional: prepare the environment first if you had not run `./compile.sh`
./compile.sh 'prepare_host && compile_sunxi_tools && install_rkbin_tools'
# build the U-Boot only
./compile.sh compile_uboot
If you prefer to use profile, for example, `userpatches/config-my.conf`, try:
./compile.sh my 'prepare_host && compile_sunxi_tools && install_rkbin_tools'
./compile.sh my compile_uboot
This commit also fixes#1638.
Currently, invoking compile.sh will run its mono task of building all the
components into a final image.
In some situation, especially when developing with Kernel or U-Boot, it is
handy to run a portion of that great task like:
export BOARD=firefly-rk3399
export BRANCH=dev
# more to avoid the popup of dialog
./compile.sh 'fetch_from_repo "$BOOTSOURCE" "$BOOTDIR" "$BOOTBRANCH" "yes"'
./compile.sh 'compile_uboot'
or use a profile to keep things simple:
./compile.sh default BRANCH=dev 'compile_uboot'
due to docker can be running normal user, and inside docker can be root.
so drop root privileges for docker build.
Signed-off-by: Zhang Ning <832666+zhangn1985@users.noreply.github.com>
* git: do not update/checkout with root privileges
Signed-off-by: Zhang Ning <832666+zhangn1985@users.noreply.github.com>
* Add warning and rfc utils install
* Config files moved to userpatches.
* Automatic move config-default.conf to userpatches folder
* Move Dockerfile to config/templates which is then copied to userpatches.
* Enable torrent dl by default
* Install docker if we want to build under Docker but its not installed
* Adjust Vagrant settings
Signed-off-by: Tian Yuanhao <tianyuanhao@aliyun.com>
* 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>
* 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.