Add additional modules to initrd with dracut
Hi, My UdooQuad board needs some extra modules added to initrd in order to boot (currently it hangs). How can I add additional modules to the initrd with dracut and kiwi? Is there any board that needs this too that I can check? Thanks!!
On 15.04.22 23:24, Oscar wrote:
Hi,
My UdooQuad board needs some extra modules added to initrd in order to boot (currently it hangs).
specify "modules". Kernel modules or dracut modules?
How can I add additional modules to the initrd with dracut and kiwi? Is there any board that needs this too that I can check?
Dracut modules: create a file /etc/dracut.conf.d/my_dracutmodule.conf that contains add_dracutmodules+=" my_xyz_dracutmodule " Kernel modules: create a file /etc/dracut.conf.d/my_kernelmodule.conf that contains drivers+=" my_kernelmodule " Of course they can both go into the same file. Note that the blanks at the beginning and the end of the "+=" string are important. Have fun, -- Stefan Seyfried "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled." -- Richard Feynman
El 2022-04-16 10:56, Stefan Seyfried escribió:
On 15.04.22 23:24, Oscar wrote:
Hi,
My UdooQuad board needs some extra modules added to initrd in order to boot (currently it hangs).
specify "modules".
Kernel modules or dracut modules?
Ooops, I meant kernel modules, sorry!
How can I add additional modules to the initrd with dracut and kiwi? Is there any board that needs this too that I can check?
Dracut modules: create a file /etc/dracut.conf.d/my_dracutmodule.conf that contains add_dracutmodules+=" my_xyz_dracutmodule "
Kernel modules: create a file /etc/dracut.conf.d/my_kernelmodule.conf that contains drivers+=" my_kernelmodule "
Of course they can both go into the same file. Note that the blanks at the beginning and the end of the "+=" string are important.
Thanks Stefan. After adding more than 100 kernel modules to the initrd without luck, I have come to the conclusion that the problem is located in the dtb file as using the dtb file from Armbian project with the JeOS image the board boots fine :) Welcome to openSUSE Tumbleweed 20220419 - Kernel 5.17.3-1-default (ttymxc1). localhost login: Any clue on how can I debug DTB issues? I suspect of the mmc config but I don't know where to start. TIA
Have fun,
On 20/04/2022 11:05, Oscar wrote:
El 2022-04-16 10:56, Stefan Seyfried escribió:
On 15.04.22 23:24, Oscar wrote:
Hi,
My UdooQuad board needs some extra modules added to initrd in order to boot (currently it hangs).
specify "modules".
Kernel modules or dracut modules?
Ooops, I meant kernel modules, sorry!
How can I add additional modules to the initrd with dracut and kiwi? Is there any board that needs this too that I can check?
Dracut modules: create a file /etc/dracut.conf.d/my_dracutmodule.conf that contains add_dracutmodules+=" my_xyz_dracutmodule "
Kernel modules: create a file /etc/dracut.conf.d/my_kernelmodule.conf that contains drivers+=" my_kernelmodule "
Of course they can both go into the same file. Note that the blanks at the beginning and the end of the "+=" string are important.
Thanks Stefan. After adding more than 100 kernel modules to the initrd without luck, I have come to the conclusion that the problem is located in the dtb file as using the dtb file from Armbian project with the JeOS image the board boots fine :)
Welcome to openSUSE Tumbleweed 20220419 - Kernel 5.17.3-1-default (ttymxc1).
localhost login:
Any clue on how can I debug DTB issues? I suspect of the mmc config but I don't know where to start.
If you have both dtb files, you could get the description out of them with dtc:
dtc -I dtb -O dts -o
El 2022-04-20 11:32, Matthias Brugger escribió:
On 20/04/2022 11:05, Oscar wrote:
El 2022-04-16 10:56, Stefan Seyfried escribió:
On 15.04.22 23:24, Oscar wrote:
Hi,
My UdooQuad board needs some extra modules added to initrd in order to boot (currently it hangs).
specify "modules".
Kernel modules or dracut modules?
Ooops, I meant kernel modules, sorry!
How can I add additional modules to the initrd with dracut and kiwi? Is there any board that needs this too that I can check?
Dracut modules: create a file /etc/dracut.conf.d/my_dracutmodule.conf that contains add_dracutmodules+=" my_xyz_dracutmodule "
Kernel modules: create a file /etc/dracut.conf.d/my_kernelmodule.conf that contains drivers+=" my_kernelmodule "
Of course they can both go into the same file. Note that the blanks at the beginning and the end of the "+=" string are important.
Thanks Stefan. After adding more than 100 kernel modules to the initrd without luck, I have come to the conclusion that the problem is located in the dtb file as using the dtb file from Armbian project with the JeOS image the board boots fine :)
Welcome to openSUSE Tumbleweed 20220419 - Kernel 5.17.3-1-default (ttymxc1).
localhost login:
Any clue on how can I debug DTB issues? I suspect of the mmc config but I don't know where to start.
If you have both dtb files, you could get the description out of them with dtc: dtc -I dtb -O dts -o
Then you can diff the two *.dts files and see if there is anything relevant.
Thanks Matthias!
I don't find any significant differences in the dt source but I can
confirm the problem is that the kernel can't find the rootfs (or more
precisely, the mmc device). For some reason is looking at /dev/mmcblk2
but is not there.
This is the full bootlog:
U-Boot SPL 2022.04 (Apr 15 2022 - 00:00:00 +0000)
Trying to boot from MMC1
U-Boot 2022.04 (Apr 15 2022 - 00:00:00 +0000)
CPU: Freescale i.MX6Q rev1.2 at 792 MHz
Reset cause: POR
Model: Udoo i.MX6 Quad Board
Board: Udoo Quad
DRAM: 1 GiB
Core: 36 devices, 9 uclasses, devicetree: separate
MMC: FSL_SDHC: 2
Loading Environment from MMC... *** Warning - bad CRC, using default
environment
In: serial
Out: serial
Err: serial
Net: eth0: ethernet@2188000
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc2 is current device
Scanning mmc 2:3...
52946 bytes read in 9 ms (5.6 MiB/s)
Scanning disk usdhc@2198000.blk...
Found 4 disks
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
** Invalid partition 4 **
Couldn't find partition mmc 2:4
Scanning mmc 2:1...
BootOrder not defined
EFI boot manager: Cannot load any image
Found EFI removable media binary efi/boot/bootarm.efi
942080 bytes read in 47 ms (19.1 MiB/s)
Booting /efi\boot\bootarm.efi
Welcome to GRUB!
Loading Linux 5.17.3-1-default ...
Loading initial ramdisk ...
EFI stub: Entering in SVC mode with MMU enabled
EFI stub: Booting Linux Kernel...
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services...
[ 0.000000][ T0] Booting Linux on physical CPU 0x0
[ 0.000000][ T0] Linux version 5.17.3-1-default (geeko@buildhost)
(gcc (SUSE Linux) 11.2.1 20220316 [revision
6a1150d1524aeda3381b2171712e1a6611d441d6], GNU ld (GNU Binutil)
[ 0.000000][ T0] CPU: ARMv7 Processor [412fc09a] revision 10
(ARMv7), cr=10c5387d
[ 0.000000][ T0] CPU: PIPT / VIPT nonaliasing data cache, VIPT
aliasing instruction cache
[ 0.000000][ T0] OF: fdt: Machine model: Udoo i.MX6 Quad Board
[ 0.000000][ T0] Memory policy: Data cache writealloc
[ 0.000000][ T0] efi: EFI v2.90 by Das U-Boot
[ 0.000000][ T0] efi: RTPROP=0x4ed6c040 SMBIOS=0x4ed68000
MEMRESERVE=0x3dbd0040
[ 0.000000][ T0] efi: [Firmware Bug]: ExitBootServices() returned
with MMU and Dcache disabled, please fix your firmware!
[ 0.000000][ T0] efi: CPSR at EFI stub entry : 0x600001d3
[ 0.000000][ T0] efi: SCTLR at EFI stub entry : 0x00c5187d
[ 0.000000][ T0] efi: CPSR after ExitBootServices() : 0x600001d3
[ 0.000000][ T0] efi: SCTLR after ExitBootServices(): 0x00c50878
[ 0.000000][ T0] cma: Reserved 64 MiB at 0x4a800000
[ 0.000000][ T0] Zone ranges:
[ 0.000000][ T0] DMA [mem
0x0000000010000000-0x000000003fffffff]
[ 0.000000][ T0] Normal empty
[ 0.000000][ T0] HighMem [mem
0x0000000040000000-0x000000004fffffff]
[ 0.000000][ T0] Movable zone start for each node
[ 0.000000][ T0] Early memory node ranges
[ 0.000000][ T0] node 0: [mem
0x0000000010000000-0x000000004ed67fff]
[ 0.000000][ T0] node 0: [mem
0x000000004ed68000-0x000000004ed68fff]
[ 0.000000][ T0] node 0: [mem
0x000000004ed69000-0x000000004ed6bfff]
[ 0.000000][ T0] node 0: [mem
0x000000004ed6c000-0x000000004ed6efff]
[ 0.000000][ T0] node 0: [mem
0x000000004ed6f000-0x000000004ed6ffff]
[ 0.000000][ T0] node 0: [mem
0x000000004ed70000-0x000000004ed73fff]
[ 0.000000][ T0] node 0: [mem
0x000000004ed74000-0x000000004ff89fff]
[ 0.000000][ T0] node 0: [mem
0x000000004ff8a000-0x000000004ff8afff]
[ 0.000000][ T0] node 0: [mem
0x000000004ff8b000-0x000000004fffffff]
[ 0.000000][ T0] Initmem setup node 0 [mem
0x0000000010000000-0x000000004fffffff]
[ 0.000000][ T0] percpu: Embedded 18 pages/cpu s42700 r8192 d22836
u73728
[ 0.000000][ T0] pcpu-alloc: s42700 r8192 d22836 u73728
alloc=18*4096
[ 0.000000][ T0] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000][ T0] Built 1 zonelists, mobility grouping on. Total
pages: 260416
[ 0.000000][ T0] Kernel command line:
BOOT_IMAGE=/boot/zImage-5.17.3-1-default
root=UUID=46092163-6937-4e53-a776-26207d965e36 loglevel=9 rootwait
splash=silent systemd.show1
[ 0.000000][ T0] Unknown kernel command line parameters
"BOOT_IMAGE=/boot/zImage-5.17.3-1-default splash=silent", will be passed
to user space.
[ 0.000000][ T0] Dentry cache hash table entries: 131072 (order:
7, 524288 bytes, linear)
[ 0.000000][ T0] Inode-cache hash table entries: 65536 (order: 6,
262144 bytes, linear)
[ 0.000000][ T0] mem auto-init: stack:off, heap alloc:off, heap
free:off
[ 0.000000][ T0] Memory: 889272K/1048576K available (13312K kernel
code, 2350K rwdata, 11696K rodata, 2048K init, 726K bss, 93768K
reserved, 65536K cma-reserved, 196572K hi)
[ 0.000000][ T0] random: get_random_u32 called from
__kmem_cache_create+0x2c/0x48c with crng_init=0
[ 0.000000][ T0] SLUB: HWalign=64, Order=0-3, MinObjects=0,
CPUs=4, Nodes=1
[ 0.000000][ T0] ftrace: allocating 46659 entries in 137 pages
[ 0.000000][ T0] ftrace: allocated 137 pages with 3 groups
[ 0.000000][ T0] trace event string verifier disabled
[ 0.000000][ T0] rcu: Hierarchical RCU implementation.
[ 0.000000][ T0] rcu: RCU event tracing is enabled.
[ 0.000000][ T0] rcu: RCU restricting CPUs from NR_CPUS=16 to
nr_cpu_ids=4.
[ 0.000000][ T0] Trampoline variant of Tasks RCU enabled.
[ 0.000000][ T0] Rude variant of Tasks RCU enabled.
[ 0.000000][ T0] Tracing variant of Tasks RCU enabled.
[ 0.000000][ T0] rcu: RCU calculated value of scheduler-enlistment
delay is 20 jiffies.
[ 0.000000][ T0] rcu: Adjusting geometry for rcu_fanout_leaf=16,
nr_cpu_ids=4
[ 0.000000][ T0] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000][ T0] GIC physical location is 0xa01000
[ 0.000000][ T0] L2C-310 errata 752271 769419 enabled
[ 0.000000][ T0] L2C-310 enabling early BRESP for Cortex-A9
[ 0.000000][ T0] L2C-310 full line of zeros enabled for Cortex-A9
[ 0.000000][ T0] L2C-310 ID prefetch enabled, offset 16 lines
[ 0.000000][ T0] L2C-310 dynamic clock gating enabled, standby
mode enabled
[ 0.000000][ T0] L2C-310 cache controller enabled, 16 ways, 1024
kB
[ 0.000000][ T0] L2C-310: CACHE_ID 0x410000c7, AUX_CTRL 0x76470001
[ 0.000000][ T0] Switching to timer-based delay loop, resolution
333ns
[ 0.000001][ T0] sched_clock: 32 bits at 3000kHz, resolution
333ns, wraps every 715827882841ns
[ 0.000027][ T0] clocksource: mxc_timer1: mask: 0xffffffff
max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
[ 0.003984][ T0] Console: colour dummy device 80x30
[ 0.004942][ T0] printk: console [tty0] enabled
[ 0.005040][ T0] Calibrating delay loop (skipped), value
calculated using timer frequency.. 6.00 BogoMIPS (lpj=15000)
[ 0.005080][ T0] pid_max: default: 32768 minimum: 301
[ 0.005375][ T0] LSM: Security Framework initializing
[ 0.005599][ T0] AppArmor: AppArmor initialized
[ 0.005827][ T0] Mount-cache hash table entries: 2048 (order: 1,
8192 bytes, linear)
[ 0.005876][ T0] Mountpoint-cache hash table entries: 2048 (order:
1, 8192 bytes, linear)
[ 0.007113][ T0] CPU: Testing write buffer coherency: ok
[ 0.007181][ T0] CPU0: Spectre v2: using BPIALL workaround
[ 0.007492][ T1] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.008394][ T1] cblist_init_generic: Setting adjustable number of
callback queues.
[ 0.008433][ T1] cblist_init_generic: Setting shift to 2 and lim
to 1.
[ 0.008580][ T1] cblist_init_generic: Setting shift to 2 and lim
to 1.
[ 0.008722][ T1] cblist_init_generic: Setting shift to 2 and lim
to 1.
[ 0.008911][ T1] Setting up static identity map for 0x10300000 -
0x103000ac
[ 0.010851][ T1] rcu: Hierarchical SRCU implementation.
[ 0.014651][ T1] Remapping and enabling EFI services.
[ 0.015279][ T1] smp: Bringing up secondary CPUs ...
[ 0.016217][ T0] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.016232][ T0] CPU1: Spectre v2: using BPIALL workaround
[ 0.017240][ T0] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[ 0.017257][ T0] CPU2: Spectre v2: using BPIALL workaround
[ 0.018242][ T0] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[ 0.018258][ T0] CPU3: Spectre v2: using BPIALL workaround
[ 0.018418][ T1] smp: Brought up 1 node, 4 CPUs
[ 0.018452][ T1] SMP: Total of 4 processors activated (24.00
BogoMIPS).
[ 0.018478][ T1] CPU: All CPU(s) started in SVC mode.
[ 0.019333][ T1] devtmpfs: initialized
[ 0.030348][ T1] VFP support v0.3: implementor 41 architecture 3
part 30 variant 9 rev 4
[ 0.030796][ T1] clocksource: jiffies: mask: 0xffffffff
max_cycles: 0xffffffff, max_idle_ns: 9556302231375000 ns
[ 0.030848][ T1] futex hash table entries: 1024 (order: 4, 65536
bytes, linear)
[ 0.035039][ T1] pinctrl core: initialized pinctrl subsystem
[ 0.036315][ T1] SMBIOS 3.0 present.
[ 0.036361][ T1] DMI: Unknown Unknown Product/Unknown Product,
BIOS 2022.04 04/01/2022
[ 0.037152][ T1] NET: Registered PF_NETLINK/PF_ROUTE protocol
family
[ 0.041429][ T1] DMA: preallocated 256 KiB pool for atomic
coherent allocations
[ 0.042617][ T1] audit: initializing netlink subsys (disabled)
[ 0.042917][ T38] audit: type=2000 audit(0.040:1):
state=initialized audit_enabled=0 res=1
[ 0.044501][ T1] thermal_sys: Registered thermal governor
'fair_share'
[ 0.044511][ T1] thermal_sys: Registered thermal governor
'bang_bang'
[ 0.044543][ T1] thermal_sys: Registered thermal governor
'step_wise'
[ 0.044568][ T1] thermal_sys: Registered thermal governor
'user_space'
[ 0.044768][ T1] cpuidle: using governor ladder
[ 0.044832][ T1] cpuidle: using governor menu
[ 0.045146][ T1] CPU identified as i.MX6Q, silicon rev 1.2
[ 0.075433][ T1] platform 2400000.ipu: Fixing up cyclic dependency
with 120000.hdmi
[ 0.075561][ T1] platform 2400000.ipu: Fixing up cyclic dependency
with 20e0000.iomuxc-gpr:ipu1_csi0_mux
[ 0.077463][ T1] platform 2800000.ipu: Fixing up cyclic dependency
with 120000.hdmi
[ 0.077586][ T1] platform 2800000.ipu: Fixing up cyclic dependency
with 20e0000.iomuxc-gpr:ipu2_csi1_mux
[ 0.081559][ T1] No ATAGs?
[ 0.081757][ T1] hw-breakpoint: found 5 (+1 reserved) breakpoint
and 1 watchpoint registers.
[ 0.081794][ T1] hw-breakpoint: maximum watchpoint size is 4
bytes.
[ 0.082899][ T1] SoCFPGA initialized for DDR self-refresh during
suspend.
[ 0.084797][ T1] imx6q-pinctrl 20e0000.pinctrl: initialized IMX
pinctrl driver
[ 0.090377][ T1] Serial: AMBA PL011 UART driver
[ 0.102049][ T1] kprobes: kprobe jump-optimization is enabled. All
kprobes are optimized if possible.
[ 0.103278][ T1] cryptd: max_cpu_qlen set to 1000
[ 0.120842][ T1] mxs-dma 110000.dma-apbh: initialized
[ 0.123226][ T1] iommu: Default domain type: Passthrough
[ 0.124206][ T1] vgaarb: loaded
[ 0.125602][ T1] SCSI subsystem initialized
[ 0.125841][ T1] libata version 3.00 loaded.
[ 0.126419][ T1] pps_core: LinuxPPS API ver. 1 registered
[ 0.126446][ T1] pps_core: Software ver. 5.3.6 - Copyright
2005-2007 Rodolfo Giometti
Hope that helps. Matthias
Thanks!
participants (3)
-
Matthias Brugger
-
Oscar
-
Stefan Seyfried