Commit Graph

162 Commits

Author SHA1 Message Date
hzyitc
0cf80ac45d
Bugfix: overwrite install.log (#4059) 2022-08-12 14:30:31 +02:00
hzyitc
218c7c4918
Allow copying bootscript when BOOTCONFIG=none (#4056) 2022-08-10 09:01:45 +02:00
Igor Pečovnik
21fc940aaf
Several small bug fixes mainly outside supported areas (#4032)
* - disable few targets
- update unsupported kernel config
- bugfix on dtb install
- bugfix in download engine

* - fix broken compilation
- move onecloud to eos
2022-07-31 10:34:48 +02:00
Oleg
fe5c5c5c78
fix install repo station-p2 current (#4028) 2022-07-30 13:53:33 +02:00
Igor Velkov
a1acdc95de
Move locale preparation and set from rootfs to image customization (#3856) 2022-06-07 20:40:50 +02:00
Oleg
c7adcd2671
fix install packages dtb (#3793) 2022-05-20 10:41:24 +02:00
Igor Pečovnik
d971b805d4
Improving repository switch to beta (#3738) 2022-05-03 08:31:33 +02:00
Przemysław Sztoch
13b1fdb081
Fix for rsyslog.conf and for SRC_EXTLINUX=yes with BOOTFS_TYPE=... (#3673)
* Better manifest and fix for rsyslog.conf

Commit info about builder
Somebody does not use rsyslog...

* Bug fix for SRC_EXTLINUX=yes with BOOTFS_TYPE=...
2022-04-24 22:36:24 +02:00
Paolo Sabatino
e8e94a7541 provide led state save and restore functionality scripts and service 2022-04-23 14:08:03 +02:00
Igor Pečovnik
db408b61c4
Purge bionic, impish, hirsute, stretch (#3600)
* Purge bionic, impish, hirsute, stretch

- up jammy to supported (will be soon anyway)

* Change recommended build env to Jammy
2022-04-05 16:19:51 +02:00
Oleg
a3fd209abe
fix extlinux.conf (#3468) 2022-02-10 15:02:09 +01:00
Oleg
e7267c3fee
new module list generation function for Initramfs (#3447)
* new module list generation function for Initramfs

* fix

Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
2022-02-02 10:50:50 +01:00
Oleg
365c5b6e4a
fix start Jetson Nano kernel legacy USB media (#3452) 2022-02-02 10:49:20 +01:00
Igor Pecovnik
e7962bb2b5
Bugfix - cleaning package list
Prevent problems with "File has unexpected size" when we hit repo synch between builds
2022-01-23 11:15:18 +01:00
Igor Pečovnik
310495ddf1
Refactor armbian-bsp-cli package creation (#3378)
* Refactor armbian-bsp-cli package creation

- added general distro status for all in separate file inside BSP
- remove branch and distro specifics

* Looking for prebuild pack

* Small fixes
2022-01-06 11:50:24 +01:00
Igor Pečovnik
e76a5b0bfe
Improve fist login UX (#3375)
* Improve 1st login script

* Update packages/bsp/common/usr/lib/armbian/armbian-firstlogin

Co-authored-by: Manuel Rüger <manuel@rueg.eu>

* Address accessibility issue

Co-authored-by: Manuel Rüger <manuel@rueg.eu>
2022-01-05 17:55:10 +01:00
Igor Pečovnik
450043a212
Mitigate Samba NetBios timeouts (#3328) 2021-12-07 20:13:03 +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
2d418d2561 amd64: fixes for REPOSITORY_INSTALL scenario, don't disable amd64 repo
- now we have proper amd64 repo published!, remove disable
- amd64 does not have dtb package anymore, don't try to install it from repo

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
2021-12-06 12:50:21 +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
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
Ricardo Pardini
bd3609b4d1
fix security repo for bullseye (#3226)
* fix security repo for bullseye

- with bullseye, comes a security repo layout change
- see https://www.debian.org/releases/bullseye/arm64/release-notes/ch-information.en.html#security-archive

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

* debian: fix source lists for bullseye+ and sid; remove previous fix

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
2021-10-26 08:54:48 +02:00
Ricardo Pardini
39c1f5a6a9
avoid getting 'unknown' TERM via serial getty (#3225)
- Escape $TERM, this is meant to be resolved at runtime and not in armbian/build's context
- This was very hard to track down, if building manually $TERM is actually valid (builder's $TERM)
- When building without a tty this shows up as "unknown"

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
2021-10-26 08:51:22 +02:00
lanefu
894cb29ca7
Feature/get_log_path/ (#3064)
* custom log path of debug/ via LOG_SUBPATH=
2021-07-27 07:24:06 -04:00
Igor Pečovnik
a7e16da2ce
Add Ubuntu Impish (#3006) 2021-07-14 08:45:30 +02:00
Igor Pečovnik
9249d3f954
Add support for desktop board support package (#2972)
* Add support for desktop board support package

Extracting from https://github.com/armbian/build/pull/2776 which can be closed after.
* Desktop BSP creation is working, but need broader testing and some quick how-to
* Create empty files as examples where we can put things.
* Fixing Pinebook desktop bsp creation
* We need to have information about ARCH in the desktop bsp package. This ain't universal.
2021-07-06 00:59:50 +02:00
Igor Pečovnik
1f2e97febf
Remove Ubuntu Groovy from codebase (#2952) 2021-07-03 21:58:08 +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
Aristo Chen
78894792a5
Update URLs (#2870)
* Update URLs

* Update URLs

* Update URLs
2021-06-10 11:27:51 +02:00
The-going
8f1fb2e2be
Packaging (#2844)
* New build kernel if version ge 5.12

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

* Rename packagename for kernel in the armbian style

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

* Fix depends pkg for build linux-*

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

* Fixed version search by Source field

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

* Fix postinst, prerm scripts for headers pkg

Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
2021-05-22 17:01:29 +02:00
Przemysław Sztoch
486a821a55
VENDOR, rock-pi-n10, RM_LIST for armbian-config/zsh, Static MAC for networkd (#2789)
* VENDOR, rock-pi-n10, RM_LIST for armbian-config/zsh

VENDOR parameter in configuration
zsh is the best of course...
Static MAC for networkd

ROCK Pi N10 (Radxa) - Initial support, knwon bugs:
- Problem with poweroff (kernel panic).
- DeviceTree is not fully verified, I suspect missing and unnecessary
entries.
- No support for NPU
- u-boot without NVME support
- I have doubts if I chose the right preboot loader for RK3399Pro, NPU
  and installed DDR memory.

* New RK3399Pro boot preloaders.

* rootfs checksum, DEBOOTSTRAP_LIST fix, output.log fix

Repaired checksum for rootfs
Added use PACKAGE_LIST_RM to purge DEBOOTSTRAP_LIST
Better logging to output.log
Fix for new host distribution detection (ie Debian Bullseye).
ubootdebs as new cleaning option
2021-05-11 21:50:14 +02:00
Igor Pecovnik
c7f5a1920b Bugfix - moving mpv from CLI BSP package 2021-05-07 19:50:30 +02:00
Igor Pečovnik
780d07ea79
Renaming the BSP package to armbian-bsp (#2779)
* Renaming the BSP package to armbian-bsp

Extracted from https://github.com/armbian/build/pull/2776

* Update naming

* Create meta package for upgrade and remove deprecated mpv related config management

* Probably we want to keep our internal release version in filename
2021-04-18 22:03:53 +02:00
Oleg
e275961be4
fix extlinux.conf for u-boot dtb and add arm32 (#2766) 2021-04-13 10:16:42 +02:00
Przemyslaw Sztoch
738996ea33 Better user path config and support for etworkd
add user path for configuration scan
check for NetworkManager/networkd
support for bullseye

(i.e. path: config/cli and files: packages, packages.remove)
2021-04-09 10:27:52 +02:00
Oleg
71dc41f0ba
add extlinux.conf (#2722)
* add extlinux.conf

* - make sure armbianEnv is not added - we don't need variables for NAME_KERNEL and NAME_INITRD. This is not going to change - also MAIN_CMDLINE could at least be renamed so its clear to belong to EXT configuration. Elsewhere this doesn't apply since we have boot scripts

Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
2021-03-18 16:57:45 +01:00
Sebastian Fricke
898e25294c
lib: distributions.sh: fix typo (#2696)
s/deamon/daemon/

Signed-off-by: Sebastian Fricke <sebastian.fricke@posteo.net>
2021-03-07 20:02:50 +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
Igor Pečovnik
315ca731f0
Fix shell selection bug in Bionic version (#2573) 2021-01-22 12:54:39 +01:00
Igor Pečovnik
5f350de697
Clean more Canonical services (#2563) 2021-01-19 23:23:47 +01:00
Igor Pecovnik
79b790cf72 Revert "Improve apt-update process when using precached rootfs"
This reverts commit 21a4b33218.
2021-01-05 00:17:17 +01:00
Igor Pecovnik
21a4b33218 Improve apt-update process when using precached rootfs 2021-01-02 13:40:05 +01:00
Igor Pečovnik
a4f315c72d
Add support for ZSH / TMUX / oh-my-zsh (#2478)
* Add support for ZSH / TMUX / oh-my-zsh

* Selecting default shell at 1st run

* Install ZSH by default except on minimal image

* Lets rather create armbian-zsh package

* - fix remaining ZSH problems
- add systemd timer to remove default desktop autologin feature
- change DESKTOP_AUTOLOGIN to disabled by default

* Few small improvements

* Oneliner for revering all users back to BASH if package is uninstalled

* Properly escape variables

* Fixing chmod

* More cryptic awk magic to fix permissions for all normal users that are getting zsh magic
2020-12-21 00:44:22 +01:00
jmue
2152a4eb5a
fix /etc/hosts for full qualified hostname (#2482)
Signed-off-by: Jens Mueller <tschenser@gmx.de>
2020-12-20 23:28:38 +01:00
Piotr Szczepanik
08396474b2
Removed the graphical.target dependency from getty services (#2481)
Reverts the effects of #2436 which effectively disabled serial console
2020-12-19 19:25:14 +01:00
Igor Pečovnik
7907a502a3
The directive After=graphical.target needs to be in the [Unit] section instead of the [Service]section. (#2436) 2020-12-10 16:14:23 +01:00
Igor Pečovnik
27f7106667
Clean ubuntu motd stuff (#2406) 2020-12-10 12:03:50 +01:00
Piotr Szczepanik
b8af894293
Fixed update-initramfs optimisation for ubuntu targets (#2348) 2020-11-15 15:45:22 +01:00
Igor Pecovnik
fadcab17a8 Cosmetic bugfix 2020-11-15 13:28:38 +01:00