-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CM3588-NAS: Go fully mainline by adopting the latest mainline changes from kernel 6.11 and U-Boot v2024.10 #7082
base: main
Are you sure you want to change the base?
Conversation
@ColorfulRhino looks like my U-Boot Will push an updated |
Oh, no worries! Thanks for the heads-up and thanks for your work! I'll wait for the rc3 and change the defconfig name. |
21da635
to
8ac7bf6
Compare
Support for the CM3588 NAS has been added in v2024.10-rc3. Drop vendor U-Boot for this board completely.
8ac7bf6
to
6da2289
Compare
This is now rebased on the latest main branch where #7015 has been merged. |
Since the dts name changed: As far as I know the FDT file location is saved in the board's |
No.
I developed "live patch service", but is not in function. Two options:
|
Thanks! This board does not have a BSP yet (neither does rk3588 unless there's something I don't know yet), so I'd rather not make it more complex. This is only a one time change anyway. I'll update the main post in this PR to make users aware of the change. Edit: done! |
…tallations Existing installations will look for the old dts file. To make migration smoother, add this pointer to the new file. Please edit your `/boot/armbianEnv.txt` as soon as possible, this workaround will be removed in the next kernel version 6.12.
I have added a temprary help for people with existing installations, a pointer from the old dts to the new one, so they can migrate their |
Updated on download pages https://www.armbian.com/nanopc-cm3588-nas/ |
Hey @ColorfulRhino -- what's your opinion on the quality of the mainline DT? I mean, yours had very nice details like gpio line names, exposed pwm8 for buzzer, working USB & OTG, etc. Ref the migration, I think that the board file rename is more impacting than the DT change: the bsp-cli pkg name will change, and existing users won't upgrade to the new pkg name. I personally wouldn't change the board file name right now. |
Thanks! When someone downloads a fresh image, they will not be impacted by this though, since the fresh image (once this is merged and a new image is on the website).
It's good enough and has most things. USB seems to work and your buzzer is also exposed as far as I can see. I don't see any reason not to use it.
Does this mean that with the name change, people won't get the updated kernel? What is shipped with the bsp-cli package? |
No -- with a board name change, the kernel pkg would still be the same. The bsp-cli contains... stuff I wish it didn't... and essentially
Yeah but I see you have an #include based placeholder -- so that should be fine for now.
Indeed. Feel free, I just wanted to point out Armbian's limitations ref package renames. Similar conundrum's happen if we try to change LINUXFAMILY -- that would impact kernel/headers/dtb pkg names and is the reason we have |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cherry picked, built, tested.
Everything works as expected.
Some quality-of-life improvements needed:
- mainline u-boot (24.10-rc3) is defaulting to booting from sd/emmc first than nvme (needs a patch, I think)
- this is really in comparison to the vendor u-boot; the previous mainline u-boot (from t6) didn't boot from nvme at all
- pwm-beeper on pwm8 needs
CONFIG_INPUT_PWM_BEEPER
in kernel config - compared to @ColorfulRhino 's DT, this one loses the cooling map / trip for the pwm-fan -- not a problem
I'll try to send fixes for those, but really in the meantime this is IMHO good to merge.
During testing I've found out that booting the vendor kernel using mainline u-boot doesn't work well. I guess the vendor kernel expects u-boot to do magic that mainline doesn't -- there's no nvme and no network. So I'd make mainline u-boot conditional for now. I was driven to try vendor kernel due to some pcie crazy (nvme2 is detected sometimes, sometimes not). |
What this needs to completion? |
we'll need to rebase around 6.11-rc5 that has a large DT Makefile change that affects our "overlay support" patch. That is not specific to this family, I think every family that has overlays will be affected. Otherwise this is working fine -- can't both enum-pci-in-uboot-and-use-nvme-from-kernel but if booting from eMMC all is fine, at least, that I can detect. @ColorfulRhino do you remember if the vendor u-boot scanned pci / enabled booting from NVMe? Because if it did, then this bump to mainline would break it; otherwise this is good to merge. |
BEFORE UPDATING YOUR CM3588 BOARD
Update procedure after this PR has been merged:
/boot/armbianEnv.txt
: Find the linefdtfile="rockchip/rk3588-nanopc-cm3588-nas.dtb"
and replace this line withfdtfile="rockchip/rk3588-friendlyelec-cm3588-nas.dtb"
, DO NOT REBOOT YETYou only have to do this once, and only on existing installations. New installations and further update will not need any manual intervention.
Description
Important:
edge
kernel from 6.10 to 6.11-rc andcurrent
from 6.8 to 6.10 #7015 and can only be merged after that PR (NEEDS TO BE REBASED FIRST AFTER RK3588 6.11 HAS BEEN MERGED!)Full mainline support for the CM3588 NAS has been added to kernel 6.11 🎉 Make use of this device tree going forward.
In addition, support for mainline U-Boot is also in the pipeline and is available in v2024.10-rc3. Use this as well.
How Has This Been Tested?
edge
: Successful boot without any obvious errors in dmesg with build command./compile.sh BOARD=cm3588-nas BRANCH=edge BUILD_DESKTOP=no BUILD_MINIMAL=no EXPERT=yes KERNEL_CONFIGURE=no RELEASE=trixie
vendor
: Successful boot without any obvious errors in dmesg with build command./compile.sh BOARD=cm3588-nas BRANCH=vendor BUILD_DESKTOP=no BUILD_MINIMAL=no EXPERT=yes KERNEL_CONFIGURE=no RELEASE=trixie
Checklist: