-
-
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
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. |
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! |
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. |
Sorry for the delay. I will rebase this onto 6.12 and the latest U-Boot and test NVME and ethernet with the vendor kernel. |
Also add temporary compatibility patch for existing installations, since existing installations will look for the old dts file. To make migration smoother, add a pointer to the new file by including the new dts in the old one. For migration: Please edit your `/boot/armbianEnv.txt` as soon as possible to use BOOT_FDT_FILE="rockchip/rk3588-friendlyelec-cm3588-nas.dtb"! This workaround will be removed in kernel version 6.14!
Support for the CM3588 NAS has been added in v2024.10-rc3. Drop vendor U-Boot for this board completely.
ff3f623
to
a86e982
Compare
I did various testing with U-Boot 2024.10 in combination with the vendor kernel, as well as other combinations. My findings:
To sum up, booting from NVMe on the vendor kernel works. You just can't stop the boot process and do a
Booting from SD/emmc first is a good thing, since e.g. if you moved your main install to your NVMe SSD, it will boot from there. But if you want to test a new image, you can insert the SD card or flash the eMMC without touching or having to physically remove the NVMe drive.
Is already enable, I checked. This is ready to merge now, no need to wait for 6.12 since I have included the neccessary board patches in the 6.12 PR #7372 Thanks for your patience! |
Hi Devs, is there a way to get a realse for a fresh install not upgrade? Sorry, my question may be stupid but I am a noob |
Once job is done here and code merged, install images are generated once per week: If you need it faster, or different style as offered for download, you need to build on your own: |
Hi, I tried the image provided here[1] but it doesn't detect my SSD on the first M.2 slot.
|
Hello, your issue is not related to this PR. One NVMe is detected in your log. If you have two, maybe you've got one bad SSD. |
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 YETapt remove armbian-bsp-cli-nanopc-cm3588-nas*
andapt install armbian-bsp-cli-cm3588-nas-(current/vendor/edge depending on which kernel you use)
You 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: