Commit Graph

210 Commits

Author SHA1 Message Date
FantasyGmm
2a12c44e7b Odin2 Use Custom ABL, boot from TF Card (#6517)
* Update sm8250: kernel add legacy and edge branch
* Update Odin2:Using a new boot method,boot from sd
2024-04-24 11:10:53 +02:00
Ricardo Pardini
3e4b2d3a03 rk-multimedia-amazingfate: add libv4l-rkmpp and gstreamer1.0-rockchip for desktop builds 2024-04-07 13:21:42 +02:00
Ricardo Pardini
e39839e6a0 extensions: (v3) amazingfated-rk35xx, now rk-multimedia-amazingfate - panfork-free
- simply skips if not on Jammy
- deploys Chromium + Widevine if desktop
2024-04-02 21:10:06 +02:00
Ricardo Pardini
0c76cf03af extensions: mesa-oibaf extension by @monkaBlyat - mainline mesa PPA for Ubuntu
- does nothing on Debian
2024-04-02 21:10:06 +02:00
Ricardo Pardini
1074c969e8 Revert "rockchip-rk3588: it's vendor boogie panthor time (experimental) (#6459)"
This reverts commit 43cf339c6c.
2024-04-02 21:10:06 +02:00
Ricardo Pardini
43cf339c6c rockchip-rk3588: it's vendor boogie panthor time (experimental) (#6459)
* main-config: fix: avoid errors when BRANCH contains a dash; convert to underscore

* rockchip64_common: shellfmt, no changes

* rockchip64_common: move SERIALCON defaulting logic to a (verbose) hook for flexibility

* config: allow to build BRANCHes not listed in KERNEL_TARGET as long as the config is valid

- useful for `collabora` and other experimental kernels, we don't want to have to add it to each individual board's KERNEL_TARGES one by one
- but we don't want to allow typos in BRANCH to emit very strange unrelated errors

* extensions: mesa-oibaf extension by @monkaBlyat - mainline mesa PPA for Ubuntu

- does nothing on Debian

* extensions: (v3) amazingfated-rk35xx, now `rk-multimedia-amazingfate` - panfork-free

- simply skips if not on Jammy
- deploys Chromium + Widevine if desktop

* rockchip-rk3588: introduce `vendor-boogie-panthor` experimental BRANCH/kernel

- original: https://github.com/hbiyik/linux-rockchip.git (branch `rk-6.1-rkr1-panthor-v6`)
- I picked the commits on top of clean armbian/linux-rockchip `6.1-rkr1` as of 2024-04-01
  - At https://github.com/rpardini/armbian-linux-rockchip-rk3588/tree/armbian-rk-6.1-rkr1-plus-boogie-panthor-v6
  - Diff: https://github.com/armbian/linux-rockchip/compare/rk-6.1-rkr1...rpardini:armbian-linux-rockchip-rk3588:armbian-rk-6.1-rkr1-plus-boogie-panthor-v6

- rockchip-rk3588: introduce `boogie-bsp` BRANCH
- rockchip-rk3588: copy linux-rk35xx-vendor.config into linux-rk35xx-boogie-bsp.config
- rockchip-rk3588: update linux-rk35xx-boogie-bsp.config, no changes
- rockchip-rk3588: linux-rk35xx-boogie-bsp.config: `CONFIG_DRM_PANTHOR=m`
- rockchip-rk3588: linux-rk35xx-boogie-bsp.config: convert to defconfig
- rockchip-rk3588: rename to `BRANCH=vendor-boogie-panthor` for "clarity" (lol)
- rockchip-rk3588: vendor-boogie-panthor: force SERIALCON, full firmware (for blob needed for panthor) & mesa-oibaf extension
- rockchip-rk3588: vendor-boogie-panthor: enable amazingfated-rk35xx extension sans-panfork
2024-04-02 20:30:38 +02:00
Igor Pecovnik
ab7e8c5342 Expand predicted size for rootfs for abl type of images 2024-03-13 19:15:26 +01:00
David Andreoletti
a218d13345 uefi-x86: customizable UEFI_GRUB_TERMINAL per board 2024-03-06 01:10:32 +01:00
Igor Pecovnik
c2fe587716 Unifying style of variables 2024-03-03 16:08:04 +01:00
amazingfate
f85ebefb81 extensions: add preset-firstrun to preset configs for rootfs 2024-03-03 16:08:04 +01:00
FantasyGmm
52889b1079 Add ayn odin2 config (#6305) 2024-03-03 07:59:56 +08:00
Rafael
94d4c007d1 Feature lvm support (#6204)
* using the configured volume group name
* added LVM support
* ensuring /boot never on LVM volume, created hook to setup root device
* preparing root device via extension, not assuming any particular partition for root
* using tab spacing
* using global parameter to require a boot partition
* using boot require, moving cryptroot code to extension
* adds crypt image suffix
---------

Co-authored-by: rafael <rvalle@privaz.io>
2024-02-01 20:01:58 +01:00
Rafael
db93db6a4f fixed indentation on cloud-init extension (#6231)
* fixed indentation on cloud-init extension
* indentation
---------

Co-authored-by: rafael <rvalle@privaz.io>
2024-02-01 20:01:17 +01:00
FantasyGmm
582d0e96b9 Add Xiaomi Mi10(umi) support 2024-02-02 00:00:04 +08:00
Rafael
ad9e3a01c0 added cloud-init support (#6205)
* added cloud-init support
* removed compymods, not required for our use case and not available in all distributions
* using space instead of tabs
* added template with typical use-cases and link to docs
* typo
---------
Co-authored-by: rafael <rvalle@privaz.io>
2024-01-30 18:41:29 +01:00
Ricardo Pardini
6beb573425 extensions: image-output-vhdx: add output for dynamic .vhdx (in a zip file, to avoid sparseness errors)
- new VHDX output format (for generic Hyper-V on Windows 10/11/2019/etc)
- it is always stored (no compression) in a .zip file, to avoid sparseness errors
- when building, transfer the .zip file over to Windows, and uncompress it there (not on WSL2 itself/Linux/other machine)
2024-01-14 19:40:33 +01:00
Ricardo Pardini
b14e606570 extensions: image-output-vhd renamed to image-output-vhd-azure
- only Azure wants the static, 1024-aligned original VHD images (and doesnt support VHDX?)
- new VHDX output format (for generic Hyper-V on Windows 10/11/2019/etc)
2024-01-14 19:40:33 +01:00
Ricardo Pardini
c434c3613c core: semantic change, KERNELSOURCE must be explicitly 'none' to avoid kernel compilation (not unset) 2024-01-07 18:58:36 +01:00
Ricardo Pardini
65dcd9e264 [cleanup] extensions: flash-kernel: removed (and a few references to it)
- thanks to Gunjan for replacing it
2023-12-28 13:52:19 +01:00
Gunjan Gupta
58af873a43 Add extension to perform major kernel upgrade for allwinner kernels 2023-12-22 22:02:04 +05:30
Igor
f2e663f087 Improved debootstrap hacking support with fixes for Ubuntu Noble (#6076)
* Remove extension for patching Deboostrap to support Ubuntu Noble
* Integrate Deboostrap patching to the build script
* fix problems related to Noble
2023-12-22 08:04:55 +01:00
Igor Pecovnik
b8cd5dc4fe Add extension for patching Deboostrap to support Ubuntu Noble 2023-12-21 10:54:31 +01:00
Gunjan Gupta
95f12ebfb2 Consolidate uwe5622 wireless settings into an extension 2023-12-21 06:34:59 +05:30
Igor
c5c81a8b58 Move live patch to bsp extension and limit to startup patching (#6017)
* Move live patch to extension
* Move to the board support package and keep only startup patch
2023-12-14 10:36:44 +01:00
Paolo Sabatino
d953ddb1ef better indentation for x.org lima serverflags workaround 2023-12-09 14:19:32 +01:00
Paolo Sabatino
f6baa4c2f2 Use extension for Lima X.Org serverflags
* Remove create_desktop_package.sh for rk3318 board from
   config/optional, clearing the whole directory tree
 * Add an extension to implement serverflags workaround
   for X.Org and Lima driver not being autodetected
 * Fix rk3318-box and rk322x family to use extension in place
   of 40-serverflags.conf bsp file
2023-12-09 14:19:32 +01:00
amazingfate
8289ba7bf4 xiaomi-elish: add slot_suffix arg to kernel cmdline for qbootctl 2023-12-06 23:30:15 +08:00
amazingfate
8342030f2d extensions: abl: add mkbootimg to host dep 2023-12-02 17:31:04 +05:30
Ricardo Pardini
4e37b276d1 bash: run shellfmt, no changes 2023-11-25 13:38:30 +01:00
Gunjan Gupta
c51f412df8 Flash-kernel: Add workaround for broken upgrade 2023-11-22 21:31:07 +05:30
Ricardo Pardini
820472d137 extensions: uefi-edk2-rk3588: deploy edk2 (not u-boot) for rk3588 boards
- this extension is _100% optional_ and shouldn't adversely affect any builds if not enabled
- requires `UEFI_EDK2_BOARD_ID` to be set in board file, so we know which UEFI/edk2 build to use
- it finds the latest edk2 version from GitHub automatically (currently `v0.9.1`)
- it downloads (and caches) the correct edk2 build image automatically
- if forces certain aspects of the image:
  - must use GPT partitioning
  - must NOT use a separate /boot partition
- it _disables_ the building and deploying of u-boot _completely_ (thus blobs etc are from edk2)
- it creates a GPT `"uboot"` partition pointing to edk2's FIT, required by SPL
- this extension:
  - automatically enables 'grub-with-dtb'
  - automatically enable 'initramfs-usb-gadget-ums', to compensate for lack of ums/rockusb since we dont have u-boot anymore
2023-11-19 22:31:33 +01:00
Ricardo Pardini
055d871315 extensions: initramfs-usb-gadget-ums: kernel cmdline enables initramfs UMS of all block devices
- this optional extension adds an initramfs script that:
  - enumerates and filters all block devices
  - exposes each device as an UMS (USB Mass Storage) in an USB Gadget
  - loops forever with info (board never boots)
- the idea here is to compensate for UEFI's lack of "ums" or "rockusb" mode that's present in u-boot
- it also allows to expose USB/NVMe devices that might or not be detected by bootloader, if the kernel works
2023-11-19 22:31:33 +01:00
Kevin Schmidt
72922908c5 Refresh jetson-nano board config. 2023-11-19 22:27:28 +01:00
Ricardo Pardini
ec4803f099 extensions: image-output-vhd: outputs the image in VHD format (for HyperV/Azure) with correct size 2023-11-06 16:17:33 +01:00
amazingfate
ac90826105 qcom-abl: use mkbootimg package to generate abl boot image 2023-10-26 21:17:01 +08:00
Ricardo Pardini
e436bf9e1d image-output-abl: fix shellcheck error 2023-10-26 21:17:01 +08:00
Ricardo Pardini
f5ea983f50 xiaomi-elish / image-output-abl: shellfmt, no changes 2023-10-26 21:17:01 +08:00
amazingfate
43b17bacfc add extension image-output-abl for abl images 2023-10-26 21:17:01 +08:00
Ricardo Pardini
6219927ce9 grub + grub-with-dtb: add back functions removed from mkconfig_lib in recent GRUB versions (2.12)
- this should make `09_linux_with_dtb.sh` work across all RELEASE's, `sid` and `mantic` included
- extra: if `grub-mkconfig` (`update-grub`) fails, show all involved source files
2023-10-13 18:01:17 +02:00
Ricardo Pardini
11df81403d config/lib/exts: run shellfmt
- `bash lib/tools/shellfmt.sh`
- mostly spacing changes that accumulated over time
2023-08-22 14:28:14 +02:00
Gunjan Gupta
1d6a779ed1 Drop HOST OS that doesnot support crust compilation 2023-08-22 13:03:51 +02:00
Ricardo Pardini
24db9fb2ec extensions: image-output-oowow: creates Khadas oowow compatible images
- requires `KHADAS_OOWOW_BOARD_ID` set in board file (see next commit)
- always produces xz-compressed images, so this automatically disables `COMPRESS_OUTPUTIMAGE`
- uses `xze` script from Khadas, forcing `IN` and `OUT` env vars so it's not confused by fd 1
- to use, add `EXT=image-output-oowow` parameter to build
- to get into oowow:
    - VIM3/VIM3L:
        - download oowow SD card image from Khadas:
            - VIM3: https://dl.khadas.com/products/oowow/system/vim3-oowow-latest-sd.img.gz
            - VIM3L: https://dl.khadas.com/products/oowow/system/vim3l-oowow-latest-sd.img.gz
        - write image to SD card, use BalenaEtcher or similar
        - insert SD card into board (and remove NVMe if present and bootable)
        - boot board into Upgrade mode, see https://docs.khadas.com/products/sbc/vim3/install-os/boot-into-upgrade-mode
        - oowow should be running now
        - recommended: go into Advanced and reset to factory defaults, so MCU, PCIe/USB3 etc is reset to defaults
    - VIM4/VIM4N/VIM1S/Edge2: those have oowow in SPI from factory, check out the manual
- there's a few ways to use these images with oowow:
    - Using External media
        - prepare media (USB), format it with ext4 or fat, copy produced oowow.img.xz to it
            - for ease of use, rename the image file, so it begins with the board-id (`vim1s-/vim4-/edge2-` etc)
        - boot board into oowow  (see oowow's manual)
        - insert media into board
        - exit wizard, use "Write image to eMMC", browse to "../"
            - change from "XXXX only" to "All" if you didn't rename the image
        - choose image file and write
        - (remove SD card if using one) and reboot
    - Via network (Ethernet or Wi-Fi)
        - boot board into oowow
        - plug in Ethernet cable or connect to Wi-Fi (see oowow's manual)
        - set the firewall mode to "allow" in oowow's Network Settings (see oowow's manual)
        - obtain the IP address of the board in oowow (usually shown on top of the screen, or see manual)
        - from a remote machine, use curl to upload and write the image to oowow's eMMC, example:
            - `curl -L <ip_address>/shell/write | sh -s - <image_filename>.oowow.img.xz`
        - reboot board
    - From the Internet (one day)
        - when Khadas publishes Armbian oowow images to their HTTP server
2023-08-15 18:53:55 +05:30
Ricardo Pardini
c9b5b7462d u-boot-menu: curb logging, no need to emit warn's here 2023-08-12 10:05:02 +02:00
Ricardo Pardini
c44ed98005 u-boot-menu: allow skipping U_BOOT_FDT even with BOOT_FDT_FILE set, by specifying EXTLINUX_SPECIFIC_FDT=no 2023-08-09 11:20:28 +02:00
Gunjan Gupta
154fdb83f9 Fix cryptroot setup with flash-kernel and ssh unlock on newer dropbear versions 2023-08-02 08:30:27 +02:00
Gunjan Gupta
909fa47b7e Fix caching of cryptroot packages. Also moved the crypt code to extension 2023-07-22 02:18:49 +05:30
Ricardo Pardini
02d428382b u-boot-menu: allow avoid using uInitrd, for when the bootloader requires modern initrd.img 2023-07-12 00:46:56 +02:00
Gunjan Gupta
5b65b6b29f Add openssh-client as a dependency when building with CRYPTROOT 2023-07-09 16:03:53 +05:30
Ricardo Pardini
1c7f2248d5 rkdevflash: don't wait for "Loader" mode after sending spl_loader; show the loop counter
- I thought sending the spl_loader blob puts it into "Loader" mode, but...
- ... turns out "Loader" mode is a separate (rockusb, etc) mode.
- So if in Maskrom mode, just send the loader, and _trust_ it can now WriteLba
- still keeps the timeout, for when a loader is not accepted
2023-07-01 14:50:20 +02:00
Ricardo Pardini
a878f3c93d rkbin-tools: allow using custom rkbin RKBIN_GIT_BRANCH as well as RKBIN_GIT_URL
- notice: the rkbin repo or the bins themselves are not hashed or included in the u-boot version (yet)
- make sure to avoid caching when building with those custom git/branch (`ARTIFACT_IGNORE_CACHE=yes CLEAN_LEVEL=make-uboot`)
2023-07-01 14:49:49 +02:00