Commit Graph

35 Commits

Author SHA1 Message Date
Vyacheslav
d4a7b7f03e
Move JetHub D1/H1 to supported boards, reenable, add watchdog (#3357)
* JetHome: move JetHub D1/H1 to supported
* JetHome: add watchdog package to base system
* JetHome: reenable beta builds for JetHub D1/H1
2021-12-18 09:28:24 +01:00
Igor Pecovnik
3d563c1e66
Temporally disabling broken nightly image build due to a bug
@adeepn

https://armbian.atlassian.net/browse/AR-1027
2021-12-12 22:35:26 +01:00
Igor Pecovnik
bddce2c432
Two small bug fixes
- disabling samba on desktop builds since it delays 1st login and throws out an error in case we have no network (laptop usage)
- disabling broken build target
2021-12-06 15:55:16 +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 Pečovnik
c666d285b4
Adjust build targets (#3262)
* Enable Jammy nigly builds

* Add Jethub H1 and D1 to stable
2021-11-16 19:51:40 +01:00
Igor Pecovnik
c274f40834
Adjust build targets 2021-11-14 22:13:42 +01:00
Igor Pečovnik
c10cf6edb7
Rename Rockpi 3a to wip and enable nightly builds (#3252) 2021-11-14 21:22:02 +01:00
Igor Pecovnik
e4f36d00fd
Temporally disable Helios64 from CI due to broken bootloader 2021-11-12 20:36:06 +01:00
Vyacheslav
3c4b69650e
Add support for JetHome JetHub D1/H1 home automation controllers (#3176)
* JetHome: add basic files for JetHub D1/H1 boards

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: add uboot patches

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: add kernel patches for JetHub D1/H1 (backport from 5.16-dt kernel)

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: add bsp packages for JetHub D1/H1

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: add kernel options for hardware JetHub D1/H1

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: fix targets-cli-beta.conf for JetHub D1/H1

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>

* JetHome: add axg uboot creation function for JetHub D1

Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>
2021-10-19 21:05:36 +02:00
Igor Pečovnik
085fc8ea39
Decreasing number of nightly builds (#3204)
* Decresing number of nightly builds

Lets keep in only a few where its likely to have relevant changes in kernel

* Clean also beta desktop builds
2021-10-18 18:20:51 +02:00
Igor Pečovnik
abbe87a450
Add Radxa Zero initial support (#3128)
* Add support for Radxa Zero

u-boot: new patch based on v2021.04
kernel: use patches sent to kernel list by chewitt

Tested with minimal build and cinnamon desktop:
- SD/eMMC, ok
- USB3, works in USB 2 mode
- HDMI, ok
- WiFi/BT, ok

Signed-off-by: Jack Ma <jack@radxa.com>

* Add build targets

* Cleanup and set min speed to 666000

* Change to WIP target

Support status undetermined

Co-authored-by: Jack Ma <jack@radxa.com>
2021-09-08 17:50:05 +02:00
Igor Pečovnik
86051a8e9d
Add Khadas Vim3 to nightly build target 2021-08-09 17:15:52 +02:00
Igor Pečovnik
18e7bef68e
Adjust build targets (#3002)
* Adjust build targets

* Update targets

* Update build images

- enabling 3d
- adding budgie

* Remove unneded targets

* Update CLI targets

* Spaces
2021-07-17 18:05:31 +02:00
Oleg
041c24a8a7
edit image jetson-nano (#3012) 2021-07-16 11:26:34 +02:00
lanefu
7db55b893c
tinker-2 beta cli 2021-07-15 22:58:23 -04:00
lanefu
8c09e1fa93
khadas support (#2903)
* cleanup add vim3l

* Add Khadas edge config

* Add Khadas edge sources definitions. It boots

* Change configuration to maximised model

* Adjust build configs

* witch to case statement for meson x11 config

* push vim1 naming

* Booting VIM2 with khadas prebuild u-boot

Can load from an empty eMMC, can be installed to eMMC via nand-sata-install

* Add Vim1 and move 1 and 2 to supported. VIM1 is not tested yet.

* Enable full featured desktop with 3D for khadas vim 1 and vim2

* Update meson64_common.inc

Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
2021-07-05 21:05:43 +02:00
Igor Pečovnik
eaebd3c7ff
Removing a few build targets that are not that urgent (#2961) 2021-07-03 22:36:56 +02:00
Igor Pecovnik
692717102b Revert "Jetson legacy kernel building have issues on Hirsute. Disabling it for now."
This reverts commit 13e3c34523.
2021-06-30 13:55:37 +02:00
Igor Pecovnik
13e3c34523 Jetson legacy kernel building have issues on Hirsute. Disabling it for now. 2021-06-16 08:30:46 +02:00
Igor Pečovnik
d3d4f050e4
Add ZRAM to Jetson Nano legacy (#2899)
* Add ZRAM and few other networking related options to Jetson nano legacy kernel config

* Enable legacy desktop build for jetson-nano

* Enable nightly legacy kernel build

* space
2021-06-16 00:56:56 +02:00
Igor Pecovnik
7d9a5f7eb4 Clenup build targets 2021-06-13 18:15:23 +02:00
Igor Pečovnik
17b3da0a44
Fix mainline kernel boot on Rockpi S (#2823)
https://armbian.atlassian.net/browse/AR-785
2021-06-10 11:58:00 +02:00
Igor Pečovnik
b087cfb6b3
Enable virtual ARM64 nightly builds for qemu (#2875)
* Enable Virtual qemu build targets
* Bugfix - saving build number is being overwritten before saved
* Remove stable builds, not needed
* Update kernel config, enable current instead of edge
2021-06-05 08:49:25 +02:00
Igor Pecovnik
e46a6a5ef6 Typo - fixing wrong board name 2021-05-13 08:46:31 +02:00
Igor Pecovnik
dd12df4cac Add Orangepi R1+ to the build targets 2021-04-15 14:19:01 +00:00
Igor Pečovnik
f0b5264317
Re-create edge branch for imx6 (#2751)
* Re-create edge branch for imx6
* Add build target

Edge was not tested on HW yet.
2021-04-12 23:56:53 +02:00
Igor Pečovnik
b46f603355
Improvements for Jetson Nano (#2752)
* Further improvements

- merge general config options
- add edge branch with 5.11.y
- enabled zram
- verified docker dependencies

* Enabled EDGE CLI target
2021-04-12 22:33:27 +02:00
Igor Pecovnik
269f1344d1 Update CLI beta targets 2021-04-02 07:03:05 +00:00
Igor Pecovnik
76c06deb24 Add sunxi upstream patches and adjust CLI beta target DEV -> EDGE 2021-03-24 20:24:33 +01:00
Igor Pečovnik
0cdffb29b0
Renaming DEV branch to EDGE (#2704)
* Change DEV to EDGE
* Renaming patches dev folder to edge
* Move patches into subdir where they will be archived.
* Relink patch directories properly
2021-03-24 19:01:53 +01:00
Igor Pecovnik
06a864a39c Change CLI nightly targets to DEV(edge to be) kernel 2021-03-15 01:20:46 +00:00
Richard Neese
dbe64f1939
Update targets-cli-beta.conf (#2718)
adding in a focal build for dev work
2021-03-15 00:29:39 +01:00
Igor Pecovnik
11cc8cb5b0 Bugfix on build targets
Multiple building doesn't like targets that have the same name
2021-03-14 15:07:12 +01:00
Igor Pecovnik
3d8e537a48 Enable Odroid HC4 legacy beta target 2021-03-02 23:49:12 +01: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