Hello All,
Has anyone had any luck getting Fedora 28 to work on the Odroid C2?
I've tried downloading the Fedora 28 Server aarch.raw.xz image which i put onto my sd card. I then moved the Archlinux aarch64 boot parition into boot along with the lib/modules and lib/firmware folders from Archlinux. This has been to no avail. I'm working on building the hardkernel kernel myself now but have never actually compiled a kernel myself so I'm not sure what I fully need to get the Fedora rootfs to boot with the kernel.
If anyone has some guidance or a nice writeup on getting a bootable kernel recognized by Fedora on the Odroid C2 that would be greatly appreciated.
Hi,
On 07/08/2018 12:49 AM, Dr. Zenzic wrote:
Hello All,
Has anyone had any luck getting Fedora 28 to work on the Odroid C2?
I've tried downloading the Fedora 28 Server aarch.raw.xz image which i put onto my sd card. I then moved the Archlinux aarch64 boot parition into boot along with the lib/modules and lib/firmware folders from Archlinux. This has been to no avail. I'm working on building the hardkernel kernel myself now but have never actually compiled a kernel myself so I'm not sure what I fully need to get the Fedora rootfs to boot with the kernel.
If anyone has some guidance or a nice writeup on getting a bootable kernel recognized by Fedora on the Odroid C2 that would be greatly appreciated.
C2 supports KVM, in my local setup I run vanilla Ubuntu in KVM on top of crippled C2-specific Ubuntu. I guess Fedora may be run the same way. I can dig up setup scripts, if such config is an option for you.
On Sat, Jul 7, 2018 at 10:49 PM, Dr. Zenzic dr.zenzic@gmail.com wrote:
Hello All,
Has anyone had any luck getting Fedora 28 to work on the Odroid C2?
I've had a number of reports it works just fine. I don't have a device based on the same chipset to be able to confirm this though.
I've tried downloading the Fedora 28 Server aarch.raw.xz image which i put onto my sd card. I then moved the Archlinux aarch64 boot parition into boot along with the lib/modules and lib/firmware folders from Archlinux. This has been to no avail. I'm working on building the hardkernel kernel myself now but have never actually compiled a kernel myself so I'm not sure what I fully need to get the Fedora rootfs to boot with the kernel.
The Fedora kernel should work just fine so I have no idea why you would even do anything you've attempted above.
If anyone has some guidance or a nice writeup on getting a bootable kernel recognized by Fedora on the Odroid C2 that would be greatly appreciated.
The only thing you should have to do is deal with the U-Boot side of things, I believe that there's a need for a signed binary blob for the early part of u-boot and you can use that in combination with the Fedora build u-boot bit to boot the device but I've not got the exact details. You shouldn't have to modify the kernel except possibly if you want accelerated graphics but given you mention the Server image I suspect that's not the case.
Peter
Please excuse my ignorance as I'm really an HPC researcher working on building a small odroid-c2 cluster for parallel scaling research.
You're correct that the kernel should be working out of the box and I don't believe that is my issue. It seems that u-boot isn't cooperating. I flashed the minimal image (https://download.fedoraproject.org/pub/fedora-secondary/releases/28/Spins/aa...) to the eMMC card and then tried to install u-boot according to these instructions https://wiki.odroid.com/odroid-c2/software/building_u-boot for the provided sd_fusing.sh. This should be adding the u-boot binaries to the beginning of the card; however, when I power the board on I simply get a solid blue kernel LED which seems to suggest that u-boot is starting but unable to boot the kernel.
I was able to find an older fedora 25 image using a modified 3.14 kernel that boots so I'm attempting to go through the upgrade process for this currently.
On 07/08/2018 08:05 AM, Peter Robinson wrote:
On Sat, Jul 7, 2018 at 10:49 PM, Dr. Zenzic dr.zenzic@gmail.com wrote:
Hello All,
Has anyone had any luck getting Fedora 28 to work on the Odroid C2?
I've had a number of reports it works just fine. I don't have a device based on the same chipset to be able to confirm this though.
I've tried downloading the Fedora 28 Server aarch.raw.xz image which i put onto my sd card. I then moved the Archlinux aarch64 boot parition into boot along with the lib/modules and lib/firmware folders from Archlinux. This has been to no avail. I'm working on building the hardkernel kernel myself now but have never actually compiled a kernel myself so I'm not sure what I fully need to get the Fedora rootfs to boot with the kernel.
The Fedora kernel should work just fine so I have no idea why you would even do anything you've attempted above.
If anyone has some guidance or a nice writeup on getting a bootable kernel recognized by Fedora on the Odroid C2 that would be greatly appreciated.
The only thing you should have to do is deal with the U-Boot side of things, I believe that there's a need for a signed binary blob for the early part of u-boot and you can use that in combination with the Fedora build u-boot bit to boot the device but I've not got the exact details. You shouldn't have to modify the kernel except possibly if you want accelerated graphics but given you mention the Server image I suspect that's not the case.
Peter
On Sun, Jul 8, 2018 at 5:25 PM, Dr. Zenzic dr.zenzic@gmail.com wrote:
Please excuse my ignorance as I'm really an HPC researcher working on building a small odroid-c2 cluster for parallel scaling research.
You're correct that the kernel should be working out of the box and I don't believe that is my issue. It seems that u-boot isn't cooperating. I flashed the minimal image (https://download.fedoraproject.org/pub/fedora-secondary/releases/28/Spins/aa...) to the eMMC card and then tried to install u-boot according to these instructions https://wiki.odroid.com/odroid-c2/software/building_u-boot for the provided sd_fusing.sh. This should be adding the u-boot binaries to the beginning of the card; however, when I power the board on I simply get a solid blue kernel LED which seems to suggest that u-boot is starting but unable to boot the kernel.
Do you have a serial console TTL to see any output?
You likely want to follow the image creation section using the Fedora built u-boot from the README in upstream U-Boot:
http://git.denx.de/?p=u-boot.git;a=blob_plain;f=board/amlogic/odroid-c2/READ...
I was able to find an older fedora 25 image using a modified 3.14 kernel that boots so I'm attempting to go through the upgrade process for this currently.
I have no idea what process that uses but I doubt it's compatible, userspace should work fine but I'm sorry this isn't really supportable because we don't have the time and resources to support some random image.
I've had reports that the C2 works OOTB with Fedora kernels.
On 07/08/2018 08:05 AM, Peter Robinson wrote:
On Sat, Jul 7, 2018 at 10:49 PM, Dr. Zenzic dr.zenzic@gmail.com wrote:
Hello All,
Has anyone had any luck getting Fedora 28 to work on the Odroid C2?
I've had a number of reports it works just fine. I don't have a device based on the same chipset to be able to confirm this though.
I've tried downloading the Fedora 28 Server aarch.raw.xz image which i put onto my sd card. I then moved the Archlinux aarch64 boot parition into boot along with the lib/modules and lib/firmware folders from Archlinux. This has been to no avail. I'm working on building the hardkernel kernel myself now but have never actually compiled a kernel myself so I'm not sure what I fully need to get the Fedora rootfs to boot with the kernel.
The Fedora kernel should work just fine so I have no idea why you would even do anything you've attempted above.
If anyone has some guidance or a nice writeup on getting a bootable kernel recognized by Fedora on the Odroid C2 that would be greatly appreciated.
The only thing you should have to do is deal with the U-Boot side of things, I believe that there's a need for a signed binary blob for the early part of u-boot and you can use that in combination with the Fedora build u-boot bit to boot the device but I've not got the exact details. You shouldn't have to modify the kernel except possibly if you want accelerated graphics but given you mention the Server image I suspect that's not the case.
Peter
Hello, Tried to take on this challenge with very moderate success. That is not surprising being a complete NOOB in regards to UEFI and never doing more than the usual-user stuff with GRUB. (So bear with me and have a little patients..)
I am working with FC29 (Kernel 4.18.16-300) now, if it is better to work with FC28 please comment on that.
Did not dive in detail into the necessary bootloaders and additions (fib/create ??) to main-line uboot because I nicked two apparently working boot-loading stacks from other distros. One originates from a (UEFI) booting Suse image and one from a Arch Linux ARM package (2). Cross checked the Alarm bootloaders with the Suse image which booted with it. Looking at the PKGBUILD it is a pristine as you can gat and decided to go with it for the time being.
The autoboot was unsuccessful with both bootloader-stacks with more or less the same errors: ## Starting EFI application at 01080000 ... System BootOrder not found. Initializing defaults. Could not read \EFI: Invalid Parameter Error: could not find boot options: Invalid Parameter start_image() returned Invalid Parameter ## Application terminated, r = 2 EFI LOAD FAILED: continuing...
See autoboot ‘alarm-mainline-uboot’ and ‘autoboot suse-uboot’ (1) for full logs
After stopping autoboot and loading grub manual form the u-boot shell: (see ‘manual booteufi’ (1))
=> load mmc 0:2 ${fdt_addr_r} /dtb/amlogic/meson-gxbb-odroidc2.dtb => load mmc 0:1 ${kernel_addr_r} /EFI/fedora/grubaa64.efi => bootefi ${kernel_addr_r} ${fdt_addr_r}
The kernel does boot and starts system (PID 1) to stop there. see also (1) ‘kernel boot’
Meanwhile I added : console=ttyAML0,115200n8 earlycon to the kernel cmdline and removed Plymouth entirely to see as much as possible on the serial-monitor.
First things first: How do I get the EUFI autoboot playing along without compiling a u-boot script with the above commands which led to load grub ?
And to be frank I am a bit stuck right now.. - Is system unable to (re)mount the initrootfs ? - Does my serial monitor die on me?
All suggestion are welcome!
Thaks and greeting Mark
(1) Logs and transcripts https://gist.github.com/markVnl/79c7852d308eb8162da12fc5942ea2ba (2) https://archlinuxarm.org/packages/aarch64/uboot-odroid-c2-mainline (3) https://github.com/archlinuxarm/PKGBUILDs/blob/master/alarm/uboot-odroid-c2-...
The Fedora kernel should work just fine so I have no idea why you would even do anything you've attempted above.
I doubt it can work, form the kernel config : (1)
# CONFIG_PINCTRL_MESON_GXBB is not set
MESON_GXBB is the Amlogic 905S Soc on the odroid c2; Without the basic pin map it can never work...
(1) https://src.fedoraproject.org/cgit/rpms/kernel.git/tree/kernel-aarch64.confi...
The Fedora kernel should work just fine so I have no idea why you would even do anything you've attempted above.
I doubt it can work, form the kernel config : (1)
# CONFIG_PINCTRL_MESON_GXBB is not set
MESON_GXBB is the Amlogic 905S Soc on the odroid c2; Without the basic pin map it can never work...
1) I don't have one but I have had reports from people that it works, I personally haven't seen it but I have no reason to believe they would have a reason to lie 2) patches are welcome to improve support
Thanx for your reply Peter
I.v fired up an VM and trying to setup an cross complier in FC28 to see if it is the issue. Do not have experience in the Fedora environment, does this look oke?
rpmbuild --rebuild --target aarch64 --with=cross --without=perf \ --without=tools --without=debuginfo --without=pae --define="_arch aarch64" \ --define="_build_arch aarch64" --define="__strip /usr/bin/aarch64-linux-gnu-strip" \ kernel-4.18.16-<release>.fc28.src.rpm
- patches are welcome to improve support
Do not feel knowledgeable enough to do so, but is this is all I may dare to do it.. We will see..
May I ask you to give some thoughts about the u-boot autoboot failure too?
Thanx for your reply Peter
I.v fired up an VM and trying to setup an cross complier in FC28 to see if it is the issue. Do not have experience in the Fedora environment, does this look oke?
rpmbuild --rebuild --target aarch64 --with=cross --without=perf \ --without=tools --without=debuginfo --without=pae --define="_arch aarch64" \ --define="_build_arch aarch64" --define="__strip /usr/bin/aarch64-linux-gnu-strip" \ kernel-4.18.16-<release>.fc28.src.rpm
I use: rpmbuild --rebuild --target aarch64 --with=cross --without=perf --without=tools --without=debuginfo --define="_arch aarch64" --define="_build_arch aarch64" --define="__strip /usr/bin/ arm-linux-gnu-strip" kernel.src.rpm
- patches are welcome to improve support
Do not feel knowledgeable enough to do so, but is this is all I may dare to do it.. We will see..
May I ask you to give some thoughts about the u-boot autoboot failure too?
I suspect the failure is due to the lack of two patches we add to out U-Boot for Fedora, I need to investigate the difference there and either get something upstream or fix the difference in our current boot process there, it's on my todo list but I ran out of runway for F-29. Hopefully in the next few weeks.
P
Thanx,
Far from there jet; network does not work... At least we have a boot in to user-space :)
First successful boot: https://gist.github.com/markVnl/66b89e7e56dffcdbb063cd62de9bff49#file-99-fir...
Far from there jet; network does not work... At least we have a boot in to user-space :)
Well.. with a fixed IP Network works and I can mount an USB disk. I will start over again with a clean image and report more thorough.
The straight forward change I made to kernel-aarch64.config is:
CONFIG_PINCTRL_MESON_GXBB=y
Grtz Mark
On Fri, Oct 26, 2018 at 11:23 PM Mark Verlinde mark@havak.nl wrote:
Far from there jet; network does not work... At least we have a boot in to user-space :)
Well.. with a fixed IP Network works and I can mount an USB disk. I will start over again with a clean image and report more thorough.
The straight forward change I made to kernel-aarch64.config is:
CONFIG_PINCTRL_MESON_GXBB=y
Sorry for the delay in the response, it got lost in my inbox. I've enabled that on F-29+ (along with the GXL option too) so will appear in the next kernel builds. Thanks for the feedback and testing on this. Let me know if you find other changes for these devices.
Peter
On Fri, Oct 26, 2018 at 11:23 PM Mark Verlinde <mark(a)havak.nl> wrote:
Sorry for the delay in the response, ..
Me too, bussy with other stuff
enabled that on F-29+ (along with the GXL option too) so will appear in the next kernel builds.
Nice and thanx, the F29 stock kernel 4.19.7-300 boot's the C2 out-of-the-box now. With the GLX option anable someone could take the (Libre) Le Potato or even the Khadas vim2 on...
Thanks for the feedback and testing on this. Let me know if you find other changes for these devices. Peter
Will do so!
Yes, I used fc29 though; fc28 should have worked fine too I think. This is straight from memory the rough idea was:
I used the Ubuntu image that Hardkernel provided as a host for a chrooted fedora 29 environment to build an initial ramdisk using dracut.
* copied the Ubuntu /lib/modules/3.16.x-lts directory into the chroot env and built the initramfs using dracut * created a fc29 sd card or emmc card using dd xzcat $image | dd bs=4M of=${device} iflag=fullblock oflag=direct status=progress; sync * placed the kernel, initramfs, dtb and the /lib/module/3.16.x-lts directory in the correct spots on the sd card * updated the fc29 sdcard SPL/u-boot bits from hardkernel at the beginning of the card
I had even got X working as well as the RTC module with minimal effort.
Regards,