Commit Graph

95 Commits

Author SHA1 Message Date
The-going
eca7bbb12d
Code cleanup and optimization (#2965)
* 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>
2021-07-04 23:25:40 +02:00
Igor Pečovnik
fcb8b6f195
Code cleaning attempts (#2925)
* 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
2021-06-26 23:36:47 +02:00
Igor Pečovnik
7d330d2e5b
Code cleaning attempts #1 (#2911)
* 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
2021-06-21 23:03:39 +02:00
Werner
ddfa440814
Small typo 2021-06-04 15:24:41 +02:00
Igor Pecovnik
a2bf134518 Docker install bugfix. It seems there is no more docker-ce in Ubuntu Focal 2021-06-04 11:06:54 +02:00
iav
cda929a1b6
Make builder dockerfile to be x64 and aarch64 compatible (#2867)
* 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
2021-06-04 10:53:45 +02:00
MichaIng
53ef87f159 Do not pre-install obsolete apt-transport-https
Since APT v1.6, HTTPS capabilities are part of the apt core package, hence apt-transport-https is not required anymore. This version is part of Debian since Stretch and Ubuntu since Bionic. The apt-transport-https still exists as transitional dummy package only.
- Changelog: https://salsa.debian.org/apt-team/apt/-/raw/main/debian/changelog
- Debian package: https://packages.debian.org/apt-transport-https
- Ubuntu package: https://packages.ubuntu.com/apt-transport-https

Signed-off-by: MichaIng <micha@dietpi.com>
2021-06-01 00:39:56 +02:00
Igor Pečovnik
413be5311b
Bugfix: Docker does not install on Hirsute host (#2863) 2021-05-30 21:09:48 +02:00
Igor Pečovnik
9b0dd2b839
Fix broken Docker support (#2804)
* 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
2021-05-02 18:06:38 +02:00
Igor Pečovnik
3a74abe43d
Merge desktop branch (#2662)
Co-authored-by: Miouyouyou (Myy) <myy@miouyouyou.fr>
Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
Co-authored-by: Richard Neese <r.neese@gmail.com>
Co-authored-by: iav <iav@iav.lv>
Co-authored-by: lanefu <lanefu@users.noreply.github.com>
Co-authored-by: Werner <EvilOlaf@users.noreply.github.com>
Co-authored-by: Oleg <balbes-150@yandex.ru>
Co-authored-by: Lane Jennison <lane@lane-fu.com>
Co-authored-by: JMCC <jmcc1@gmx.com>
2021-02-24 18:19:09 +01:00
Uli Middelberg
58740edbd8
Added psmisc package as a requirement for fuser (#2164) 2020-08-28 11:50:42 +02:00
Igor Pecovnik
3100b44d04 Improve Docker installation support for Linux Mint
https://github.com/armbian/build/issues/2136
2020-08-06 08:24:16 +02:00
The-going
374ba97eb5
Rework compile (#2059)
* 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
2020-06-25 15:23:16 +02:00
Manuel Rüger
9fa6069f9f
Shellcheck fixes (#2034)
* compile.sh: Apply shellcheck linting

* main.sh: Apply shellcheck linting

* fel-load.sh: Apply shellcheck linting
2020-06-18 10:06:21 -04:00
zciendor
a0d6f21ac7
various minor fixes (#1993)
* 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.
```
2020-05-28 10:52:54 +02:00
Eduardo Mínguez
2243da9491
Added getfacl because not present in 20.04 ootb (#1955)
At least in the 20.04 cloud image is not included ootb
and it is required in
https://github.com/armbian/build/blob/master/lib/configuration.sh#L321
2020-05-10 11:27:14 +02:00
Werner
f78591db5b
Fixes building on Linux Mint Tricia (Bionic based) (#1914)
* 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>
2020-04-25 21:25:05 +02:00
Igor Pečovnik
36e58385e7
Improve Docker support on Linux mint (#1899)
CI can't check, its tested, merging.

Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
2020-04-20 08:12:27 +02:00
Igor Pečovnik
89a5a394ba
Add exceptions to support native Ubuntu 20.04 building (#1764)
* 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
2020-02-02 10:31:30 +01:00
Robert Edström
fbee8be1e6 Install compile dependency dialog if missing 2020-01-31 02:46:44 +09:00
zhangn1985
3e38b4b715 build optimize for upstream (#1713)
* add tuna debian-security mirror

Signed-off-by: Zhang Ning <832666+zhangn1985@users.noreply.github.com>

* replace apt-get with apt

Signed-off-by: Zhang Ning <832666+zhangn1985@users.noreply.github.com>

* speed up desktop build

Signed-off-by: Zhang Ning <832666+zhangn1985@users.noreply.github.com>
2020-01-06 23:45:28 +01:00
Levin Du
de4cb7722d Docker: add docker shell support (#1612)
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.
2019-11-28 15:24:22 +01:00
Levin Du
77a2dba163 Support eval bash statement in ./compile.sh (#1616)
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'
2019-11-26 18:00:39 +01:00
zhangn1985
de58ac1faa fix shell script execute after su (#1581)
`su xxx -c bash a.sh`
it will execute like `su xxx -c bash` and ignore a.sh

in order to do right way

`su xxx -c "bash a.sh"`
2019-10-01 16:53:22 +02:00
Igor Pecovnik
3a143a8dfa Docker: add command dockerpurge to recreate armbian containters 2019-09-29 16:01:07 +02:00
Igor Pecovnik
a58c8d1133 Bugfix / typo 2019-09-29 11:47:49 +02:00
zhangn1985
552f4bdb4e docker: do not always require root privileges for docker build (#1579)
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>
2019-09-29 11:42:41 +02:00
zhangn1985
507a19ff0d git: do not update/checkout with root privileges (#1580)
* 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
2019-09-29 11:41:43 +02:00
Igor Pečovnik
c87d9692e2
Tiny bugfix for starting fro m very minimal image
Check also for gnupg and install it
2019-09-28 22:19:51 +02:00
Igor Pečovnik
0941aec869
Add missing dependencies
We can't import keys without PGP suite installed. Adding. Add another check to install Docker automated only on Debian based distributions.
2019-09-28 21:00:46 +02:00
Igor Pečovnik
fa9b0f54b9
Moving configs under userpatches (#1564)
* 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>
2019-09-28 20:49:28 +02:00
Igor Pečovnik
f7f98eabb5
Remove deprecated check 2019-09-07 23:32:18 +02:00
Igor Pečovnik
1221d59233
Build all targets RFC (#1515)
* 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>
2019-09-01 22:13:13 +02:00
Przemysław Sztoch
bc0fbb85bc Add USERPATCHES_PATH optional setting to config file. (#1450)
Required if userpatches folder is conflicted between two different configs.
This is frequent and requires maintaining two copies of the builder.
2019-07-09 22:50:49 -04:00
Przemysław Sztoch
31b56af49f Default config as symlink and better kernel package metadata (#1446)
* 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.
2019-07-06 22:35:42 +02:00
Manuel Rüger
bffdfcd7f0 Apply shellcheck recommendations (#1389)
* compile.sh: Apply shellcheck recommendations

* lib/upgrade.sh: Apply shellcheck recommendations

* lib/main.sh: Apply shellcheck recommendations

* lib/desktop.sh: Apply shellcheck recommendations

* lib/makeboarddeb.sh: Apply shellcheck recommendations
2019-05-30 22:19:53 +02:00
Stefan Mavrodiev
b7e8dd3d4d Fix argument parsing 2018-12-19 09:53:11 +02:00
zador-blood-stained
a407e988c8 Add a missing bit to d1a9c8a 2018-05-24 22:33:16 +03:00
ThomasKaiser
2f3fd75544 Fix 'whitespace in path' fix 2017-09-14 03:13:26 -07:00
ThomasKaiser
6178cca694 Immediately exit compile.sh if whitespace in path is detected. #762 2017-09-13 12:59:03 +02:00
zador-blood-stained
c3567743a0 Small cleanup 2017-08-06 17:11:16 +03:00
Igor Pecovnik
a9b4e9a9a4 Properly solved handling subrevisions 2017-08-02 23:51:43 +02:00
Igor Pecovnik
2e7987c953 Bugfix 2017-08-02 20:49:16 +02:00
Igor Pecovnik
a1154106c1 Allow overriding SUBREVISION in config 2017-08-02 19:30:37 +02:00
Igor Pecovnik
d94b39194c Add subrevision if BETA="yes" for daily builds 2017-08-02 07:57:51 +02:00
zador-blood-stained
ab7a73be31 Small cleanup 2017-08-01 15:31:54 +03:00
zador-blood-stained
a190eebf43 Update the build script github repo address
Remove shebangs from non-executable files
2017-08-01 12:51:10 +03:00
zador-blood-stained
cb77343979 Add migration checks and messages 2017-08-01 12:28:19 +03:00
zador-blood-stained
91be332f8a Refactor directory structure
Remove "parent of the project directory" setup
Closes #633
Closes #674
2017-08-01 12:24:56 +03:00
zador-blood-stained
585614d5b3 Change default build script options
Use PROGRESS_DISPLAY=plain by default
Remove (hide) internally used options
Add dialog for KERNEL_CONFIGURE option
2017-07-09 21:28:07 +03:00