Description of problem: Shortly after booting Fedora Minimal or Fedora IoT on the ROCK64, there is a kernel panic. Version-Release number of selected component (if applicable): Fedora-IoT-36-20220401.1.aarch64 Appears to be a problem in Fedora 35 as well. How reproducible: Steps to Reproduce: 1. Flash an eMMC module Fedora IoT using the Arm image installer. ``` sudo arm-image-installer \ --image="$HOME/Downloads/Fedora-IoT-36-20220401.1.aarch64.raw.xz" \ --media=/dev/sda \ --addconsole \ --addkey="$HOME/.ssh/id_rsa.pub" \ --norootpass \ --relabel \ --resizefs \ --showboot \ --target=rock64-rk3328 \ -y ``` 2. Insert eMMC module in ROCK64. 3. Attach serial console. 4. Boot. 5. Wait about 20 seconds before a kernel panic occurs. Actual results: Kernel panic. Expected results: No kernel panic? Additional info: Kernel panic message: ``` [ 104.153510] Unable to handle kernel access to user memory outside uaccess routines at virtual address 000006081b491a66 [ 104.154487] Mem abort info: [ 104.154741] ESR = 0x96000004 [ 104.155018] EC = 0x25: DABT (current EL), IL = 32 bits [ 104.155493] SET = 0, FnV = 0 [ 104.155768] EA = 0, S1PTW = 0 [ 104.156053] FSC = 0x04: level 0 translation fault [ 104.156489] Data abort info: [ 104.156748] ISV = 0, ISS = 0x00000004 [ 104.157092] CM = 0, WnR = 0 [ 104.157362] user pgtable: 4k pages, 48-bit VAs, pgdp=00000000074d2000 [ 104.157936] [000006081b491a66] pgd=0000000000000000, p4d=0000000000000000 [ 104.158548] Internal error: Oops: 96000004 [#1] SMP [ 104.158988] Modules linked in: tls nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nm [ 104.159303] ohci_platform dw_mmc ohci_hcd ehci_platform rtc_rk808 phy_rockchip_inno_hdmi dw_wdt io_domain pl330 gpio_syscon ip6_tables ip_tables pkcs8_key_parser ipmi_r [ 104.168433] CPU: 2 PID: 855 Comm: ignition Tainted: G C 5.17.1-300.fc36.aarch64 #1 [ 104.169225] Hardware name: pine64 rock64_rk3328/rock64_rk3328, BIOS 2022.04-rc3 04/01/2022 [ 104.169961] pstate: 004000c5 (nzcv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 104.170585] pc : __dump_page+0x290/0x380 [ 104.170951] lr : __dump_page+0x78/0x380 [ 104.171299] sp : ffff80000c95b8f0 [ 104.171600] x29: ffff80000c95b8f0 x28: 0000000000000178 x27: fffffc0000558f40 [ 104.172244] x26: ffff00007fb65838 x25: 0000000000000000 x24: 0000000000000001 [ 104.172887] x23: 0000000000000000 x22: ffff8000098a0000 x21: 0000000000000000 [ 104.173530] x20: fffffc0000558f40 x19: fffffc0000558f40 x18: 0000000000000000 [ 104.174173] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 [ 104.174817] x14: 0000000000000000 x13: 0000000000000000 x12: 000000000000003f [ 104.175459] x11: 0000000000000000 x10: 0000000000000000 x9 : ffff800008496f08 [ 104.176103] x8 : 0000000000000010 x7 : fffffc0000558f00 x6 : 000000000001563d [ 104.176745] x5 : ffff00007fb456c0 x4 : ffff00007fb44700 x3 : ffff00007fbbc210 [ 104.177389] x2 : 0000000000000007 x1 : 010006081b491a66 x0 : 010006081b491a67 [ 104.178035] Call trace: [ 104.178258] __dump_page+0x290/0x380 [ 104.178588] dump_page+0x34/0x90 [ 104.178887] rmqueue_bulk+0x610/0x9b4 [ 104.179224] rmqueue+0x4b0/0xdcc [ 104.179522] get_page_from_freelist+0x178/0x4cc [ 104.179935] __alloc_pages+0xd0/0x250 [ 104.180270] alloc_pages_vma+0xb0/0x2d0 [ 104.180622] do_cow_fault+0x48/0x130 [ 104.180953] do_fault+0x44/0x1f0 [ 104.181251] handle_pte_fault+0x160/0x1b0 [ 104.181617] __handle_mm_fault+0x248/0x374 [ 104.181987] handle_mm_fault+0xcc/0x22c [ 104.182336] do_page_fault+0x178/0x4f4 [ 104.182680] do_translation_fault+0x64/0x8c [ 104.183061] do_mem_abort+0x4c/0x9c [ 104.183381] el0_da+0x3c/0xc4 [ 104.183655] el0t_64_sync_handler+0xbc/0x140 [ 104.184044] el0t_64_sync+0x1a4/0x1a8 [ 104.184384] Code: f9400680 d1000401 f240001f 9a941021 (f9400020) [ 104.184930] ---[ end trace 0000000000000000 ]--- ```
You'll need the have the firmware on the SPI flash, or else use --target=none and shrink the front of the VFAT partition before you write out U-Boot using update-uboot. I suspect it may be you be overwriting part of the kernel.
I flashed U-Boot to SPI, but U-Boot fails to boot from either eMMC or SD Card. eMMC: ``` U-Boot SPL 2022.04-rc5 (Mar 28 2022 - 00:00:00 +0000) Trying to boot from MMC1 Card did not respond to voltage select! : -110 spl: mmc init failed with error: -95 Trying to boot from MMC2 mmc_load_image_raw_sector: mmc block read error SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ### ``` SD Card: ``` U-Boot SPL 2022.04-rc5 (Mar 28 2022 - 00:00:00 +0000) Trying to boot from MMC1 Card did not respond to voltage select! : -110 spl: mmc init failed with error: -95 Trying to boot from MMC2 Card did not respond to voltage select! : -110 spl: mmc init failed with error: -95 SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ### ``` I flashed U-Boot to SPI according to https://nullr0ute.com/2021/05/fedora-on-the-pinebook-pro/ but flashed `idbloader.img` instead of `idbloader.spi` since that isn't available for the ROCK64. I created the SPI flashing disk using the command `sudo spi-flashing-disk --target=rock64-rk3328 --media=/dev/sda`.
So, I got to test out your other method. Resizing the partition for Fedora IoT was no success, but this appears to be unrelated as I lost console output when the bootloader jumped to the kernel. Fedora Minimal didn't boot via SPI either, but when I reduced the size of the VFAT partition before adding U-Boot per your instructions it boots and hasn't crashed!
This message is a reminder that Fedora Linux 36 is nearing its end of life. Fedora will stop maintaining and issuing updates for Fedora Linux 36 on 2023-05-16. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a 'version' of '36'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, change the 'version' to a later Fedora Linux version. Note that the version field may be hidden. Click the "Show advanced fields" button if you do not see it. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora Linux 36 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora Linux, you are encouraged to change the 'version' to a later version prior to this bug being closed.
Fedora Linux 36 entered end-of-life (EOL) status on 2023-05-16. Fedora Linux 36 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora Linux please feel free to reopen this bug against that version. Note that the version field may be hidden. Click the "Show advanced fields" button if you do not see the version field. If you are unable to reopen this bug, please file a new report against an active release. Thank you for reporting this bug and we are sorry it could not be fixed.