Commit Graph

153 Commits

Author SHA1 Message Date
Igor Pečovnik
026e9e49fc
Fix wallpapers and icons (#3384)
* Fix desktop wallpaper on Plasma and Deepin

- plasma - add script to default to armbian
  todo: autostart

* Fix wallpaper on Mate, set it as supported

* Fix icons on Mate desktop

* Disable script for setting wallpaper. We need better solution ...
2022-01-08 09:59:19 +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
261b91b0a8
Add box64 package from 3rd party repository (#3265)
* Add box64 package from 3rd party repository
2021-12-05 09:10:11 +01:00
Igor Pecovnik
c8d05b2a71
Additional APT sources URL should not have https by default 2021-11-16 06:44:30 +01:00
Igor Pečovnik
738975ad56
A day of building and finding troubles in desktop builds (#3259) 2021-11-15 23:30:07 +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
Igor Pečovnik
60e6adcc3a
Fix missing packages in Ubuntu impish (#3198) 2021-10-15 00:03:31 +02:00
Richard Neese
f15303b9c9
adding cinnamon to buster builds (#3074) 2021-10-14 20:12:23 +02:00
Richard Neese
f90bd10622
added 2 pkgs for monitoring system temp and other sensors (#3136)
* added 2 pkgs for monitoring system temp and other sensors

* fix typo
2021-10-09 23:38:08 +02:00
Igor Pečovnik
4caf0df095
Enable userspace virtual filesystem with gvfs-backends (#3134) 2021-09-09 22:57:13 +02:00
Igor Pečovnik
2f9c672b69
Add xarchiver to all desktop variants (#3132) 2021-09-09 22:50:28 +02:00
Igor Pečovnik
0db8c1bc63
Remove few packages from Budgie desktop to make it slimmer (#3109)
Removing fonts which seems not to play any role in functioning. Terminator font was reinstalled / checked and its all fine. Tested Focal / Hirsute.
2021-08-24 10:30:09 +02:00
Igor Pecovnik
3acc7c0f90
Typo - missing single quote in Budgie desktop wallpaper setting 2021-08-22 20:02:25 +02:00
Igor Pečovnik
ae5ec3145c
Enable 3D on remaining desktop builds and other desktop tweaks (#3104)
* Adjust build targets

* Adjust spaces and enable 3d on remaining target

* Remove scrcpy and tracker-extract in non gnome based desktops
2021-08-21 11:17:00 +02:00
Richard Neese
131d052489
rolled budgie login and desktop back to old imgs (#3095) 2021-08-21 10:43:12 +02:00
Richard Neese
a3f09b90be
removed srccpy from xfce (#3096) 2021-08-21 10:08:38 +02:00
Richard Neese
bca368dc2c
Fix the buster xfce to have old desktop background (#3093) 2021-08-12 20:14:41 +02:00
Igor Pečovnik
91457ff216
Adjusting Cinnamon back to stock graphics (#3094)
- removing tracker-extract since its crashing and is anyway useless tool
- adjusting text to meet the real meaning
2021-08-12 20:14:29 +02:00
Richard Neese
b354ede7e2
revert xcfe to old look (#3090)
* revert xcfe to old look

* fix login screen xfce old look

* Re-add monitorVirtual-1

* There is not such icon

Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
2021-08-11 23:03:35 +02:00
Richard Neese
9c45885554
added packages to remove that dont need to be installed (#3080)
* added packages to remove that dont need to be installed

removed gnome-software and snapd snap store.

* remove package not to be installed in builds

remove scrcpy whic installs jre nto to be installed due to resources
2021-08-08 20:16:56 +02:00
Richard Neese
ad2606dbbb
This corrects the theme issue on xfce to NumixBlue (#3077) 2021-08-04 00:46:41 +02:00
Igor Pečovnik
43d179914a
Disable support status for Buster Gnome
If supported, caches are going to be made, while it also needs some fine tuning which is set for after 21.08 @RichNeese
2021-07-31 09:11:38 +02:00
Richard Neese
9b87f6ecc8
Requested to rm 1 package (#3070)
removed a package on igor request
2021-07-29 17:06:21 +02:00
Igor Pecovnik
02e0deb23d Removing duplicates in packages and bumping with a rootfs cache id 2021-07-27 12:57:33 +02:00
Igor Pečovnik
60f7a32728
Move packages each into a separate line to make lists cleaner. Remove duplicates and sort them alphabetically (#3063)
cat packages | tr ' ' '\n' | sed '/^\s*$/d' | uniq | sort
2021-07-26 20:26:40 +02:00
Richard Neese
e3ebc15275
added enlightenment to the focal csc builds for low end devices (#3053) 2021-07-26 19:38:01 +02:00
Richard Neese
de8174021d
fix missing networking package on xfce ubuntu (#3061) 2021-07-26 19:37:33 +02:00
Richard Neese
709ac42022
updated buster to fix build for proper package list (#3062) 2021-07-26 19:37:14 +02:00
Igor Pecovnik
d71c4e75f5 Reverting package changes in Buster XFCE since it breaks Bullseye XFCE
8feb39511a

Reading package lists...
E: Package 'libappindicator3-1' has no installation candidate
E: Package 'gir1.2-appindicator3-0.1' has no installation candidate
Building dependency tree...[ error ] ERROR in function create_rootfs_cache [ debootstrap.sh:311 ]

Manual testing assembling om:
- Debian Buster XFCE
- Debian Bullseye XFCE
- Debian SID XFCE
after revert to make sure everything works.
10 rootfs cache files are recreated and redistributed to the CDN due to this change so it is important that we don't make a bug here.
2021-07-24 10:36:28 +02:00
Rich
f4dcb7c4d4 fixed a typo i had a \ that was not needed 2021-07-22 19:38:11 -04:00
Rich
8feb39511a fixed buster xfce build to match updated builds removed packages that debian does not support 2021-07-22 19:38:11 -04:00
Richard Neese
2cf3d5c2f8
remove 2 pkgs making images to big (#3038) 2021-07-21 08:07:21 +02:00
Richard Neese
34901d83b6
Deepin update (#3026)
* fixed a typo in budgie in the create-desktop.sh

mkdir -o to mkdir -p to fix making a dir

* updating deepin to current build status

* updated package list for new packages
2021-07-17 21:52:09 +02:00
Richard Neese
b6dd6b5281
Fixing issues in Gnome wallpapers (#3025)
* fixed a typo in budgie in the create-desktop.sh

mkdir -o to mkdir -p to fix making a dir

* fixing walpapers on gnome build

fixing issue ar-855 gnome wallpapers not getting ut inplace
2021-07-17 16:30:47 +02:00
Richard Neese
f0f570f222
uninstall gdm3 so kde-plasma loads up with lightdm (#3021) 2021-07-16 17:02:28 +02:00
Richard Neese
e6d6acf770
Merge pull request #3020 from RichNeese/budgie-fonts
budgie fonts
2021-07-16 10:14:22 -04:00
Rich
b0492972b4 mate update work 2021-07-16 09:49:48 -04:00
Rich
6b68ec004a budgie fonts 2021-07-16 09:49:27 -04:00
Rich
5827eb5756 working on mate desktop update to bring onpar with other desktops 2021-07-16 06:41:05 -04:00
Rich
026d37b10a added missing noto fonts 2021-07-15 12:28:01 -04:00
Igor Pecovnik
02a2f88b21 Bugfix - place proper link for kde-plasma on hirsute 2021-07-15 14:47:46 +02:00
Richard Neese
a8741c18a0
Merge pull request #3014 from RichNeese/link-kde-to-hirute
linking kde from focal to hirsute
2021-07-15 07:48:41 -04:00
Rich
1ca5bfae58 linking kde from focal to hirsute 2021-07-15 07:47:48 -04:00
Richard Neese
000bf7396c
Merge pull request #3013 from RichNeese/kde-cleaning
update kde-plasma for testing
2021-07-15 07:42:13 -04:00
Rich
8eb8e65737 update kde-plasma for testing 2021-07-15 07:41:17 -04:00
Richard Neese
8000c0cd78
Merge pull request #3009 from RichNeese/budgie-fix
Budgie fix
2021-07-14 13:13:18 -04:00
Rich
520da8e074 fixing apps browser chromium 2021-07-14 13:08:59 -04:00
Rich
f14cd0a6cd fixing chromium install issue 2021-07-14 11:17:21 -04:00
Igor Pečovnik
a7e16da2ce
Add Ubuntu Impish (#3006) 2021-07-14 08:45:30 +02:00
Rich
0f4ee72883 fix typo... 2021-07-13 19:37:01 -04:00