Commit Graph

108 Commits

Author SHA1 Message Date
hzy
14f4260bf9 Add lib/import-functions.sh to import functions
Note: build will fail on this commit
2022-10-08 14:37:21 +02:00
Igor Pečovnik
f10e9fa484 Suppress error if gitconfig file does not exists (#3998)
* Suppress error if gitconfig file does not exists.

* Use grep

* Supress error
2022-07-16 16:59:40 +02:00
Igor Pečovnik
c8013d14a5 Small bugs and cosmetic issues (#3776)
* Remove debug code

* Replace duplicate query

* Oh-my-zsh configuration has been changed. Adjusting our modifications

* Address changes to git client in a better way
2022-05-11 19:46:10 +02:00
Igor Pečovnik
07abe12936 Fixing changes in Git for unsafe folder (#3695) 2022-04-18 13:43:31 +02:00
Igor Pečovnik
af903b2ccd Move Docker image to Ubuntu 22.04 LTS (#3481)
* Add tested Docker files for current Debian / Ubuntu, defaulting to Jammy

* Update update-docker.yml

* Update update-docker.yml

* Solving with Docker run parameters

* Just variable name change

* Update update-docker.yml

* Change to master

Also merge https://github.com/armbian/scripts/pull/6

* Set default values

* Add missing libssl1.1
2022-03-30 07:26:59 +02:00
Matthijs Kooijman
c715c11cf2 Improve template config copying (#3535)
* Do not overwrite config-default.conf

Previously, when config-example.conf was missing, it would be created
and config-default.conf would be made a symlink to it. However, this
would overwrite any existing config-default.conf, potentially throwing
away a user's data. This occurs when you clean up and throw away the
(cluttering) config-example.conf (and depending on whether you use a
symlink to another named config, or put data in config-default.conf,
this would either just replace the symlink, or throw away your actual
config data).

This commit splits the update checks, so no files are ever overwritten,
except a broken config-default.conf symlink.

* Do not recreate example.conf if you remove it

Previously, whenever config-example.conf (and some others) was missing,
it start copying any missing example configs. This means that if you
would remove config-example.conf to clean up your userpatches directory,
it would be recreated everytime.

Now, this is triggered by a missing config-default.conf (which is also
created by the same block of code). The creating of config-example.conf
is still there, so if you have no config-default.conf (or one of the
others listed), then config-example.conf is created anyway, with
config-default.conf being a link to it, just like before (so the
first-run behavior is unmodified).
2022-03-19 16:48:32 +01:00
Igor Pecovnik
92a1c729d4 Fix image build status and remove build-all scenario 2022-02-27 11:48:59 +01:00
iav
117633687e run docker install with sudo (#3386) 2022-01-08 08:05:23 +01:00
Ricardo Pardini
90e0fe0ba2 extensions framework + UEFI aarch64/x86 + rpi4b + core changes/fixes (#3300)
* extensions framework (née "fragments")

- this should actually change nothing at this point, just add capabilities
- the framework is implemented in lib/extensions.sh
- the "if function x exists then call x" replaced with call_extension_method()
  - +inline documentation
  - +compatibility names

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions framework; meta-extensions: auto-docs and sample extension gen

- 2 extensions dealing with extensibility itself
  - detect-unused-extensions: shows which extensions are enabled, but never called.
  - gen-sample-extension-docs: generates a sample empty extension & Markdown documentation for extensions

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* new extension methods and features via config variables in core Armbian

- `SKIP_EXTERNAL_TOOLCHAINS=yes` - does not download or use any linaro toolchains, only build host-installed ones
- `SKIP_BOOTSPLASH=yes` - does not patch kernel for splash file
- `EXTRA_BSP_NAME=xyz` - allows for BSP variants, useful for when extensions modify the BSP
- `EXTRA_ROOTFS_MIB_SIZE=x` - add x mib's to rootfs size, for use with very small images
- `KERNEL_EXTRA_TARGETS` - what extra targets to make kernel for, default to "modules dtbs"
- `BOOTCONFIG=none` - does not build nor install u-boot; also doesn't handle bootscripts et al
- `unset KERNELSOURCE` - does not build nor install kernel, nor build initrd, nor build nor install firmware
- `ARMHF_ARCH=skip` - does not add armhf to apt/dpkg, thus pure arm64
- `SKIP_ARMBIAN_REPO=yes` - results in armbian.list.disabled in the final image
- define `APT_EXTRA_DIST_PARAMS` with apt-cacher-ng options and use it for `PACKAGE_LIST_INSTALL/REMOVE` et al
- initial support for targeting x86/amd64 UEFI and BIOS
    - some do's/don'ts for x86/amd64, like a different `UBUNTU_MIRROR` default
    - GPT/EFI(ESP) partitions (fat, `UEFISIZE=256` to enable, mount `UEFI_MOUNT_POINT=/boot/efi`, first on disk but ends
      up at `$uefipart`=15)
    - GPT/BIOS partitions (fat, `BIOSSIZE=1` to enable, second on disk but ends up at partition 14)
    - `UEFI_FS_LABEL="armbiefi"` - to set the FAT label for the EFI partition, visible in Win/Mac
    - hard-requires gdisk package host-side
- add add_host_dependencies() extension method; fill `EXTRA_BUILD_DEPS="pkg pkg2"` to install to host before toolchains
  download
- add pre_prepare_partitions() extension method, for custom partition size calculations
- add create_partition_table() extension method, used to do full-custom partitioning if `USE_HOOK_FOR_PARTITION=yes`
- add post_create_partitions() extension method, mostly for easy debugging
- add post_write_sdcard() extension method, where you can also set `SKIP_VERIFY=yes` to skip sdcard verification
- add post_install_kernel_debs() extension method.
- multiple fixes to bsp to avoid spurious errors when files are not where it expects
- v4: detect `update-initramfs` failure and abort build with useful message if it does
- v4: show useful stacktrace in `exit_with_error`
  - if `ERROR_DEBUG_SHELL=yes`, drop into a shell before unmounting/deleting everything, so we can inspect what went wrong
- v4: display a message before `apt-get remove PACKAGE_LIST_BOARD_REMOVE` packages, so any errors while removing are easy to understand
- v4: preserve kernel .config's dates when copying

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions framework; refactor tool fetching/building into extensions

- a few examples of core refactoring using extensions
- sunxi-tools extension, enabled by 2 different sunxi family includes ("reuse" example)
- marvel-tools extension, enabled by 2 different mvebu family includes
- rkbin-tools extension, enabled by rockship64_common family include
- amlogic-fip/c2-blobs stuff refactored directly into meson64_common.inc ("single-use" example)
- removed the 'testings' fetch_from_repo completely since not used anywhere.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* .wip's for UEFI arm64 and UEFI/BIOS x86 via new GRUB extension

- v3: added `growroot`-awareness to `armbian-resize-filesystem`
    - the partition-growing part of `armbian-resize-filesystem` does not deal correctly with the UEFI layout
    - `growroot` is installed on UEFI images by default, that handles growing partition during initramfs
    - now `armbian-resize-filesystem` handles `resize2fs` only, and works.
- v4: reworked UEFI board/family/include structure:
    - use Distro's `linux-generic` kernel only for `current`
    - `edge` now builds it's own pure-mainline `5.15.y` kernel, for both x86 and arm64
        - `.config` taken from Ubuntu, probably needs tuning for EXTRAWIFI=yes et al
- v4: introduce `SKIP_KERNEL_SYMLINK=yes`, tested in `builddeb`
    - to avoid symlinking kernel; u-boot likes it, but grub and flash-kernel hates it
- v5: many fixes
- v7: more small fixes.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* .wip for the RaspberryPi 4B via new flash-kernel extension

- this does not build it's own kernel "yet", but uses default linux-raspi kernel from Ubuntu
- flash-kernel is not really a bootloader
    - it just prepares kernel et al a FAT partition for booting by the RPi4b bootloader
    - flash-kernel is standard Debian package, but has only been tested on Ubuntu releases
- it is really only known-working since Hirsute release.
  - Debian's rpi kernel is armhf only, so out of scope here, at least until we add source-built kernels.
- v3: fixed focal rootfs build. untested.
- v3: better variable names, preparing for source-built kernel.
- v5: new edge build with pure mainline kernel.
- v6: many fixes and some hacks for packaging and layout, also firmware (using Ubuntu's)

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* Added first patch to edge x86 related to wifi drivers

* extensions: leave hostapd alone; remove hackish ext; block reentrancy

- package-list-utils does not belong in this PR
- grub or bcm2711 is not the place to remove hostapd
- block recursive enable_extension() calls, for now.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* gen-sample-extension-docs: fix: avoid counter in generated sample

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: dependencies: enable_extension() in extensions with a stack

- and better stacktraces, I hope

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* Remove code from package list since we don't have it in repository
Adjust kernel config to disable driver that needs further polishing.

* Allow amd64 to build the same desktops as aarch64. We only have this limit for armhf, where some desktops don't work

* amd64: allow building amd64 on aarch64 with system toolchain

- conditionally add gcc-x86-64-linux-gnu to hostdeps

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* add libelf-dev directly to hostdeps (and Dockerfile), remove extension

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* packaging: remove SKIP_KERNEL_SYMLINK hack, fix the root cause

- which was the missing $image_name for non-arm64 & non-arm, so: x86 for example

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* grub: really obliterate u-boot stuff from BSP

- for now. soon we'll refactor u-boot so not have to do this

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* flash-kernel: really obliterate u-boot stuff from BSP

- for now. soon we'll refactor u-boot so not have to do this

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: add host_dependencies_ready() hook

- this passes FINAL_HOST_DEPS containing all hostdeps for the run after they're installed

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* Add verification functions for correct selection.

* If UEFI Skip symlink creation

* Do not create dtb package for amd64

* Skip scripts folder cleaning if build process native.

Skip creating  postinst prerm scripts  for headers.

* Skip applying headers-debian-byteshift.patch if build native

* Fix architecture syntax as x86_64

* Revert "amd64: allow building amd64 on aarch64 with system toolchain"

This reverts commit 0c5ee20bb1.

* Compare architectures before starting compilation.



Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>

* extensions: cleanups after fixes by the-Going

- packaging:
  - there is _no need_ anymore for the symlink hack, CONFIG_EFI or no. But check is great, see below
  - it's not `amd64` that has no DTB's, it's all UEFI, thus: `is_enabled CONFIG_EFI`, thanks!
- Explicitly disallow "reverse cross compile" in amd64.conf.
- whitespace-only-deletions: revert. we shall shellfmt the whole thing one day, but not today.
- fix a few syntax warnings in newly introduced code (floating `$ARCH` vs `"${ARCH}`) - blame shellcheck

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* packaging: fix: turns out a lot of boards have CONFIG_EFI=y, can't use that for dtb/no-dtb decision.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* grub: remove debug

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* firmware: allow installing `armbian-firmware-full`; make it really full

- can now use `BOARD_FIRMWARE_INSTALL="-full"` to install full firmware for the board. enable for UEFI.
- don't rely on KERNELSOURCE for firmware-related decisions. introduce `INSTALL_ARMBIAN_FIRMWARE` which defaults to `yes`
- rpi4b/flash-kernel: disable Armbian firmware; we need linux-firmware-raspi2, which conflicts.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: log to /${LOG_SUBPATH}/ instead of fixed /debug/

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: introduce cleanup_extension_manager() called by build-all-ng's unset_all()

- to reset/unset everything done by the the initializer, so build can run again

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: remove 'global' logging, for use with build_all_ng

- enable_extensions() will have to live on without logging to file. it's just too early.
- now init EXTENSION_MANAGER_TMP_DIR in initialize_extension_manager()
- now init EXTENSION_MANAGER_LOG_FILE in initialize_extension_manager()

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* extensions: build-all-ng.sh bugfix due to extension's debug to stdout

- extensions (among other things) can produce output to stdout when activated
- fix: check_hash() produced "idential" (sic, now changed to IDENTICAL) to stdout as a trigger
- debugging output got mixed with "idential", rendering hash cache void for families that used extensions
  - eg: sunxi, others
- fix is to send stdout to the bitbucket when sourcing the board & arch config files
- proper fix would be stop using stdout in this case and use return code for check_hash()
  - one day soon

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>

* Add CI build targets

Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
Co-authored-by: The-going <48602507+The-going@users.noreply.github.com>
2021-12-06 09:49:49 +01:00
Igor Pecovnik
956e1acabb Move Docker generation stop hook further into the code to include Toolchains 2021-11-22 21:34:01 +01:00
Ricardo Pardini
4a0da762d5 [PR] dev: enable tracing of functions return trap (#3281)
- via environment variable ARMBIAN_ENABLE_CALL_TRACING=yes

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
2021-11-22 11:06:50 +01:00
Igor Pečovnik
c1b8ab8755 Recreate Docker image on every code change (#3276)
* Add switch for clean Docker image preparation
* Link image to our GitHub repository
* Switch to Github repo
* Minimal variant
* Rename
2021-11-21 09:41:31 +01:00
Igor Pečovnik
2a47ad5c78 Add support for next Ubuntu LTS (#3234)
* Add support for next Ubuntu LTS

* Update build-cache.yml

* Update build-cache.yml

* Update build-cache.yml

* Update build-cache.yml

* Jammy repository creation

* Enable docker build support on Jammy
2021-11-09 18:15:04 +01:00
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