Booting Linux
with a bootloader written in Rust
#139
Replies: 4 comments 4 replies
-
The guide you linked says:
From looking at the filenames in your log, it says |
Beta Was this translation helpful? Give feedback.
-
Yep, I changed the top of my stack (i.e. __boot_core_stack_end_exclusive) in link.ld to point to 0x598_0000 (or 93847552) to accommodate RAM-loading of the dtb and kernel images.
I was wondering why the binary/bootloader needs to start at 0x80000. If I change the entry point to a higher address, rpi4 doesnt boot at all. I haven't tried lower addresses (i.e. entry points though) |
Beta Was this translation helpful? Give feedback.
-
Ah, this may be it. I only checked to see if the top of the stack was aligned to the 64K page requirement. But I didn't check to see if the kernel was also aligned on a 64K page. I guess, I'll need to manually control where the kernel is loaded in RAM with |
Beta Was this translation helpful? Give feedback.
-
So it worked The kernel takes control and panics as it cant find a root fs. (there isn't one for now). Thank you for the tip :) Output below [ 0.000027] EMMC: reset card.
[ 0.000146] Divisor = 63, Freq Set = 396825
[ 0.407463] CSD Contents : 00 40 0e 00 32 5b 59 00 00ee 9d 7f 80 0a 40 00
[ 0.411290] cemmc_structure=1, spec_vers=0, taac=0x0E, nsac=0x00, tran_speed=0x32,ccc=0x05B5, read_bl_len=0x09, read_bl_partial=0b, write_blk_misalign=0b,read_blk_misalign=0b, dsr_imp=0b, sector_size =0x7F, erase_blk_en=1b
[ 0.430921] CSD 2.0: ver2_c_size = 0xEFFD, card capacity: 32026132480 bytes or 32.03GiB
[ 0.438827] wp_grp_size=0x0000000b, wp_grp_enable=0b, default_ecc=00b, r2w_factor=010b, write_bl_len=0x09, write_bl_partial=0b, file_format_grp=0, copy=0b, perm_write_protect=0b, tmp_write_protect=0b, file_format=0b ecc=00b
[ 0.458551] Divisor = 1, Freq Set = 25000000
[ 0.463176] EMMC: Bus width set to 4
[ 0.466202] EMMC: SD Card Type 2 HC, 30542Mb, mfr_id: 27, 'SM:EB2MW', r3.0, mfr_date: 8/2017, serial: 0xc8e6576d, RCA: 0x59b4
[ 0.477399] EMMC2 driver initialized...
[ 0.481223] rpi4 version 0.1.0
[ 0.484175] Booting on: Raspberry Pi 4
[ 0.487824] Current privilege level: EL1
[ 0.491646] Exception handling state:
[ 0.495208] Debug: Masked
[ 0.498336] SError: Masked
[ 0.501463] IRQ: Masked
[ 0.504591] FIQ: Masked
[ 0.507718] Architectural timer resolution: 18 ns
[ 0.512322] Drivers loaded:
[ 0.515016] 1. BCM GPIO
[ 0.517883] 2. BCM PL011 UART
[ 0.521271] Chars written: 1423
[W 0.524314] wait duration smaller than architecturally supported, skipping
[ 0.531088] create new emmc-fat controller...
[ 0.537988] Listing root directory:
[ 0.539822] Found: DirEntry { name: ShortFileName("boot"), mtime: Timestamp(2021-05-07 16:06:08), ctime: Timestamp(2021-05-07 16:06:08), attributes: FV, cluster: Cluster(0), size: 0, entry_block: BlockIdx(16290), entry_offset: 0 }
[ 0.559419] Found: DirEntry { name: ShortFileName("BCM271~1.DTB"), mtime: Timestamp(2022-01-08 18:31:30), ctime: Timestamp(2022-01-08 18:35:56), attributes: FA, cluster: Cluster(65538), size: 25713, entry_block: BlockIdx(16290), entry_offset: 96 }
[ 0.581396] Found: DirEntry { name: ShortFileName("KERNEL8.IMG"), mtime: Timestamp(2022-01-09 17:49:46), ctime: Timestamp(2022-01-09 17:50:04), attributes: FA, cluster: Cluster(196610), size: 93519872, entry_block: BlockIdx(16290), entry_offset: 128 }
[ 0.603724] Found: DirEntry { name: ShortFileName("VMLINUZ"), mtime: Timestamp(2022-01-08 18:37:12), ctime: Timestamp(2022-01-08 18:38:16), attributes: FA, cluster: Cluster(97567), size: 29272576, entry_block: BlockIdx(16290), entry_offset: 160 }
[ 0.629717] Found: DirEntry { name: ShortFileName("CONFIG.TXT"), mtime: Timestamp(2022-01-04 11:46:38), ctime: Timestamp(2021-05-07 15:07:00), attributes: FA, cluster: Cluster(1017), size: 1846, entry_block: BlockIdx(17103), entry_offset: 352 }
[ 0.648580] Found: DirEntry { name: ShortFileName("FIXUP4.DAT"), mtime: Timestamp(2021-04-30 14:01:38), ctime: Timestamp(2021-05-07 15:07:00), attributes: FA, cluster: Cluster(1036), size: 5446, entry_block: BlockIdx(17103), entry_offset: 480 }
[ 0.673098] Found: DirEntry { name: ShortFileName("START4.ELF"), mtime: Timestamp(2021-04-30 14:01:38), ctime: Timestamp(2021-05-07 15:07:02), attributes: FA, cluster: Cluster(59166), size: 2228768, entry_block: BlockIdx(54532), entry_offset: 224 }
[ 0.694027] Found: DirEntry { name: ShortFileName("SYSTEM~1"), mtime: Timestamp(2021-09-21 13:57:30), ctime: Timestamp(2021-09-21 13:57:28), attributes: DHS, cluster: Cluster(97564), size: 0, entry_block: BlockIdx(105365), entry_offset: 192 }
[ 0.714709] Get handle to `dtb` file in root_dir...
[ 0.719651] load `dtb` into RAM...
[ 0.810164] loaded dtb: 25713 bytes, starting at addr: 0x3a00000
[ 0.813383] Get handle to `kernel` file in root_dir...
[ 0.819571] load `kernel` into RAM...
[ 92.781638] loaded kernel: 29272576 bytes, starting at addr: 0x3c00000
[ 92.785375] ***************************************** Starting kernel ********************************************
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[ 0.000000] Linux version 5.15.0-trunk-arm64 ([email protected]) (gcc-10 (Apertis 10.2.1-6+apertis3bv2022preb4) 10.2.1 20210110, GNU ld (GNU Binutils for Apertis) 2.35.2) #1 SMP Debian 5.15.1-1~exp1+apertis1 (2021-11-11)
[ 0.000000] Machine model: Raspberry Pi 4 Model B
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x0000000037400000, size 64 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] NUMA: No NUMA configuration found
[ 0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x00000000fbffffff]
[ 0.000000] NUMA: NODE_DATA [mem 0xfb814b00-0xfb816fff]
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000000000000-0x000000003fffffff]
[ 0.000000] DMA32 [mem 0x0000000040000000-0x00000000fbffffff]
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x000000003b3fffff]
[ 0.000000] node 0: [mem 0x0000000040000000-0x00000000fbffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000000fbffffff]
[ 0.000000] percpu: Embedded 29 pages/cpu s81752 r8192 d28840 u118784
[ 0.000000] Detected PIPT I-cache on CPU0
[ 0.000000] CPU features: detected: Spectre-v2
[ 0.000000] CPU features: detected: Spectre-v3a
[ 0.000000] CPU features: detected: Spectre-v4
[ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 996912
[ 0.000000] Policy zone: DMA32
[ 0.000000] Kernel command line:
[ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:on, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0x0000000033400000-0x0000000037400000] (64MB)
[ 0.000000] Memory: 941556K/4050944K available (12352K kernel code, 2538K rwdata, 7808K rodata, 5760K init, 622K bss, 175900K reserved, 65536K cma-reserved)
[ 0.000000] random: get_random_u64 called from __kmem_cache_create+0x34/0x5cc with crng_init=0
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] ftrace: allocating 40621 entries in 159 pages
[ 0.000000] ftrace: allocated 159 pages with 6 groups
[ 0.000000] trace event string verifier disabled
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[ 0.000000] Rude variant of Tasks RCU enabled.
[ 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=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] Root IRQ handler: gic_handle_irq
[ 0.000000] arch_timer: cp15 timer(s) running at 54.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123 ns
[ 0.000000] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns
[ 0.000218] Console: colour dummy device 80x25
[ 0.000573] printk: console [tty0] enabled
[ 0.000672] Calibrating delay loop (skipped), value calculated using timer frequency.. 108.00 BogoMIPS (lpj=216000)
[ 0.000701] pid_max: default: 32768 minimum: 301
[ 0.000849] LSM: Security Framework initializing
[ 0.000888] Yama: disabled by default; enable with sysctl kernel.yama.*
[ 0.001040] AppArmor: AppArmor initialized
[ 0.001061] TOMOYO Linux initialized
[ 0.001202] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.001281] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.003781] rcu: Hierarchical SRCU implementation.
[ 0.005983] EFI services will not be available.
[ 0.006549] smp: Bringing up secondary CPUs ...
[ 0.007231] Detected PIPT I-cache on CPU1
[ 0.007309] CPU1: Booted secondary processor 0x0000000001 [0x410fd083]
[ 0.008163] Detected PIPT I-cache on CPU2
[ 0.008211] CPU2: Booted secondary processor 0x0000000002 [0x410fd083]
[ 0.009022] Detected PIPT I-cache on CPU3
[ 0.009070] CPU3: Booted secondary processor 0x0000000003 [0x410fd083]
[ 0.009182] smp: Brought up 1 node, 4 CPUs
[ 0.009249] SMP: Total of 4 processors activated.
[ 0.009262] CPU features: detected: 32-bit EL0 Support
[ 0.009273] CPU features: detected: 32-bit EL1 Support
[ 0.009287] CPU features: detected: CRC32 instructions
[ 0.027635] ------------[ cut here ]------------
[ 0.027669] CPU: CPUs started in inconsistent modes
[ 0.027683] WARNING: CPU: 0 PID: 1 at arch/arm64/kernel/smp.c:426 smp_cpus_done+0x78/0xc4
[ 0.027737] Modules linked in:
[ 0.027755] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.15.0-trunk-arm64 #1 Debian 5.15.1-1~exp1+apertis1
[ 0.027780] Hardware name: Raspberry Pi 4 Model B (DT)
[ 0.027793] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 0.027814] pc : smp_cpus_done+0x78/0xc4
[ 0.027834] lr : smp_cpus_done+0x78/0xc4
[ 0.027853] sp : ffff800011cabe00
[ 0.027863] x29: ffff800011cabe00 x28: 0000000000000000 x27: 0000000000000000
[ 0.027892] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000
[ 0.027918] x23: 0000000000000000 x22: ffff800011bf1000 x21: 0000000000000000
[ 0.027942] x20: ffff800011527e40 x19: ffff800011a20000 x18: 0000000000000001
[ 0.027967] x17: 000000003303d82a x16: 0000000017a5ca54 x15: 0720072007200720
[ 0.027992] x14: 0720072d072d072d x13: 7365646f6d20746e x12: 65747369736e6f63
[ 0.028017] x11: ffff800011a00270 x10: ffff8000119a9530 x9 : ffff80001011cc1c
[ 0.028042] x8 : ffff8000119a7b68 x7 : ffff8000119ffb68 x6 : fffffffffffe1370
[ 0.028066] x5 : 00000000000019c8 x4 : 000000000000aff5 x3 : 0000000000000000
[ 0.028090] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0000401bbd00
[ 0.028115] Call trace:
[ 0.028127] smp_cpus_done+0x78/0xc4
[ 0.028146] smp_init+0x88/0x98
[ 0.028168] kernel_init_freeable+0x194/0x328
[ 0.028188] kernel_init+0x30/0x140
[ 0.028205] ret_from_fork+0x10/0x20
[ 0.028231] ---[ end trace 63fbe691ec0b5d90 ]---
[ 0.028339] alternatives: patching kernel code
[ 0.118498] node 0 deferred pages initialised in 88ms
[ 0.120117] devtmpfs: initialized
[ 0.128290] Registered cp15_barrier emulation handler
[ 0.128339] Registered setend emulation handler
[ 0.128358] KASLR disabled due to lack of seed
[ 0.128659] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.128756] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.130859] pinctrl core: initialized pinctrl subsystem
[ 0.131744] DMI not present or invalid.
[ 0.132411] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.137247] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[ 0.138056] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.139117] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.139224] audit: initializing netlink subsys (disabled)
[ 0.139503] audit: type=2000 audit(0.136:1): state=initialized audit_enabled=0 res=1
[ 0.140678] thermal_sys: Registered thermal governor 'fair_share'
[ 0.140687] thermal_sys: Registered thermal governor 'bang_bang'
[ 0.140704] thermal_sys: Registered thermal governor 'step_wise'
[ 0.140717] thermal_sys: Registered thermal governor 'user_space'
[ 0.140729] thermal_sys: Registered thermal governor 'power_allocator'
[ 0.140958] cpuidle: using governor ladder
[ 0.141002] cpuidle: using governor menu
[ 0.141066] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.141195] ASID allocator initialised with 65536 entries
[ 0.141611] Serial: AMBA PL011 UART driver
[ 0.168395] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.168437] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.168453] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.168468] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.827731] ACPI: Interpreter disabled.
[ 0.828414] iommu: Default domain type: Translated
[ 0.828435] iommu: DMA domain TLB invalidation policy: strict mode
[ 0.828758] vgaarb: loaded
[ 0.829101] EDAC MC: Ver: 3.0.0
[ 0.830911] NetLabel: Initializing
[ 0.830935] NetLabel: domain hash size = 128
[ 0.830948] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO
[ 0.831028] NetLabel: unlabeled traffic allowed by default
[ 0.831359] clocksource: Switched to clocksource arch_sys_counter
[ 0.876896] VFS: Disk quotas dquot_6.6.0
[ 0.877003] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.877847] AppArmor: AppArmor Filesystem Enabled
[ 0.878080] pnp: PnP ACPI: disabled
[ 0.886909] NET: Registered PF_INET protocol family
[ 0.887522] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[ 0.890639] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[ 0.890952] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[ 0.891690] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
[ 0.892002] TCP: Hash tables configured (established 32768 bind 32768)
[ 0.892511] MPTCP token hash table entries: 4096 (order: 4, 98304 bytes, linear)
[ 0.892714] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[ 0.892836] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[ 0.893509] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.893555] NET: Registered PF_XDP protocol family
[ 0.893578] PCI: CLS 0 bytes, default 64
[ 0.899624] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
[ 0.899845] kvm [1]: HYP mode not available
[ 0.901207] Initialise system trusted keyrings
[ 0.901270] Key type blacklist registered
[ 0.901484] workingset: timestamp_bits=42 max_order=20 bucket_order=0
[ 0.907865] zbud: loaded
[ 0.908694] integrity: Platform Keyring initialized
[ 0.908719] Key type asymmetric registered
[ 0.908733] Asymmetric key parser 'x509' registered
[ 0.908830] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[ 0.909106] io scheduler mq-deadline registered
[ 0.917118] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[ 0.918022] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
[ 0.918057] brcm-pcie fd500000.pcie: No bus range found for /scb/pcie@7d500000, using [bus 00-ff]
[ 0.918106] brcm-pcie fd500000.pcie: MEM 0x0600000000..0x0603ffffff -> 0x00f8000000
[ 0.918149] brcm-pcie fd500000.pcie: IB MEM 0x0000000000..0x00bfffffff -> 0x0000000000
[ 0.981438] brcm-pcie fd500000.pcie: link up, 5.0 GT/s PCIe x1 (SSC)
[ 0.981675] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
[ 0.981697] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.981717] pci_bus 0000:00: root bus resource [mem 0x600000000-0x603ffffff] (bus address [0xf8000000-0xfbffffff])
[ 0.981775] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400
[ 0.981873] pci 0000:00:00.0: PME# supported from D0 D3hot
[ 0.984348] pci 0000:01:00.0: [1106:3483] type 00 class 0x0c0330
[ 0.984432] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit]
[ 0.984623] pci 0000:01:00.0: PME# supported from D0 D3hot
[ 0.997366] pci 0000:00:00.0: BAR 14: assigned [mem 0x600000000-0x6000fffff]
[ 0.997398] pci 0000:01:00.0: BAR 0: assigned [mem 0x600000000-0x600000fff 64bit]
[ 0.997430] pci 0000:00:00.0: PCI bridge to [bus 01]
[ 0.997448] pci 0000:00:00.0: bridge window [mem 0x600000000-0x6000fffff]
[ 0.997645] pcieport 0000:00:00.0: enabling device (0000 -> 0002)
[ 0.997816] pcieport 0000:00:00.0: PME: Signaling with IRQ 50
[ 0.998202] pcieport 0000:00:00.0: AER: enabled with IRQ 50
[ 1.009317] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 1.011505] fe215040.serial: ttyS1 at MMIO 0xfe215040 (irq = 26, base_baud = 24999999) is a 16550
[ 2.138457] printk: console [ttyS1] enabled
[ 2.143703] Serial: AMBA driver
[ 2.146942] SuperH (H)SCI(F) driver initialized
[ 2.152116] msm_serial: driver initialized
[ 2.157303] cacheinfo: Unable to detect cache hierarchy for CPU 0
[ 2.164327] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[ 2.172593] mousedev: PS/2 mouse device common for all mice
[ 2.179403] brcmstb-i2c fef04500.i2c: @97500hz registered in polling mode
[ 2.186670] brcmstb-i2c fef09500.i2c: @97500hz registered in polling mode
[ 2.194931] ledtrig-cpu: registered to indicate activity on CPUs
[ 2.201806] bcm2835-mbox fe00b880.mailbox: mailbox enabled
[ 2.209520] NET: Registered PF_INET6 protocol family
[ 2.221004] Segment Routing with IPv6
[ 2.224811] In-situ OAM (IOAM) with IPv6
[ 2.228893] mip6: Mobile IPv6
[ 2.231922] NET: Registered PF_PACKET protocol family
[ 2.237240] mpls_gso: MPLS GSO support
[ 2.241776] registered taskstats version 1
[ 2.245976] Loading compiled-in X.509 certificates
[ 2.401073] Loaded X.509 cert 'Debian Secure Boot CA: 6ccece7e4c6c0d1f6149f3dd27dfcc5cbb419ea1'
[ 2.410015] Loaded X.509 cert 'Debian Secure Boot Signer 2021 - linux: 4b6ef5abca669825178e052c84667ccbc0531f8c'
[ 2.421388] zswap: loaded using pool lzo/zbud
[ 2.426682] Key type ._fscrypt registered
[ 2.430784] Key type .fscrypt registered
[ 2.434783] Key type fscrypt-provisioning registered
[ 2.442041] Key type encrypted registered
[ 2.446160] AppArmor: AppArmor sha1 policy hashing enabled
[ 2.451809] ima: No TPM chip found, activating TPM-bypass!
[ 2.457420] ima: Allocated hash algorithm: sha256
[ 2.462262] ima: No architecture policies found
[ 2.466931] evm: Initialising EVM extended attributes:
[ 2.472167] evm: security.selinux
[ 2.475543] evm: security.SMACK64 (disabled)
[ 2.479891] evm: security.SMACK64EXEC (disabled)
[ 2.484591] evm: security.SMACK64TRANSMUTE (disabled)
[ 2.489735] evm: security.SMACK64MMAP (disabled)
[ 2.494433] evm: security.apparmor
[ 2.497898] evm: security.ima
[ 2.500919] evm: security.capability
[ 2.504560] evm: HMAC attrs: 0x1
[ 2.513599] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 24, base_baud = 0) is a PL011 rev2
[ 2.522980] serial serial0: tty port ttyAMA0 registered
[ 2.529439] raspberrypi-firmware soc:firmware: Attached to firmware from 2021-04-30T13:45:52
[ 2.703530] List of all partitions:
[ 2.707099] No filesystem could mount root, tried:
[ 2.707103]
[ 2.713604] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 2.722014] CPU: 2 PID: 1 Comm: swapper/0 Tainted: G S 5.15.0-trunk-arm64 #1 Debian 5.15.1-1~exp1+apertis1
[ 2.733255] Hardware name: Raspberry Pi 4 Model B (DT)
[ 2.738478] Call trace:
[ 2.740961] dump_backtrace+0x0/0x1e4
[ 2.744706] show_stack+0x24/0x30
[ 2.748083] dump_stack_lvl+0x68/0x84
[ 2.751814] dump_stack+0x18/0x34
[ 2.755187] panic+0x158/0x358
[ 2.758292] mount_block_root+0x1f4/0x210
[ 2.762376] mount_root+0x15c/0x17c
[ 2.765926] prepare_namespace+0x13c/0x17c
[ 2.770096] kernel_init_freeable+0x2c8/0x328
[ 2.774530] kernel_init+0x30/0x140
[ 2.778080] ret_from_fork+0x10/0x20
[ 2.781721] SMP: stopping secondary CPUs
[ 2.785714] Kernel Offset: disabled
[ 2.789256] CPU features: 0x10000071,00000846
[ 2.793687] Memory Limit: none
[ 2.796795] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]--- |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I've been working on a rust-based bootloader for the raspberry pi 4 .
I'm not sure what I'm missing as I'm not well-versed with Linux but I assume folks who are, may be able to provide some pointers. So, here what I've done so far - follow the Booting AArch64 Linux guide and from what I was able to gather, there are 3 parts to booting
Linux
-My code manages to make it to the final jump after loading the kernel and dtb but after this point nothing happens i.e. I see no serial output or any indication that the kernel has booted (or failed to boot).
Full output:
So, I'm kind out of ideas (until I find a HW debugger) but if anyone has any pointers on what I might be missing here, that would be much appreciated.
Beta Was this translation helpful? Give feedback.
All reactions