Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
SolidRun HoneyComb LX2K with uboot [SOLVED]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on ARM
View previous topic :: View next topic  
Author Message
Progman3K
l33t
l33t


Joined: 03 Jan 2004
Posts: 783

PostPosted: Mon Sep 18, 2023 11:36 pm    Post subject: SolidRun HoneyComb LX2K with uboot [SOLVED] Reply with quote

Hi,

I'm installing onto the aforementioned LX2K system.

The system has its standard hardware, and I have added an additional NVMe hard-disk.

I first booted with a Ubuntu image on an sdcard, following the recommended procedure in the HoneyComb LX2 / ClearFog CX LX2 Quick Start Guide.

Following the Gentoo Handbook, I've been able to perform all the required steps for a systemd install, including building a gentoo-sources kernel.

But I'm hesitating at the bootloader-installation step.

What is the best procedure here?

The onboard eMMc is not replaceable, so if possible, I'd like to use it as little as possible.


Last edited by Progman3K on Thu Sep 21, 2023 11:09 pm; edited 3 times in total
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1339
Location: Richmond Hill, Canada

PostPosted: Tue Sep 19, 2023 2:23 pm    Post subject: Re: SolidRun HoneyComb LX2K Reply with quote

Progman3K wrote:
What is the best procedure here?

The onboard eMMc is not replaceable, so if possible, I'd like to use it as little as possible.


It is unclear for me what is your question is about. So can you be more specific?

What is the "procedure" you are looking for?
Back to top
View user's profile Send private message
Progman3K
l33t
l33t


Joined: 03 Jan 2004
Posts: 783

PostPosted: Tue Sep 19, 2023 2:42 pm    Post subject: Reply with quote

Hi pingtoo,

Thanks for taking the time to reply.

I'm trying to figure out how to boot the install, now that it's complete, but I'm also not sure how to set the bootloader.

Practically speaking, I can't get grub to install properly. I mean the package is merged, but the actual installation onto the boot-partition fails:
Quote:
grub-install /dev/nvme0n1
Installing for arm64-efi platform.
grub-install: error: cannot find EFI directory.

Quote:
grub-install /dev/nvme0n1 --efi-directory=/boot
Installing for arm64-efi platform.
EFI variables are not supported on this system.
EFI variables are not supported on this system.
grub-install: error: efibootmgr failed to register the boot entry: No such file or directory.


I'm not even certain grub can be used...

Also, even if it did install, the LX2 doesn't seem to have the possibility of booting from the nvme; there are dip-switches I can set to have the computer boot from either the sdcard, the eMMC or the SPI.

I originally tried booting the computer from its sdcard with an sdcard I set up with the gentoo arm64 minimal-install .iso, but it didn't boot at all. The procedure I applied in that case was first creating the bootable image on the sdcard by using a different workstation, like this:

dd if=install-arm64-minimal-20230910T213208Z.iso of=/dev/sda bs=1M

But as mentioned above, the LX2 didn't appear to see the sdcard (it would not use it at boot) when it was inserted.

So I ended up reformatting the sdcard with an image I obtained from the manufacturer, like this:

xz -dc lx2160acex7_2000_700_2400_8_5_2-2aefef2.img.xz | dd of=/dev/sda bs=4k conv=fdatasync

This did yield a bootable sdcard, which I then used to perform the Gentoo handbook install.

I hope this clears up what I'm trying to accomplish, which is a bootable Gentoo installation, but as I wrote above, I'm sort of stuck

Thanks for reading all this
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54640
Location: 56N 3W

PostPosted: Tue Sep 19, 2023 3:05 pm    Post subject: Reply with quote

Progman3K,

As its arm64, grub is all there is. I've tried other things, they mostly don't build.

Code:
EFI variables are not supported on this system.
means the that efivarfs is not mounted on sys/firmware/efi/efivars
or the kernel module that exposes efivarfs is not loaded.

I have CONFIG_EFIVAR_FS=y in my arm64 server kernel.

I had to add the following to /etc/default/grub too.

Code:
# fix boot error    error: file /boot/grub/locale/C.gmo not found
LANG=C


Its installed but
Code:
grub-install: error: efibootmgr failed to register the boot entry: No such file or directory
as efivarfs is not mounted, grub could not call efibootmgr to update the efi variables, so the EFI firmware cannot find /boot/EFI/gentoo/grubaa64.efi because it does not know where too look.

So close ...

... maybe its not an EFI system?

Does your bootable image have as EFI system partition?
Partitioning tools will show it as ESP and it will have a vfat filesystem.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.


Last edited by NeddySeagoon on Tue Sep 19, 2023 3:09 pm; edited 1 time in total
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1339
Location: Richmond Hill, Canada

PostPosted: Tue Sep 19, 2023 3:08 pm    Post subject: Reply with quote

Progman3K,

Thanks for clarification.

So, this is my understand of your question, You want to be able to load a second stage boot loader (grub) in order to load gentoo system.

First declaration, I am no grub expert, so I my answer my not be correct.

I am not sure how you get your grub into a state that it will want to install arm64-efi. A efi based boot system should not be needed. I think a normal arm64 based grub should do. EFI usually are for X86 platform. (note. I don't mean it is exclusive for X86, just that most ARM platform don't need to do it this way)

Because most embedded system in the first stage boot (bootrom) load second stage boot loader (u-boot mostly), which is responsible to initialise RAM.

I think in your case when you boot from SD card load with install-arm64-minimal-20230910T213208Z.iso, the iso image does not contain the correct second stage boot loader therefor it appear not working.

if you examine the "lx2160acex7_2000_700_2400_8_5_2-2aefef2.img.xz" I think you will found that is a multiple partitioned image that contain a boot loader partition (i.e. u-boot) and possible partition for kernel and rootfs.

I world recommend continue use the "lx2160acex7_2000_700_2400_8_5_2-2aefef2.img.xz" first to get you self into u-boot prompt and from there examine the u-boot environment so you can alter it to choose kernel and rootfs (choose rootfs, is act of setting up correct kernel command options)

Once you have the u-boot setting recorded, we can review how to reprogram the u-boot environment to load either kernel or grub if you wish.
Back to top
View user's profile Send private message
Progman3K
l33t
l33t


Joined: 03 Jan 2004
Posts: 783

PostPosted: Wed Sep 20, 2023 3:42 pm    Post subject: Reply with quote

Neddy,

Thank you for taking the time to reply.

The kernel I've configured for an eventual boot does have CONFIG_EFIVAR_FS=y set, but the Ubuntu boot-media I'm using to start the system does not. It's not clear if UEFI is actually supported on the platform; some of the solid-run forum posts seem to be saying it is, yet the recommended boot-media doesn't have it enabled. There's probably a good reason for this, but I'm not cognizant of it.

It's encouraging that grub is the correct boot-manager to pick for arm64.
Quote:

# fix boot error error: file /boot/grub/locale/C.gmo not found
LANG=C
Noted. Thank you

Quote:
Does your bootable image have as EFI system partition?
Partitioning tools will show it as ESP and it will have a vfat filesystem.

The boot-media sdcard is formatted like this:
Quote:
fdisk -l /dev/sda
Disk /dev/sda: 3.68 GiB, 3951034368 bytes, 7716864 sectors
Disk model: Mass-Storage
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe96484be

Device Boot Start End Sectors Size Id Type
/dev/sda1 131072 7716863 7585792 3.6G 83 Linux

It's apparently formatted ext4, its content is
Quote:
ls -ls /run/media/user/9aaccce4-6353-4da1-a15a-d433deef543a
total 424504
16 drwx------ 2 root root 16384 Sep 3 06:13 lost+found
424356 -rw-r--r-- 1 root root 434110464 Sep 3 06:13 ubuntu-core.img
132 -rw-r--r-- 1 root root 131072 Sep 3 06:13 xspi_header.img


The initial set-up procedure for the system
https://solidrun.atlassian.net/wiki/spaces/developer/pages/197494288/HoneyComb+LX2+ClearFog+CX+LX2+Quick+Start+Guide
had instructions for flashing the eMMC from the uboot command line:
Quote:
load mmc 0:1 0xa4000000 ubuntu-core.img
mmc dev 1
mmc write 0xa4000000 0 0xd2000

At this point, if I change the board's dip-switches to boot from the eMMC, I can probably stop using the sdcard, but I'd like to understand how to modify the boot-parameters first.
Note the inclusion of a file called xspi_header.img on the default boot-disk. Intriguing... The startup procedure doesn't mention it.

pingtoo,

Thank you for the help.

Quote:
I think in your case when you boot from SD card load with install-arm64-minimal-20230910T213208Z.iso, the iso image does not contain the correct second stage boot loader therefor it appear not working.
if you examine the "lx2160acex7_2000_700_2400_8_5_2-2aefef2.img.xz" I think you will found that is a multiple partitioned image that contain a boot loader partition (i.e. u-boot) and possible partition for kernel and rootfs.

As you can see from what I quoted just above this, the boot-disk produced by extracting the .img file appears to be a single-partition ext4-formatted disk, although I did notice that its first 64MB appear to be inaccessible. Possibly this area contains the uboot program and its data?

Quote:
I would recommend continue use the "lx2160acex7_2000_700_2400_8_5_2-2aefef2.img.xz" first to get you self into u-boot prompt and from there examine the u-boot environment so you can alter it to choose kernel and rootfs (choose rootfs, is act of setting up correct kernel command options)
Once you have the u-boot setting recorded, we can review how to reprogram the u-boot environment to load either kernel or grub if you wish.


Booting the sdcard yields the following uboot output
https://pastebin.com/KVFUgcGR

If I let the boot proceed, or interrupt it and enter boot at the uboot command-line, it boots the ubuntu I used to perform the handbook installation on the nvme0n1 disk:
https://pastebin.com/5Fw8TPTj

Alternatively,
If I interrupt the boot countdown, I get access to the uboot command-prompt, typing help gives these options:
https://pastebin.com/vMXscJgR

I suspect there is some way to either modify uboot's configuration or manually select the kernel on nvme0n1p1, but I lack the knowledge of how to do so.
The solid-run documentation's startup procedure goes on to say
Quote:
The default bootcmd probes every device and looks for a /extlinux/extlinux.conf
The kernel command line uses the PARTUUID to boot the right drive can editing the root in the extlinux.conf to use directly root=/dev/nvme0n1p1 or root=/dev/sdx .

I suspect this is the key, but I'm not sure how to proceed.


Last edited by Progman3K on Wed Sep 20, 2023 3:57 pm; edited 1 time in total
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54640
Location: 56N 3W

PostPosted: Wed Sep 20, 2023 3:55 pm    Post subject: Reply with quote

Progman3K,

Code:
Disklabel type: dos


That cannot be EFI. EFI mandates the use of GPT for the boot drive and requires that the ESP is formatted VFAT.
That probably means that the platform does not support EFI natively.
At least, EFI is not in use there.

My arm64 server is EFI only. That forces grub as the boot loader.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1339
Location: Richmond Hill, Canada

PostPosted: Wed Sep 20, 2023 7:09 pm    Post subject: Reply with quote

Progman3K,

Now you have two options, One you can modify u-boot at runtime to choose your kernel/rootfs, Or you can modify u-boot configuration file extlinux.conf to have additional selection for different boot scenarios.

I was reading the start guild, however it did not describe how u-boot invoke in the setup so I will need to look at the build environment to understand how it was done.

In the start guild at the end it did mention support uefi, but I think it is just extra layout with much benefit. If you do choose to use UEFI please follow the start guild at bottom.

In the mean time I will try to understand how this system boot work. I suspect it is using SPI or eMMC to host the u-boot and just program u-boot base on hardware switch to select where to load the initial image.

If you don't mind please share "printenv" result from u-boot. This may help me quicker to understand how it work.
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1339
Location: Richmond Hill, Canada

PostPosted: Wed Sep 20, 2023 8:03 pm    Post subject: Reply with quote

After some research in the build system script lx2160a_build/runme.sh it appear you are correct that first 64MB of the image file is loaded with u-boot and other stuff. So my speculation of using SPI or eMMC for u-boot is wrong.

I think the board bootrom is coded looking at boot device (SD card, eMMC or SPI) in certain offset for second stage boot loader (in default case u-boot)

The good news is that the /extlinx/extlinux.conf should be in your SD card rootfs. So in the default it is the ubuntu's /extlinux/extlinux.conf and the default content is
Code:
  timeout 30
  default linux
  menu title linux-lx2160a boot options
  label primary
    menu label primary kernel
    linux /boot/Image.gz
    fdtdir /boot/
    APPEND console=ttyAMA0,115200 earlycon=pl011,mmio32,0x21c0000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf root=PARTUUID=30303030-01 rw rootwait


This is place where is you can place addition setting to give you boot selection.

The bad news is the "Image.gz" need to be in u-boot image format, Unless the u-boot was build with support for standard linux compress format, this part need to look into detail of the build environment in order to find out.

the u-boot is build with ARM-Trust-Firmware (atf), I don't know much of it, but I suspect it mean the kernel build need to be in certain format in order for the u-boot to willing to load it.

So if you plan to do more about upgrade kernel/initrd or you want to know how to setup second boot option let me know I can dig out the detail.
Back to top
View user's profile Send private message
Progman3K
l33t
l33t


Joined: 03 Jan 2004
Posts: 783

PostPosted: Thu Sep 21, 2023 1:35 pm    Post subject: Reply with quote

Here's the output, I've highlighted some parts of it.

The only thing is, where is the syslinux.cfg file?

The boot-media sdcard only has the one partition I can access, and it only contains the two .img files. What tool(s) do I need to access the 64MB partition at the beginning of the sdcard, is that where the syslinux.cfg file is?

Quote:
=> printenv
BOARD=lx2160acex7
arch=arm
baudrate=115200
board=lx2160a
board_name=lx2160a
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; env exists secureboot && load ${devtype} ${devnum}:${distro_bootpart} ${scripthdraddr} ${prefix}${boot_script_hdr} && esbc_validate ${scripthdraddr};source ${sc
riptaddr}
boot_efi_binary=load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
boot_efi_bootmgr=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr;fi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf}
boot_net_usb_start=usb start
boot_pci_enum=pci enum
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_syslinux_conf=extlinux/extlinux.conf
boot_targets=usb0 mmc0 mmc1 scsi0 nvme0 dhcp
bootargs=console=ttyAMA0,115200 earlycon=pl011,mmio32,0x21c0000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf
bootcmd=env exists mcinitcmd && mmcinfo; mmc read 0x80d00000 0x6800 0x800; env exists mcinitcmd && env exists secureboot && mmc read 0x806C0000 0x3600 0x20 && esbc_validate 0x806C0000;env exists mcinitcmd && fsl_mc lazyapply dpl 0x80d00000;run distro_b
ootcmd;run sd_bootcmd;env exists secureboot && esbc_halt;
bootcmd_dhcp=setenv devtype dhcp; run boot_net_usb_start; run boot_pci_enum; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv
bootp_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp_arch 0xb;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontrol
addr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
bootcmd_mmc0=devnum=0; run mmc_boot
bootcmd_mmc1=devnum=1; run mmc_boot
bootcmd_nvme0=devnum=0; run nvme_boot
bootcmd_scsi0=devnum=0; run scsi_boot
bootcmd_usb0=devnum=0; run usb_boot
bootdelay=10
console=ttyAMA0,38400n8
cpu=armv8
distro_bootcmd=scsi_need_init=; setenv nvme_need_init; for target in ${boot_targets}; do run bootcmd_${target}; done
efi_dtb_prefixes=/ /dtb/ /dtb/current/
emmc_bootcmd=echo Trying load from emmc card..;mmc dev 1; mmcinfo; mmc read $load_addr $kernel_addr_sd $kernel_size_sd ;env exists secureboot && mmc read $kernelheader_addr_r $kernelhdr_addr_sd $kernelhdr_size_sd && esbc_validate ${kernelheader_addr_r}
;bootm $load_addr#$BOARD
ethact=DPMAC17@rgmii-id
ethprime=DPMAC17@rgmii-id
fdt_addr=0x81000000
fdt_addr_r=0x81000000
fdt_high=0xa0000000
fdtcontroladdr=fbb1bda0
fdtfile=fsl-lx2160a-clearfog-cx.dtb
fdtheader_addr_r=0x80100000
fsl_bootcmd_mcinitcmd_set=y
hwconfig=fsl_ddr:bank_intlv=auto
initrd_high=0xffffffffffffffff
kernel_addr_r=0x81100000
kernel_addr_sd=0x8000
kernel_comp_addr_r=0x9f000000
kernel_comp_size=0x10000000
kernel_size=0x2800000
kernel_size_sd=0x14000
kernel_start=0x1000000
kernelhdr_addr_sd=0x3000
kernelhdr_size_sd=0x20
kernelheader_addr_r=0x80200000
kernelheader_size=0x40000
kernelheader_start=0x600000
load_addr=0xa0000000
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
lx2160acex7_vdd_mv=800
mcinitcmd=mmc read 0x80a00000 0x5000 0x1200;mmc read 0x80e00000 0x7000 0x800;env exists secureboot && mmc read 0x80640000 0x3200 0x20 && mmc read 0x80680000 0x3400 0x20 && esbc_validate 0x80640000 && esbc_validate 0x80680000 ;fsl_mc start mc 0x80a00000
0x80e00000
mcmemsize=0x70000000
mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi
nvme_boot=run boot_pci_enum; run nvme_init; if nvme dev ${devnum}; then devtype=nvme; run scan_dev_for_boot_part; fi
nvme_init=if ${nvme_need_init}; then setenv nvme_need_init false; nvme scan; fi
nvme_need_init=true

ramdisk_addr=0x85100000
ramdisk_addr_r=0x85100000
ramdisk_size=0x2000000
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
scan_dev_for_boot_part=part list ${devtype} ${devnum} devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;run boot_efi_bootmgr;if test -e ${devtype} ${devnum}:${distr
o_bootpart} efi/boot/bootaa64.efi; then echo Found EFI removable media binary efi/boot/bootaa64.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
scriptaddr=0x80000000
scripthdraddr=0x80080000
scsi_boot=run scsi_init; if scsi dev ${devnum}; then devtype=scsi; run scan_dev_for_boot_part; fi
scsi_init=if ${scsi_need_init}; then scsi_need_init=false; scsi scan; fi
sd_bootcmd=echo Trying load from sd card..;mmcinfo; mmc read $load_addr $kernel_addr_sd $kernel_size_sd ;env exists secureboot && mmc read $kernelheader_addr_r $kernelhdr_addr_sd $kernelhdr_size_sd && esbc_validate ${kernelheader_addr_r};bootm $load_ad
dr#$BOARD
serdes0=0
serdes1=0
serdes2=0
soc=fsl-layerscape
stderr=serial_pl01x
stdin=serial_pl01x
stdout=serial_pl01x
usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boot_part; fi
vendor=solidrun
xspi_bootcmd=echo Trying load from flexspi..;sf probe 0:0 && sf read $load_addr $kernel_start $kernel_size ; env exists secureboot &&sf read $kernelheader_addr_r $kernelheader_start $kernelheader_size && esbc_validate ${kernelheader_addr_r}; bootm $loa
d_addr#$BOARD

Environment size: 6437/8188 bytes
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1339
Location: Richmond Hill, Canada

PostPosted: Thu Sep 21, 2023 1:49 pm    Post subject: Reply with quote

Why "syslinux.cfg"? I did not mention this name and I don't find it in the output. It is extlinux.cfg

Good news is that it seems it is possible to boot from nvme. However I don't know much of boot off nvme so if you want to do that we will need to experiment with it.

From the output. What you have is distro boot, which mean you have pretty modern u-boot.

The extlinux.cfg file should be located in your rootfs. I mean if you boot into ubuntu, check /extlinux directory. there should be the file extlinux.cfg.

So what do you have in mind for proceeding? Run changes in u-boot to test? or create new entry in extlinux.cfg?
Back to top
View user's profile Send private message
Progman3K
l33t
l33t


Joined: 03 Jan 2004
Posts: 783

PostPosted: Thu Sep 21, 2023 3:04 pm    Post subject: Reply with quote

Hmm... You're right that it must be using the file called extlinux.conf

This is from the rootfs of the sdcard:
Quote:
cat /extlinux/extlinux.conf
timeout 30
default linux
menu title linux-lx2160a boot options
label primary
menu label primary kernel
linux /boot/Image.gz
fdtdir /boot/
APPEND console=ttyAMA0,115200 earlycon=pl011,mmio32,0x21c0000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf root=PARTUUID=30303030-01 rw rootwait


Although in the documentation, the file is referred to as syslinux.cfg
https://wiki.syslinux.org/wiki/index.php?title=SYSLINUX#How_do_I_Configure_SYSLINUX.3F

In either case, both files seem to contain the same directives, so maybe either name can be used?

I've copied over the directory and its contents to the nvme0n1p3 (the Gentoo rootfs) partition, and modified it like so

Quote:
blkid
/dev/nvme0n1p3: UUID="c2e99d6f-a7b3-4849-93fa-d0a13e18a7ad" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="73ea86b6-ffd6-9f48-8b52-c0de2bf47f90"
/dev/nvme0n1p1: UUID="DA7E-05E4" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="187a259b-3c04-0e45-998e-02559ec1ea76"
/dev/nvme0n1p2: UUID="ce0572f5-ffc6-4ad1-9ecc-e60d771c06d6" TYPE="swap" PARTUUID="08f25233-59b2-424b-8248-7a540a30be39"
/dev/mmcblk0p1: UUID="9aaccce4-6353-4da1-a15a-d433deef543a" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="e96484be-01"
/dev/mmcblk1p1: LABEL="rootfs" UUID="6d79593a-f573-4555-8a8f-16d48f6a3eaf" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="30303030-01"


Quote:
cat /extlinux/extlinux.conf
timeout 30
default linux
menu title Gentoo lx2160a boot options
label primary
menu label primary kernel
linux vmlinuz-6.1.53-gentoo-r1
fdtdir /boot/
APPEND console=ttyAMA0,115200 earlycon=pl011,mmio32,0x21c0000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf root=PARTUUID=73ea86b6-ffd6-9f48-8b52-c0de2bf47f90 rw rootwait


Not quite sure about the
linux vmlinuz-6.1.53-gentoo-r1
line, though. The syslinux documentation says it supports vmlinuz files now

Actually, I'm starting to think I might not have needed a boot partition at all; syslinux claims it can read partitions of types fat,ext2/3/4,btrfs

To test it, I'd need to know how to invoke it from the uboot prompt.

I'd like to check which version of syslinux it is we're dealing with, but it is not present on the boot-media.

Let's try obtaining it:
Quote:
apt-get install syslinux
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package syslinux is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'syslinux' has no installation candidate


This seems to be the same issue preventing me from installing syslinux on (arm64) Gentoo, it does not appear to be supported on that arch. I know I can get it to be possible to install by unmasking it in the accept_keywords file by using the ** qualifier, but I'm not certain if it will build/install, and that if it does, will it work? I suppose there's no harm in trying.

Quote:
!!! The ebuild selected to satisfy "syslinux" has unmet requirements.
- sys-boot/syslinux-6.04_pre3-r1::gentoo USE="bios efi -secureboot"

The following REQUIRED_USE flag constraints are unsatisfied:
efi? ( any-of ( abi_x86_32 abi_x86_64 ) )

The above constraints are a subset of the following complete expression:
any-of ( bios efi ) efi? ( any-of ( abi_x86_32 abi_x86_64 ) )


I'm pretty sure that the hardware can support EFI, although I'm not sure if enabling that use flag will lead down a dead-end as I suspect neither abi_x86_32 nor abi_x86_64 will function as expected.

Using the bios use-flag seems doomed too, because the nvme0n1 was partitioned using the GPT scheme, so using MBR won't work, will it?

Maybe I need to completely repartition and reformat nvme0n1 and try a different (BIOS/MBR) approach, which I have no qualms doing, since it's merely lost time and experience gained.
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1339
Location: Richmond Hill, Canada

PostPosted: Thu Sep 21, 2023 3:55 pm    Post subject: Reply with quote

Progman3K,

This is not reload to syslinux project. Your board load "u-boot" as second stage boot loader.

u-boot implement The Boot Loader Specification for more detail from u-boot

Have you try to boot from your modified configuration file yet?

the u-boot support for boot from vmlunuz format is a build time option, so I am not sure if it is build for you board.

I suggest we start testing by using existing /boot/Image.gz with your nvme partition, This way we will know if the gentoo rootfs is working as expect. Once we have known good gentoo rootfs than making a gentoo specific kernel may be easier.

I am not sure how you got your "vmlinuz-6.1.53-gentoo-r1" but you should know kernel need to be build target to your board, Not any Gentoo kernel will work.

There is no file system for first 64MB of the image, so if you want to examine it you will need to use dd to extract content at certain location.

In turn of EFI, The concept is not specific to hardware. The "EFI" is defining how to implement boot loader. In your board case, the board build system use u-boot to implement second stage loader. And according to the start guild the u-boot seems to built with support for EFI as third stage boot loader.
Back to top
View user's profile Send private message
Progman3K
l33t
l33t


Joined: 03 Jan 2004
Posts: 783

PostPosted: Thu Sep 21, 2023 9:18 pm    Post subject: Reply with quote

I noticed that the kernel image file in the sdcard's /boot folder seems to be the same type of file
Quote:
file /boot/Image.gz
/boot/Image.gz: gzip compressed data, max compression, from Unix, original size modulo 2^32 48927232

as the file I can produce when compiling the gentoo-sources
Quote:
file /mnt/gentoo/usr/src/linux/arch/arm64/boot/Image.gz
/mnt/gentoo/usr/src/linux/arch/arm64/boot/Image.gz: gzip compressed data, max compression, from Unix, original size modulo 2^32 38904320

So I modified the /extlinux/extlinux.conf file on the sdcard like so:
Quote:
timeout 30
default linux
menu title linux-lx2160a boot options
label primary
menu label primary kernel
linux /boot/Image.gz
fdtdir /boot/
APPEND console=ttyAMA0,115200 earlycon=pl011,mmio32,0x21c0000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf root=PARTUUID=30303030-01 rw rootwait
label secondary
menu label secondary kernel
linux /boot/GImage.gz
fdtdir /boot/
APPEND console=ttyAMA0,115200 earlycon=pl011,mmio32,0x21c0000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf root=PARTUUID=73ea86b6-ffd6-9f48-8b52-c0de2bf47f90 rw rootwait

And I manually copied the gentoo-sources Image.gz file to the sdcard's /boot directory, naming it GImage.gz

Now, upon restarting the machine, I get a menu that was not appearing before:

Quote:
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
629 bytes read in 13 ms (46.9 KiB/s)
linux-lx2160a boot options
1: primary kernel
2: secondary kernel
Enter choice: 2
2: secondary kernel

When I press enter, the following happens:

Quote:

Retrieving file: /boot/GImage.gz
13277004 bytes read in 565 ms (22.4 MiB/s)
append: console=ttyAMA0,115200 earlycon=pl011,mmio32,0x21c0000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf root=PARTUUID=73ea86b6-ffd6-9f48-8b52-c0de2bf47f90 rw rootwait
Retrieving file: /boot/fsl-lx2160a-clearfog-cx.dtb
45027 bytes read in 16 ms (2.7 MiB/s)
Uncompressing Kernel Image
Moving Image from 0x81100000 to 0x81200000, end=837c0000
## Flattened Device Tree blob at 81000000
Booting using the fdt blob at 0x81000000
Loading Device Tree to 000000009fff2000, end 000000009fffffe2 ... OK
Releasing fan controller full speed gpio
fsl-mc: Deploying data path layout ... SUCCESS

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[ 0.000000] Linux version 6.1.53-gentoo-r1 (root@armand) (gcc (Gentoo 12.3.1_p20230526 p2) 12.3.1 20230526, GNU ld (Gentoo 2.40 p5) 2.40.0) #2 SMP Thu Sep 21 12:59:36 EDT 2023
[ 0.000000] Machine model: SolidRun LX2160A Clearfog CX
[ 0.000000] earlycon: pl11 at MMIO32 0x00000000021c0000 (options '')
[ 0.000000] printk: bootconsole [pl11] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] NUMA: No NUMA configuration found
[ 0.000000] NUMA: Faking a node at [mem 0x0000000080000000-0x0000002f7fffffff]
[ 0.000000] NUMA: NODE_DATA [mem 0x2f783aaa40-0x2f783acfff]
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal [mem 0x0000000100000000-0x0000002f7fffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000080000000-0x00000000fbdfffff]
[ 0.000000] node 0: [mem 0x0000002080000000-0x0000002f7fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x0000002f7fffffff]
[ 0.000000] On node 0, zone Normal: 16896 pages in unavailable ranges
[ 0.000000] cma: Reserved 32 MiB at 0x00000000f9e00000
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.2
[ 0.000000] percpu: Embedded 20 pages/cpu s44008 r8192 d29720 u81920
[ 0.000000] Detected PIPT I-cache on CPU0
[ 0.000000] CPU features: detected: GIC system register CPU interface
[ 0.000000] CPU features: detected: Spectre-v2
[ 0.000000] CPU features: detected: Spectre-v3a
[ 0.000000] CPU features: detected: Spectre-BHB
[ 0.000000] CPU features: kernel page table isolation forced ON by KASLR
[ 0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[ 0.000000] CPU features: detected: ARM erratum 1742098
[ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[ 0.000000] alternatives: applying boot alternatives
[ 0.000000] Fallback order for Node 0: 0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 15982080
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: console=ttyAMA0,115200 earlycon=pl011,mmio32,0x21c0000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf root=PARTUUID=73ea86b6-ffd6-9f48-8b52-c0de2bf47f90 rw rootwait
[ 0.000000] Dentry cache hash table entries: 8388608 (order: 14, 67108864 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 4194304 (order: 13, 33554432 bytes, linear)
[ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[ 0.000000] software IO TLB: area num 16.
[ 0.000000] software IO TLB: mapped [mem 0x00000000f5e00000-0x00000000f9e00000] (64MB)
[ 0.000000] Memory: 61464408K/64944128K available (17216K kernel code, 3688K rwdata, 9356K rodata, 7616K init, 619K bss, 3446952K reserved, 32768K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=16, Nodes=1
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=16.
[ 0.000000] Tracing variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=16
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[ 0.000000] GICv3: 256 SPIs implemented
[ 0.000000] GICv3: 0 Extended SPIs implemented
[ 0.000000] Root IRQ handler: gic_handle_irq
[ 0.000000] GICv3: GICv3 features: 16 PPIs
[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000006200000
[ 0.000000] ITS [mem 0x06020000-0x0603ffff]
[ 0.000000] ITS@0x0000000006020000: allocated 65536 Devices @2080080000 (flat, esz 8, psz 64K, shr 0)
[ 0.000000] ITS: using cache flushing for cmd queue
[ 0.000000] GICv3: Using preallocated redistributor tables
[ 0.000000] GICv3: using LPI property table @0x0000000080000000
[ 0.000000] GICv3: CPU0: using reserved LPI pending table @0x0000000080010000
[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[ 0.000000] arch_timer: cp15 timer(s) running at 25.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x5c409fb33, max_idle_ns: 440795203156 ns
[ 0.000000] sched_clock: 56 bits at 25MHz, resolution 39ns, wraps every 4398046511103ns
[ 0.008508] Console: colour dummy device 80x25
[ 0.013040] Calibrating delay loop (skipped), value calculated using timer frequency.. 50.00 BogoMIPS (lpj=100000)
[ 0.023508] pid_max: default: 32768 minimum: 301
[ 0.028201] LSM: Security Framework initializing
[ 0.032979] Mount-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[ 0.040886] Mountpoint-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[ 0.049813] cblist_init_generic: Setting adjustable number of callback queues.
[ 0.057122] cblist_init_generic: Setting shift to 4 and lim to 1.
[ 0.063349] rcu: Hierarchical SRCU implementation.
[ 0.068189] rcu: Max phase no-delay instances is 1000.
[ 0.073554] Platform MSI: gic-its@6020000 domain created
[ 0.078974] PCI/MSI: /interrupt-controller@6000000/gic-its@6020000 domain created
[ 0.086570] fsl-mc MSI: gic-its@6020000 domain created
[ 0.092399] EFI services will not be available.
[ 0.097274] smp: Bringing up secondary CPUs ...
[ 0.102135] Detected PIPT I-cache on CPU1
[ 0.102180] GICv3: CPU1: found redistributor 1 region 0:0x0000000006220000
[ 0.102198] GICv3: CPU1: using reserved LPI pending table @0x0000000080020000
[ 0.102219] CPU1: Booted secondary processor 0x0000000001 [0x410fd083]
[ 0.102520] Detected PIPT I-cache on CPU2
[ 0.102575] GICv3: CPU2: found redistributor 100 region 0:0x0000000006240000
[ 0.102598] GICv3: CPU2: using reserved LPI pending table @0x0000000080030000
[ 0.102625] CPU2: Booted secondary processor 0x0000000100 [0x410fd083]
[ 0.102939] Detected PIPT I-cache on CPU3
[ 0.102976] GICv3: CPU3: found redistributor 101 region 0:0x0000000006260000
[ 0.102995] GICv3: CPU3: using reserved LPI pending table @0x0000000080040000
[ 0.103020] CPU3: Booted secondary processor 0x0000000101 [0x410fd083]
[ 0.103306] Detected PIPT I-cache on CPU4
[ 0.103358] GICv3: CPU4: found redistributor 200 region 0:0x0000000006280000
[ 0.103377] GICv3: CPU4: using reserved LPI pending table @0x0000000080050000
[ 0.103404] CPU4: Booted secondary processor 0x0000000200 [0x410fd083]
[ 0.103696] Detected PIPT I-cache on CPU5
[ 0.103737] GICv3: CPU5: found redistributor 201 region 0:0x00000000062a0000
[ 0.103755] GICv3: CPU5: using reserved LPI pending table @0x0000000080060000
[ 0.103777] CPU5: Booted secondary processor 0x0000000201 [0x410fd083]
[ 0.104058] Detected PIPT I-cache on CPU6
[ 0.104116] GICv3: CPU6: found redistributor 300 region 0:0x00000000062c0000
[ 0.104134] GICv3: CPU6: using reserved LPI pending table @0x0000000080070000
[ 0.104159] CPU6: Booted secondary processor 0x0000000300 [0x410fd083]
[ 0.104448] Detected PIPT I-cache on CPU7
[ 0.104495] GICv3: CPU7: found redistributor 301 region 0:0x00000000062e0000
[ 0.104512] GICv3: CPU7: using reserved LPI pending table @0x0000000080080000
[ 0.104530] CPU7: Booted secondary processor 0x0000000301 [0x410fd083]
[ 0.104795] Detected PIPT I-cache on CPU8
[ 0.104861] GICv3: CPU8: found redistributor 400 region 0:0x0000000006300000
[ 0.104882] GICv3: CPU8: using reserved LPI pending table @0x0000000080090000
[ 0.104908] CPU8: Booted secondary processor 0x0000000400 [0x410fd083]
[ 0.105184] Detected PIPT I-cache on CPU9
[ 0.105238] GICv3: CPU9: found redistributor 401 region 0:0x0000000006320000
[ 0.105252] GICv3: CPU9: using reserved LPI pending table @0x00000000800a0000
[ 0.105269] CPU9: Booted secondary processor 0x0000000401 [0x410fd083]
[ 0.105546] Detected PIPT I-cache on CPU10
[ 0.105622] GICv3: CPU10: found redistributor 500 region 0:0x0000000006340000
[ 0.105641] GICv3: CPU10: using reserved LPI pending table @0x00000000800b0000
[ 0.105664] CPU10: Booted secondary processor 0x0000000500 [0x410fd083]
[ 0.105945] Detected PIPT I-cache on CPU11
[ 0.105998] GICv3: CPU11: found redistributor 501 region 0:0x0000000006360000
[ 0.106008] GICv3: CPU11: using reserved LPI pending table @0x00000000800c0000
[ 0.106025] CPU11: Booted secondary processor 0x0000000501 [0x410fd083]
[ 0.106295] Detected PIPT I-cache on CPU12
[ 0.106372] GICv3: CPU12: found redistributor 600 region 0:0x0000000006380000
[ 0.106384] GICv3: CPU12: using reserved LPI pending table @0x00000000800d0000
[ 0.106409] CPU12: Booted secondary processor 0x0000000600 [0x410fd083]
[ 0.106676] Detected PIPT I-cache on CPU13
[ 0.106725] GICv3: CPU13: found redistributor 601 region 0:0x00000000063a0000
[ 0.106736] GICv3: CPU13: using reserved LPI pending table @0x00000000800e0000
[ 0.106753] CPU13: Booted secondary processor 0x0000000601 [0x410fd083]
[ 0.107013] Detected PIPT I-cache on CPU14
[ 0.107086] GICv3: CPU14: found redistributor 700 region 0:0x00000000063c0000
[ 0.107097] GICv3: CPU14: using reserved LPI pending table @0x00000000800f0000
[ 0.107118] CPU14: Booted secondary processor 0x0000000700 [0x410fd083]
[ 0.107381] Detected PIPT I-cache on CPU15
[ 0.107436] GICv3: CPU15: found redistributor 701 region 0:0x00000000063e0000
[ 0.107446] GICv3: CPU15: using reserved LPI pending table @0x0000000080100000
[ 0.107463] CPU15: Booted secondary processor 0x0000000701 [0x410fd083]
[ 0.107498] smp: Brought up 1 node, 16 CPUs
[ 0.488188] SMP: Total of 16 processors activated.
[ 0.493027] CPU features: detected: 32-bit EL0 Support
[ 0.498217] CPU features: detected: 32-bit EL1 Support
[ 0.503408] CPU features: detected: CRC32 instructions
[ 0.508658] CPU: All CPU(s) started at EL2
[ 0.512807] alternatives: applying system-wide alternatives
[ 0.519596] devtmpfs: initialized
[ 0.533210] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.543074] futex hash table entries: 4096 (order: 6, 262144 bytes, linear)
[ 0.550427] pinctrl core: initialized pinctrl subsystem
[ 0.556024] Machine: SolidRun LX2160A Clearfog CX
[ 0.560781] SoC family: QorIQ LX2160A
[ 0.564475] SoC ID: svr:0x87360020, Revision: 2.0
[ 0.569421] DMI not present or invalid.
[ 0.573519] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.580425] DMA: preallocated 4096 KiB GFP_KERNEL pool for atomic allocations
[ 0.588261] DMA: preallocated 4096 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.596746] DMA: preallocated 4096 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.605237] thermal_sys: Registered thermal governor 'step_wise'
[ 0.605239] thermal_sys: Registered thermal governor 'power_allocator'
[ 0.611332] cpuidle: using governor menu
[ 0.621958] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.628949] ASID allocator initialised with 32768 entries
[ 0.634998] Serial: AMBA PL011 UART driver
[ 0.642405] 21c0000.serial: ttyAMA0 at MMIO 0x21c0000 (irq = 14, base_baud = 0) is a SBSA
[ 0.650684] printk: console [ttyAMA0] enabled
[ 0.650684] printk: console [ttyAMA0] enabled
[ 0.659428] printk: bootconsole [pl11] disabled
[ 0.659428] printk: bootconsole [pl11] disabled
[ 0.668798] 21d0000.serial: ttyAMA1 at MMIO 0x21d0000 (irq = 15, base_baud = 0) is a SBSA
[ 0.680788] fsl_mc_bus 80c000000.fsl-mc: MC firmware version: 10.37.0
[ 0.689769] fsl_mc_dprc dprc.1: DMA mask not set
[ 0.695584] KASLR enabled
[ 0.720508] HugeTLB: registered 1.00 GiB page size, pre-allocated 2 pages
[ 0.727299] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[ 0.733556] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.740331] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[ 0.746587] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.753362] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[ 0.759617] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.766392] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[ 0.838476] raid6: neonx8 gen() 5974 MB/s
[ 0.910503] raid6: neonx4 gen() 5827 MB/s
[ 0.982526] raid6: neonx2 gen() 4840 MB/s
[ 1.054556] raid6: neonx1 gen() 3509 MB/s
[ 1.126582] raid6: int64x8 gen() 3356 MB/s
[ 1.198613] raid6: int64x4 gen() 3280 MB/s
[ 1.270639] raid6: int64x2 gen() 3190 MB/s
[ 1.342665] raid6: int64x1 gen() 2438 MB/s
[ 1.346923] raid6: using algorithm neonx8 gen() 5974 MB/s
[ 1.418695] raid6: .... xor() 4295 MB/s, rmw enabled
[ 1.423649] raid6: using neon recovery algorithm
[ 1.428496] ACPI: Interpreter disabled.
[ 1.433307] iommu: Default domain type: Translated
[ 1.438177] iommu: DMA domain TLB invalidation policy: strict mode
[ 1.444545] SCSI subsystem initialized
[ 1.448391] usbcore: registered new interface driver usbfs
[ 1.453883] usbcore: registered new interface driver hub
[ 1.459198] usbcore: registered new device driver usb
[ 1.464455] imx-i2c 2000000.i2c: can't get pinctrl, bus recovery not supported
[ 1.471781] i2c i2c-0: IMX I2C adapter registered
[ 1.476574] imx-i2c 2020000.i2c: can't get pinctrl, bus recovery not supported
[ 1.483816] i2c i2c-1: IMX I2C adapter registered
[ 1.488579] imx-i2c 2040000.i2c: can't get pinctrl, bus recovery not supported
[ 1.495849] i2c i2c-2: IMX I2C adapter registered
[ 1.500789] pps_core: LinuxPPS API ver. 1 registered
[ 1.505744] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 1.514871] PTP clock support registered
[ 1.518829] EDAC MC: Ver: 3.0.0
[ 1.522577] FPGA manager framework
[ 1.525997] Advanced Linux Sound Architecture Driver Initialized.
[ 1.532367] vgaarb: loaded
[ 1.535228] clocksource: Switched to clocksource arch_sys_counter
[ 1.541408] VFS: Disk quotas dquot_6.6.0
[ 1.545340] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 1.552277] pnp: PnP ACPI: disabled
[ 1.558316] NET: Registered PF_INET protocol family
[ 1.563409] IP idents hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[ 1.575821] tcp_listen_portaddr_hash hash table entries: 32768 (order: 7, 524288 bytes, linear)
[ 1.584723] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 1.592477] TCP established hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 1.602229] TCP bind hash table entries: 65536 (order: 9, 2097152 bytes, linear)
[ 1.610378] TCP: Hash tables configured (established 524288 bind 65536)
[ 1.617062] UDP hash table entries: 32768 (order: 8, 1048576 bytes, linear)
[ 1.624624] UDP-Lite hash table entries: 32768 (order: 8, 1048576 bytes, linear)
[ 1.632676] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 1.638345] PCI: CLS 0 bytes, default 64
[ 1.643117] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
[ 1.651474] kvm [1]: IPA Size Limit: 44 bits
[ 1.656379] kvm [1]: vgic-v2@c0e0000
[ 1.659959] kvm [1]: GIC system register CPU interface enabled
[ 1.665954] kvm [1]: vgic interrupt IRQ9
[ 1.670033] kvm [1]: Hyp mode initialized successfully
[ 1.675807] Initialise system trusted keyrings
[ 1.680327] workingset: timestamp_bits=42 max_order=24 bucket_order=0
[ 1.689036] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 1.694949] ntfs: driver 2.1.32 [Flags: R/O].
[ 1.699352] ntfs3: Max link count 4000
[ 1.703089] ntfs3: Read-only LZX/Xpress compression included
[ 1.708807] fuse: init (API version 7.37)
[ 1.712962] 9p: Installing v9fs 9p2000 file system support
[ 1.737688] NET: Registered PF_ALG protocol family
[ 1.742472] xor: measuring software checksum speed
[ 1.748277] 8regs : 9625 MB/sec
[ 1.753568] 32regs : 10421 MB/sec
[ 1.759077] arm64_neon : 8461 MB/sec
[ 1.763426] xor: using function: 32regs (10421 MB/sec)
[ 1.768559] Key type asymmetric registered
[ 1.772645] Asymmetric key parser 'x509' registered
[ 1.777529] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 1.784919] io scheduler mq-deadline registered
[ 1.789440] io scheduler kyber registered
[ 1.798351] layerscape-pcie 3600000.pcie: host bridge /soc/pcie@3600000 ranges:
[ 1.805673] layerscape-pcie 3600000.pcie: MEM 0x9400000000..0x97ffffffff -> 0xa400000000
[ 1.814195] layerscape-pcie 3600000.pcie: MEM 0x9040000000..0x90ffffffff -> 0x0040000000
[ 1.822713] layerscape-pcie 3600000.pcie: IO 0x9010000000..0x901000ffff -> 0x0000000000
[ 1.831748] layerscape-pcie 3600000.pcie: iATU unroll: disabled
[ 1.837657] layerscape-pcie 3600000.pcie: iATU regions: 256 ob, 24 ib, align 4K, limit 4G
[ 1.846061] layerscape-pcie 3600000.pcie: Failed to set MEM range [mem 0x9400000000-0x97ffffffff flags 0x2200]
[ 1.856056] layerscape-pcie: probe of 3600000.pcie failed with error -22
[ 1.862801] layerscape-pcie 3800000.pcie: host bridge /soc/pcie@3800000 ranges:
[ 1.870110] layerscape-pcie 3800000.pcie: MEM 0xa400000000..0xa7ffffffff -> 0xa400000000
[ 1.878630] layerscape-pcie 3800000.pcie: MEM 0xa040000000..0xa0ffffffff -> 0x0040000000
[ 1.887149] layerscape-pcie 3800000.pcie: IO 0xa010000000..0xa01000ffff -> 0x0000000000
[ 1.896442] layerscape-pcie 3800000.pcie: iATU unroll: disabled
[ 1.902352] layerscape-pcie 3800000.pcie: iATU regions: 256 ob, 24 ib, align 4K, limit 4G
[ 1.910874] layerscape-pcie 3800000.pcie: Failed to set MEM range [mem 0xa400000000-0xa7ffffffff flags 0x2200]
[ 1.920865] layerscape-pcie: probe of 3800000.pcie failed with error -22
[ 1.927998] EINJ: ACPI disabled.
[ 1.939945] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 1.947191] SuperH (H)SCI(F) driver initialized
[ 1.951924] msm_serial: driver initialized
[ 1.957545] arm-smmu 5000000.iommu: probing hardware configuration...
[ 1.963984] arm-smmu 5000000.iommu: SMMUv2 with:
[ 1.968591] arm-smmu 5000000.iommu: stage 1 translation
[ 1.973894] arm-smmu 5000000.iommu: stage 2 translation
[ 1.979195] arm-smmu 5000000.iommu: nested translation
[ 1.984413] arm-smmu 5000000.iommu: coherent table walk
[ 1.989716] arm-smmu 5000000.iommu: (IDR0.CTTW overridden by FW configuration)
[ 1.997015] arm-smmu 5000000.iommu: stream matching with 128 register groups
[ 2.004143] arm-smmu 5000000.iommu: 64 context banks (0 stage-2 only)
[ 2.010662] arm-smmu 5000000.iommu: Supported page sizes: 0x61311000
[ 2.017092] arm-smmu 5000000.iommu: Stage-1: 48-bit VA -> 48-bit IPA
[ 2.023522] arm-smmu 5000000.iommu: Stage-2: 48-bit IPA -> 48-bit PA
[ 2.030171] arm-smmu 5000000.iommu: preserved 0 boot mappings
[ 2.036225] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 2.050295] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000002, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 2.061224] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 2.064274] loop: module loaded
[ 2.075291] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000002, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 2.076224] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 2.078854] megasas: 07.719.03.00-rc1
[ 2.088594] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000002, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 2.089224] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 2.130536] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000002, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 2.141225] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 2.141522] ahci-qoriq 3200000.sata: supply ahci not found, using dummy regulator
[ 2.155292] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000002, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 2.156225] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 2.162821] ahci-qoriq 3200000.sata: supply phy not found, using dummy regulator
[ 2.172934] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000002, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 2.173225] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 2.187022] ahci-qoriq 3200000.sata: supply target not found, using dummy regulator
[ 2.194383] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000002, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 2.195227] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 2.204625] ahci-qoriq 3200000.sata: AHCI 0001.0301 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[ 2.218609] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000002, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 2.219228] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 2.226261] ahci-qoriq 3200000.sata: flags: 64bit ncq sntf pm clo only pmp fbs pio slum part ccc sds apst
[ 2.236415] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000002, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 2.303446] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 2.303788] scsi host0: ahci-qoriq
[ 2.317511] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 2.331164] ata1: SATA max UDMA/133 mmio [mem 0x03200000-0x0320ffff] port 0x100 irq 100
[ 2.339220] ahci-qoriq 3210000.sata: supply ahci not found, using dummy regulator
[ 2.346727] ahci-qoriq 3210000.sata: supply phy not found, using dummy regulator
[ 2.354135] ahci-qoriq 3210000.sata: supply target not found, using dummy regulator
[ 2.361840] ahci-qoriq 3210000.sata: AHCI 0001.0301 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[ 2.370793] ahci-qoriq 3210000.sata: flags: 64bit ncq sntf pm clo only pmp fbs pio slum part ccc sds apst
[ 2.653370] ata1: SATA link down (SStatus 0 SControl 300)
[ 7.355215] arm_smmu_global_fault: 2724229 callbacks suppressed
[ 7.355219] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 7.375189] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 7.385353] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 7.399419] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 7.409580] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 7.423646] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 7.433808] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 7.447874] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 7.458036] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 7.472102] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 7.482264] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 7.496330] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 7.506493] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 7.520558] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 7.530720] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 7.544786] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 7.554948] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 7.569014] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 7.579175] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 7.593241] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 12.475214] arm_smmu_global_fault: 2637538 callbacks suppressed
[ 12.475216] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 12.495185] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 12.505348] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 12.519414] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 12.529576] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 12.543641] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 12.553803] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 12.567869] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 12.578031] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 12.592097] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 12.602259] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 12.616324] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 12.626486] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 12.640552] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 12.650714] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 12.664780] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 12.674942] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 12.689007] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 12.699169] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 12.713235] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 17.595214] arm_smmu_global_fault: 2637549 callbacks suppressed
[ 17.595217] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 17.615187] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 17.625349] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 17.639415] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 17.649577] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 17.663643] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 17.673804] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 17.687870] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 17.698032] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 17.712097] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 17.722260] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 17.736325] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 17.746487] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 17.760553] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 17.770715] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 17.784781] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 17.794943] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 17.809008] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 17.819171] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 17.833236] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 22.715214] arm_smmu_global_fault: 2637540 callbacks suppressed
[ 22.715216] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 22.735186] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 22.745349] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 22.759415] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 22.769576] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 22.783643] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 22.793804] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 22.807870] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 22.818032] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 22.832098] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 22.842260] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 22.856325] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 22.866487] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 22.880554] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 22.890715] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 22.904781] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 22.914943] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 22.929008] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 22.939170] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 22.953236] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 23.771233] rcu: INFO: rcu_sched detected expedited stalls on CPUs/tasks: { 0-.... } 5348 jiffies s: 45 root: 0x1/.
[ 23.781665] rcu: blocking rcu_node structures (internal RCU debug):
[ 23.787922] Task dump for CPU 0:
[ 23.791138] task:swapper/0 state:R running task stack:0 pid:0 ppid:0 flags:0x0000000a
[ 23.801045] Call trace:
[ 23.803482] __switch_to+0xe4/0x160
[ 23.806969] 0xfbdc9353
[ 27.835214] arm_smmu_global_fault: 2636241 callbacks suppressed
[ 27.835217] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 27.855187] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 27.865350] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 27.879416] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 27.889577] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 27.903643] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 27.913805] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 27.927871] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 27.938032] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implications
[ 27.952098] arm-smmu 5000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000008, GFSYNR1 0x00004000, GFSYNR2 0x00000000
[ 27.962260] arm-smmu 5000000.iommu: Blocked unknown Stream ID 0x4000; boot with "arm-smmu.disable_bypass=0" to allow, but this may have security implicatiNOTICE: BL2: v2.4(release):LSDK-21.08-8-g98ed7bc18


At this point, the machine reboots and I must select the primary kernel if I want to run anything.
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1339
Location: Richmond Hill, Canada

PostPosted: Thu Sep 21, 2023 9:29 pm    Post subject: Reply with quote

Progman3K,

You are pretty much there. :P

Now you just need to get a kernel that match your board. I am pretty sure the gentoo-sources in its default state will not work. You will need to find patches that specific for your board and apply them to the kernel source code in order to get it going.

That is why I suggest use the default kernel that come with the image, just change the the root=PARTUUID=XXXX, change the XXXX to the partition you desire, you should at least get Gentoo's openrc to startup.
Back to top
View user's profile Send private message
Progman3K
l33t
l33t


Joined: 03 Jan 2004
Posts: 783

PostPosted: Thu Sep 21, 2023 11:08 pm    Post subject: Reply with quote

pingtoo,

I'm pretty excited, yeah!
As you suggested, I added an extra kernel entry in the /extlinux/extlinux.conf file from the boot-media sdcard that was identical to the entry I'd already added, except it specified Image.gz instead of the Gentoo GImage.gz, and it boots the userspace quite handily!

I think they must have turned on both rc and systemd in the kernel options, because none of the boot-menu entries specify an init system, the default entry boots an rc init, and the entry I added boots a systemd init, and they both work.

Thank you very much for bringing so much light, it was incredibly helpful!

The remaining tasks are

- figuring out why the kernel hangs every other boot. Even with the default boot-media, sometimes it hangs right after displaying
Quote:
[...]
[ 5.677591] fsl_mc_dprc dprc.1: DPRC device bound to driver
[ 5.683315] pcieport 0000:00:00.0: PME: Signaling with IRQ 37
[ 5.689216] pcieport 0001:00:00.0: PME: Signaling with IRQ 38
[ 5.695637] libphy: SFP I2C Bus: probed
[ 5.699533] sfp sfp-0: Host maximum power 2.0W
[ 5.704094] sfp sfp-0: No tx_disable pin: SFP modules will always be emitting.
[ 5.711844] libphy: SFP I2C Bus: probed
[ 5.715723] sfp sfp-1: Host maximum power 2.0W
[ 5.720289] sfp sfp-1: No tx_disable pin: SFP modules will always be emitting.
[ 5.728013] libphy: SFP I2C Bus: probed
[ 5.731892] sfp sfp-2: Host maximum power 2.0W
[ 5.736450] sfp sfp-2: No tx_disable pin: SFP modules will always be emitting.
[ 5.744170] libphy: SFP I2C Bus: probed
[ 5.748045] sfp sfp-3: Host maximum power 2.0W
[ 5.752607] sfp sfp-3: No tx_disable pin: SFP modules will always be emitting.
[ 5.978855] fsl_dpaa2_eth dpni.0 (unnamed net_device) (uninitialized): PHY [0x0000000008b96000:01] driver [Qualcomm Atheros AR8035] (irq=POLL)
[ 5.992878] fsl_dpaa2_eth dpni.0: Probed interface eth0
[ 6.002047] input: gpio-keys as /devices/platform/gpio-keys/input/input1
[ 6.010815] ALSA device list:
[ 6.013782] No soundcards found.


As I mentioned, every other boot, it hangs there... No idea why... It's annoying.

- figuring out why the Gentoo kernel faults. It's likely caused because I missed a required kernel option when configuring. The reason I feel somewhat confident in affirming this is because solid-run's documentation seems to say that they support running standard distros, and mention Gentoo specifically. A little more digging is required.

Other than that it's quite nice.

The system I bought is actually two identical computers packed into rackmount drawers, as it's intended for failovers and other typical data-center applications.

I'll probably remove the other board and put it in a case so I can put a video card on it and run it as a normal desktop, if I can find a proper case that can host its backplane correctly.

Other than those, I'll mark this post as solved, and thank you and Neddy, again.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on ARM All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum