* Add / modify (c) in bash scripts
Signed-off-by: Igor <igor@armbian.com>
* Add (c) to the source config files
---------
Signed-off-by: Igor <igor@armbian.com>
* `meson64-6.1` - rebased patches; 3 were mainlined
- JetHub device was mainlined
- ODROID's hack for pwm1_enable was re-done diffrently in mainline
* `meson64`: switch `current` to `6.0`, `edge` to `6.1-rc8`
* Proposal to create a Community Supported config for Amlogic based
TV Boxes to pickup the work that was done previously by balbes150
but is no longer supported by him.
This also provides a place where development can occure within the
Armbian framework since others on the internet are producing builds
called Armbian that are not done from within the Armbian community.
Changes to be committed:
new file: config/boards/aml-s9xx-box.tvb
modified: config/sources/families/include/meson64_common.inc
modified: config/sources/families/meson-gxl.conf
new file: packages/bsp/aml-s9xx-box/boot/aml_autoscript
new file: packages/bsp/aml-s9xx-box/boot/emmc_autoscript
new file: packages/bsp/aml-s9xx-box/boot/extlinux/extlinux.conf
new file: packages/bsp/aml-s9xx-box/boot/s905_autoscript
new file: packages/bsp/aml-s9xx-box/boot/u-boot-readme.txt
new file: packages/bsp/aml-s9xx-box/boot/u-boot-s905
new file: packages/bsp/aml-s9xx-box/boot/u-boot-s905x-s912
new file: packages/bsp/aml-s9xx-box/boot/u-boot-s905x2-s922
new file: packages/bsp/aml-s9xx-box/root/fstab.template
new file: packages/bsp/aml-s9xx-box/root/install-aml-s905-emmc.sh
new file: packages/bsp/aml-s9xx-box/root/install-aml.sh
* Merge sources
Co-authored-by: Igor <igor@armbian.com>
* Move all legacy u-boot patches under one general legacy folder
* Move 32b Rockchip under 2022.04 and legacy for Miqi
Tested
* Move Rock 3A patch dir under legacy
* Move / merge meson64 patch folder into v2022.07
Merge 2022.04 (mainly Rockchip 32) into 2022.07, tested
* Remove not needed patch
* Add last kernel version to config
* Go back to latest stable u-boot with VIM3L
https://github.com/armbian/build/pull/4251
* Revert "Go back to latest stable u-boot with VIM3L"
This reverts commit 0b240563ef.
* meson64: allow board-specific `BOOTBRANCH`; `khadas-vim3l`: `BOOTBRANCH_BOARD=tag:v2022.04`
Co-authored-by: Ricardo Pardini <ricardo@pardini.net>
* Remove deprecated Odroid XU4 legacy 4.14.y branch
* Clean deprecated kernels from meson64 family
- legacy kernel 4.9 was removed
- current 5.10 was replaced with 5.19
- edge remains on 5.19 until someone bumps it to 6
- patches between 5.11 and 5.18 were removed, 5.10 will be kept for awhile
* Update configs
* meson64-edge/5.19: use `tag:v5.19-rc2`, meson64 kernel config and kernel patches, by @adeepv
* meson64-edge/5.19: we don't need `CONFIG_ARCH_ROCKCHIP=y` for meson64, right?
* meson64-edge/5.19: remove `meson_drv_shutdown` revert patch, instead `CONFIG_DRM_MESON=y` and its dependencies in .config
- this allows other meson64's to shutdown properly, while allowing the N2(+) to reboot without kernel-side hangs
* meson64-edge/5.19: odroidn2(+): remove SD UHS modes patch for ODROID N2(+)
- it works when cold-booted
- but changes voltage to enable
- when rebooted, voltage persists and uboot can't read the SD anymore
- adding the "odroid,reboot" driver+dt that is supposed to fix this, doesn't
- so for now remove it
* meson64-edge/5.19: odroidn2(+): add dumb gpio fan at 30 celsius
- backport from rework in 5.10
* meson64-edge/5.19: odroidhc4: bring back `fan1_input` by adding fan details to DT
- yeah, I know; the cooling map is right there too, so empty, poor thing. for later.
* meson64-edge/5.19: bump to 5.19-rc3
* meson64-edge/5.19: radxa-zero: add patch to remove UHS mode so `wifi` works
- sent by @pyavitz: https://raw.githubusercontent.com/pyavitz/debian-image-builder/feature/patches/amlogic/radxazero/wifi/001-arm64-dts-amlogic-radxa-zero-sdio-card-speed.patch
- tested by @lanefu
* meson64-edge/5.19: bump to 5.19-rc4
* meson64-edge/5.19: bump to 5.19-rc5
* meson64-edge/5.19: bump to 5.19-rc7
* meson64-edge/5.19: bump to 5.19.y branch, which is 5.19.0 right now
* Add kernel config - tested on Odroid N2+
Co-authored-by: Vyacheslav Bocharov <adeep@lexina.in>
Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
Radxa Zero 2 is a small form factor SBC based on the Amlogic A311D
chipset that ships in a number of eMMC configurations:
- Amlogic A311D (Quad A73 + Dual A53) CPU
- 4GB LPDDR4 RAM
- 32/64/128GB eMMC
- Mali G52-MP4 GPU
- HDMI 2.1 output (micro)
- BCM4345 WiFi (2.4/5GHz a/b/g/n/ac) and BT 5.0
- 1x USB 2.0 port - Type C (OTG)
- 1x USB 3.0 port - Type C (Host)
- 1x micro SD Card slot
- 40 Pin GPIO header
Signed-off-by: Yuntian Zhang <yt@radxa.com>
* Bump Meson64 u-boot to 2022.01
Tested VIM boards
* Move Jethub related patches under common meson64 patch collection
* Move jethub patch to per board and remove unneded settings
* 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>
* meson64: bump u-boot to 2021.07, rework patches
- as always based on chewitt's tree, with differences:
- squashed versions of HC4+SATA, Radxa Zero, DT tree sync patches
- so that DTB/config/code changes related to the same feature/board are grouped
- removed documentation changes and Makefile reordering patches
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* meson64: ODROID HC4/N2: simplify/remove board vs family hacks; better SPI support
- thanks to mainline 2021.07 u-boot and it's HC4 config we can remove the conditionals
- boards now define the u-boot vars instead of conditionals in family
- on the HC4, build u-boot twice: one for SD (old C4 config) and one for HC4 (new SATA/SPI config)
- reason is that the HC4 version does not work very well unless it is actually booted from SPI
- meson64_common: don't override UBOOT_TARGET_MAP if board-defined
- but the default UBOOT_TARGET_MAP is still defined if the board didn't
- (sneakily) add lm-sensors fancontrol to the HC4's board packages
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* Bumping EDGE kernel to 5.14.y
Meson64:
- removing Odroid reboot shutdown patch since its probably not needed anymore
Rockchip64:
- removing Rockpi S. No interest to maintain this any further
- removing PBP suspend. Doesn’t align. Need inspection if some other way was mainstreamed
- temporally removing Orangepi R1
* Re-adding rockpis, pbp suspend, HFLPS170 wifi and cleanup
* Removing deprecated patch, fixing ap6256 wifi
* Re-enable Opi R1 plus, untest
* Add and fix Radxa Zero
* 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>
- We really want the u-boot.bin.sd.bin for HC4
- During VIM3L-adding commit, "odroid*c4" was replaced with "odroid-c4" and "odroid-hc4"
- Which is cool but it's actually "odroidc4" and "odroidhc4"
- Add a warning to save future time if no FIP tree decided by SM1 family
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* Bugfix - fancy modesetting seems to be broken on Amlogic GLX series. Reverting to fbdev fixes the problem of desktop not showing up.
* Tested on Vim2
- Armbian already had all the FIP-magic needed, just use it.
- Introduce USE_ODROID_UBOOT with a list of branches that use Odroid's 2015 u-boot
- this is mostly in preparation for non-Odroid G12B/meson64 boards (Khadas VIM3...)
- In case $BRANCH is listed in USE_ODROID_UBOOT:
- use BOOTCONFIG_ODROID and BOOTSCRIPT_ODROID from board.conf
- build 2015 u-boot just like before
- Small hack into boot-meson64.cmd to handle u-boot vs kernel: n2_plus vs n2-plus DTB/FDT naming mismatch
- overrides the default $fdtfile based on $variant
- armbianEnv still has final say if $fdtfile is set there (it isn't for n2/n2plus)
- Extra:
- remove unused n2-mainline bootscript (maybe from a previous try?)
- comments about FIP trees being identical across N2/N2Plus and C4/HC4 families so no future time wastage
- only set CPUMIN/CPUMAX/GOVERNOR in meson64_common.inc if not already set by the board.conf
- Add some ${bootargs} debugging to mainline/default boot-meson64.cmd
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
* 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>
* Bump imx6 edge to 5.12.y
* Bump odroid xu4 edge to 5.12.y
* Bump Jetson nano edge to 5.12.y
* WIP: Bump sunxi to 5.12.y
- create a copy of patches and make a new link
- wireless patches needs adjutement to 5.12
- some patches are still failing
* Adjust wireless patches to build on 5.12.y
* Remove template wireless patch
* Move Espressobin edge to 5.12.y
* Bump mvebu to 5.12
- patch 92-mvebu-gpio-remove-hardcoded-timer-assignment.patch was disabled @heisath
- adjusted wireless driver for 8723ds
* Adjust sunxi / sunxi64 edge to compile
* Fix kernel config for Jetson nano edge
* bump meson64 to 5.12.y
* bump rockchip edge to 5.12.y
* Bump rockchip64 to 5.12.y
* Bump rk322x edge to 5.12.y
@paolosabatino
* Cleanup im6, re-add 5.10.y patches since one is missing in 5.12.y
* Update odroidxu4 edge links
* rk322x: moved rk322x-edge to kernel 5.12, fix overlay compilation, retouched included kernel modules
* Cleanup: remove deprecated config
Co-authored-by: Paolo Sabatino <paolo.sabatino@gmail.com>