Now that upstream U-Boot has support for building K3 boot artifacts
we can drop using the ti-u-boot fork. Switch to v2025.01 and
adjust file names and add new dependencies as needed.
After that, the script successfully loads the DTB file from
two possible paths and overlays. If the file does not exist,
then the default file will be uploaded.
Use the DTB name from the u-boot default for the third
iteration if the provided DTB name was not found. Also
delete the duplicate of the previous iteration.
In the second iteration, we check the path that does not
contain the vendor folder. But this will also be done if
the real path contains the vendor's folder and the vendor's
name is contained in the DTB file name as
fdtfile=allwinner/sun50i-*-bananapi-*.dtb.
However, overlays will not be available.
Remove "allwinner/" from all board configurations that
use the boot script mechanism so that the script works
correctly.
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
Inform the user about the actual file that will be uploaded
on the first iteration. Inform the user that it cannot be
downloaded only once if the first iteration was unsuccessful.
Set the expected default path to /boot/dtb/allwinner and
start analyzing if the DTB file is not found in this path.
The folder with the vendor's name is now part of the path,
not part of the file name. This greatly facilitates the analysis
of various possible options in a simple u-boot shell.
Device tree files and overlay files are interconnected
and always located in the same place, separated by
the overlay subdirectory.
${fdtdir}/${fdtfile}
${fdtdir}/overlay/${overlay_prefix}-${overlay_file}.dtbo
By default, we are trying to download a dtb file from
the /boot/dtb folder, which is a link to the real folder.
Depending on the time and type of build, this link may
point directly to the target folder or to a subdirectory,
i.e. possible path options:
/boot/dtb/overlay
/boot/dtb/allwinner/overlay
In the file armbianEnv.txt we can also see:
fdtfile=sun8i-*.dtb
or
fdtfile=allwinner/sun8i-*.dtb
Thus, when the user has frozen the kernel and updated
the BSP package, or vice versa, updated only the kernel,
the following options are possible in the paths after
their concatenation in the script:
/boot/dtb/sun8i-*.dtb
/boot/dtb/allwinner/sun8i-*.dtb
/boot/dtb/allwinner/allwinner/sun8i-*.dtb
Define and remember default path variables.
Provide the user with the ability to specify the path
to the target folder as:
fdtdir=/path/to/dir
Check the existence of the dtb file in all reasonable
paths and set the path to it.
If not found, download the default file from the default path.
Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
The "swapaccount=" option has been deprecated in 6.1. Disable it in almost all boot scripts except "boot-sun50iw9.cmd" since that one is used in sun50iw9 legacy kernel, which is version 4.9.
Link to kernel commit:
b25806dcd3
create new boot script free of G12 stuff, using default u-boot load addresses.
La Frite boots from USB as well as eMMC, add ability to get root device via PARTUUID
* meson-s4t7: bump u-boot to khadas-vims-u-boot-2019.01-v1.6-release
* Use khadas default bootargs as much as possible
* Add new hook to allow copying code into kernel
* meson-s4t7: legacy: Switch to 5.15 kernel
* meson-s4t7: add kernel-config for 5.15 kernel
* device tree overlays for 5.15 kernel for vim1s and vim4
* restructure packaging of bsp files for vim1s/vim4
* silence vblank warning on boot
* Remove display workaround as it doesn't work with 5.15 kernel
* Remove 5.4 kernel patches
Khadas's 5.4 kernel has a broken hdmi subsystem that can result into
a monitor not working even if it supports one of the required display
resolution. Hence adding a workaround that will force use of one of
the 3 16x9 resolutions supporting most of the HD-ready, full-HD and
4K monitors.
- sourceaddr `0x40008000` was found in Xunlong's legacy kernel source squashed into a huge commit. Thanks, Xunlong!
- bring `busybox` dependency with inline hook for legacy u-boot "unix2dos" which is essential
'setenv console "display"' in boot-sunxi.cmd & in armbianEnv.txt had the same effect as 'setenv console "both"'.
That was due to a false if-statement in boot-sunxi.cmd:41
Fixed that, so 'setenv console "display"' will not co-enable the serial console anymore.
- sharing most UEFI code, will replace the `virtual` one soon
- x86: patch uboot defconfig to use the `q35` machine type, not `i440fx`
- separate x86 bootscript, due to non-uInitrd-ness of it
- hack ramdisk load address both in u-boot source and bootscript
- use 32-bit u-boot, not 64-bit
- grub: introduce `UEFI_GRUB=skip`, does not deploy GRUB (but does the kernel packages, etc)
- auto-enable qcow2 output for these
- works with both distro's and Armbian's kernels
* `odroidm1`.wip: hk's `legacy`= 4.19 and `edge`= mainline+tobetter's 5.19 rebased; *requires* `skip_spiboot=true`
- @TODO: family/etc naming is terrible with vendor kernels. Sorry. Fight over it and let me know?
- @TODO: config is very probably incomplete.
- new `boot-rockchip64-vendor.cmd`:
- does not use fixed load_addr, instead use ramdisk_addr_r for everything
- load kernel and initrd as late as possible
- look for overlays twice:
- once: with prefix and folder
- twice: without prefix, nor folder; helps with vendor provided overlays like hk's and tobetter's
- wip: edge: tobetter's patchset rebased against 5.19.3
- wip: edge: bump to tobetter's 5.19
- legacy: .config `CONFIG_ARM64_VA_BITS_48=y`
- wip m1: update legacy config from odroid
- odroidm1: container/bpf stuff in legacy config
* Update configs and enable beta build target
* Adjust current kernel
* Update targets
* Remove everything but EDGE kernel
* Cleanup
* Fix
Co-authored-by: Ricardo Pardini <ricardo@pardini.net>
* Add plymouth-theme-armbian package
* Adjust all bootscripts to adapt plymouth
* Auto show logo accroding to BOOT_LOGO
* Enable plymouth detail mode when bootlogo=false
* Add a new board config var - HAS_VIDEO_OUTPUT
This var is used to indicate whether device has a HW video output.
If it's set to "no", we will disable kernel bootsplash, plymouth and BUILD_DESKTOP
* Rename package to be aligned with others
* Disable kernel bootloader, but keep the code for it
* Rather keep bootlogo in the kernel for a while, otherwise kernel upgrade will turn bootup into the darkness
Co-authored-by: Igor Pečovnik <igorpecovnik@users.noreply.github.com>
Co-authored-by: Igor <igor@armbian.com>