[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1035392: installation-reports: Installation Report: Bookworm RC2: Raspberry Pi 400 (netboot)



Package: installation-reports
Severity: normal
Tags: d-i

Boot method: network
Image version: [2023-04-28] Bookworm Release Candidate 2 Installer
Date: 2023-05-02

Machine: Raspberry Pi 400
Partitions:

Filesystem     Type     1K-blocks    Used Available Use% Mounted on
udev           devtmpfs   1871816       0   1871816   0% /dev
tmpfs          tmpfs       386544     704    385840   1% /run
/dev/mmcblk1p2 ext4      14689724 4192988   9728736  31% /
tmpfs          tmpfs      1932704       0   1932704   0% /dev/shm
tmpfs          tmpfs         5120       0      5120   0% /run/lock
/dev/mmcblk1p1 vfat        524008  119424    404584  23% /boot/efi
tmpfs          tmpfs       386540      44    386496   1% /run/user/1000


Base System Installation Checklist:
[O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it

Initial boot:           [O]
Detect network card:    [E]
Configure network:      [O]
Detect media:           [E]
Load installer modules: [E]
Clock/timezone setup:   [O]
User/password setup:    [O]
Detect hard drives:     [E]
Partition hard drives:  [O]
Install base system:    [O]
Install tasks:          [O]
Install boot loader:    [E]
Overall install:        [O]

Comments:

Although the list of problems in this report might seem lengthy and
arcane, I enjoyed the installation process and think that with a few
small fixes, the rough edges can be removed.  I am writing this report
from an LXDE environment on the installed system.


This was largely an experiment to determine how feasible it is to bring
up a Raspberry Pi 400 over the network and to install Debian Bookworm
from there using the standard Debian Installer process.

The TFTP server was dnsmasq with a fairly minimal configuration based on
Debian's PXE-boot wiki page[1].  In addition to Debian Bookworm's
netboot.tar.gz[2] file (for RC2 at the time of download), the EDK2 UEFI
firmware[3] v1.34 was extracted to the /srv/tftp directory.

The only customized dnsmasq setting required was:

  pxe-service=0, "Raspberry Pi Boot"


Additional firmware for use during the install session was provided by
unpacking a firmware.tar.gz[3] file onto a FAT32-formatted USB drive.


Problems:

  * Firmware for the brcmfmac kernel module was not found on the USB
    drive (but is present).  This may be related to #1029843
    
    * Workaround: extracted the .deb contents on another system, placed
      them onto the USB drive, and then used one of the available virtual
      consoles (ctrl-alt-F1 or ctrl-alt-F2) on the install host to mount
      the USB drive and copy the firmware files to /lib/firmware/brcm
      before rmmod'ing and modprobe'ing the kernel module.

  * [minor] The hw-detect/load_firmware dialog box included an
    extraneous newline within the displayed filename(s) for which
    loading failed.
 
  * The microSD card intended as the installation disk did not appear
    under /dev/mmc* when the install began.

    * Workaround: rmmod'd and modprobe'd the sdhci* kernel modules;
      after doing that, the disk was detected and available under /dev

  * After completing the installation and rebooting, the first boot from
    the install disk failed.  The Raspberry Pi's diagnostics console
    showed a 'Firmware not found' message.

    * Fix: this seemed to be due to a lack of Pi-compatible firmware on
      the ESP (EFI System Partition) of the install disk.  To resolve
      the problem, the same EDK2 UEFI firmware used on the dnsmasq
      ntboot server was unpacked into the ESP partition from another
      system (by removing the SD card from the Pi and placing it into
      the other machine).

  * After successfully reaching the EDK2 UEFI boot manager, the system
    appeared to pause without reaching the expected next-stage GRUB
    bootloader.

    * Fix: this appears to be due to the default unpacked EDK2 UEFI
      bootmanager being unaware of the GRUB install on the same ESP
      partition.  That's understandable, because GRUB was installed
      before the EDK2 UEFI.

      The problem was solved by using the built-in boot menu management
      in the EDK2 UEFI to add an entry to boot into Debian.  In
      particular, this involved creating a file-boot entry that runs
      'shimaa64.efi'.

That concludes the installer-related issues; with those problems
worked-around / resolved, the system booted correctly.

There was one more problem that may not be installer-related:

  * The 'raspi-firmware' package failed to configure correctly during
    'apt install', with an exit code 1 and asking whether the
    /boot/firmware path had been mounted.


[1] - https://wiki.debian.org/PXEBootInstall?action=show&redirect=DebianInstaller%2FNetbootPXE#Another_Way_-_use_Dnsmasq

[2] - https://deb.debian.org/debian/dists/testing/main/installer-arm64/current/images/netboot/netboot.tar.gz

[2] - https://github.com/pftf/RPi4/releases/tag/v1.34

[3] - https://cdimage.debian.org/cdimage/firmware/bookworm/20230424/firmware.tar.gz


-- Package-specific info:

==============================================
Installer lsb-release:
==============================================
DISTRIB_ID=Debian
DISTRIB_DESCRIPTION="Debian GNU/Linux installer"
DISTRIB_RELEASE="12 (bookworm) - installer build 20230427"
X_INSTALLATION_MEDIUM=netboot

==============================================
Installer hardware-summary:
==============================================
uname -a: Linux kitchen 6.1.0-7-arm64 #1 SMP Debian 6.1.20-2 (2023-04-08) aarch64 GNU/Linux
usb-list: 
usb-list: Bus 01 Device 01: xHCI Host Controller [1d6b:0002]
usb-list:    Level 00 Parent 00 Port 00  Class 09(hub  ) Subclass 00 Protocol 01
usb-list:    Manufacturer: Linux 6.1.0-7-arm64 xhci-hcd
usb-list:    Interface 00: Class 09(hub  ) Subclass 00 Protocol 00 Driver hub
usb-list: 
usb-list: Bus 01 Device 02: USB2.0 Hub [2109:3431]
usb-list:    Level 01 Parent 01 Port 00  Class 09(hub  ) Subclass 00 Protocol 01
usb-list:    Interface 00: Class 09(hub  ) Subclass 00 Protocol 00 Driver hub
usb-list: 
usb-list: Bus 01 Device 03: Raspberry Pi Internal Keyboard [04d9:0007]
usb-list:    Level 02 Parent 02 Port 03  Class 00(>ifc ) Subclass 00 Protocol 00
usb-list:    Manufacturer:  
usb-list:    Interface 00: Class 03(HID  ) Subclass 01 Protocol 01 Driver usbhid
usb-list:    Interface 01: Class 03(HID  ) Subclass 00 Protocol 00 Driver usbhid
usb-list: 
usb-list: Bus 02 Device 01: xHCI Host Controller [1d6b:0003]
usb-list:    Level 00 Parent 00 Port 00  Class 09(hub  ) Subclass 00 Protocol 03
usb-list:    Manufacturer: Linux 6.1.0-7-arm64 xhci-hcd
usb-list:    Interface 00: Class 09(hub  ) Subclass 00 Protocol 00 Driver hub
usb-list: 
usb-list: Bus 03 Device 01: DWC OTG Controller [1d6b:0002]
usb-list:    Level 00 Parent 00 Port 00  Class 09(hub  ) Subclass 00 Protocol 01
usb-list:    Manufacturer: Linux 6.1.0-7-arm64 dwc2_hsotg
usb-list:    Interface 00: Class 09(hub  ) Subclass 00 Protocol 00 Driver hub
lsmod: Module                  Size  Used by
lsmod: fuse                  135168  0
lsmod: efivarfs               20480  1
lsmod: dm_mod                139264  0
lsmod: dax                    32768  1 dm_mod
lsmod: md_mod                163840  0
lsmod: xfs                  1388544  0
lsmod: jfs                   192512  0
lsmod: btrfs                1478656  0
lsmod: xor                    16384  1 btrfs
lsmod: xor_neon               20480  1 xor
lsmod: raid6_pq              102400  1 btrfs
lsmod: zstd_compress         249856  1 btrfs
lsmod: libcrc32c              16384  2 btrfs,xfs
lsmod: ext4                  765952  1
lsmod: crc16                  16384  1 ext4
lsmod: mbcache                20480  1 ext4
lsmod: jbd2                  139264  1 ext4
lsmod: crc32c_generic         16384  3
lsmod: brcmfmac              299008  0
lsmod: brcmutil               16384  1 brcmfmac
lsmod: cfg80211              782336  1 brcmfmac
lsmod: sdhci_iproc            20480  0
lsmod: sdhci_pltfm            16384  1 sdhci_iproc
lsmod: sdhci                  69632  2 sdhci_pltfm,sdhci_iproc
lsmod: nls_ascii              16384  1
lsmod: nls_cp437              20480  1
lsmod: vfat                   24576  1
lsmod: fat                    77824  1 vfat
lsmod: sd_mod                 57344  0
lsmod: t10_pi                 16384  1 sd_mod
lsmod: crc64_rocksoft         20480  1 t10_pi
lsmod: crc64                  20480  1 crc64_rocksoft
lsmod: crc_t10dif             20480  1 t10_pi
lsmod: crct10dif_common       16384  1 crc_t10dif
lsmod: uas                    28672  0
lsmod: usb_storage            73728  1 uas
lsmod: scsi_mod              229376  3 sd_mod,usb_storage,uas
lsmod: scsi_common            16384  3 scsi_mod,usb_storage,uas
lsmod: hid_generic            16384  0
lsmod: usbhid                 57344  0
lsmod: hid                   135168  2 usbhid,hid_generic
lsmod: broadcom               28672  1
lsmod: bcm_phy_ptp            24576  1 broadcom
lsmod: ptp                    32768  1 bcm_phy_ptp
lsmod: pps_core               24576  1 ptp
lsmod: bcm_phy_lib            20480  2 bcm_phy_ptp,broadcom
lsmod: rfkill                 36864  1 cfg80211
lsmod: genet                  69632  0
lsmod: dwc2                  237568  0
lsmod: mdio_bcm_unimac        20480  0
lsmod: of_mdio                20480  3 mdio_bcm_unimac,genet
lsmod: fixed_phy              16384  2 genet,of_mdio
lsmod: udc_core               57344  1 dwc2
lsmod: xhci_plat_hcd          20480  0
lsmod: fwnode_mdio            20480  1 of_mdio
lsmod: xhci_hcd              258048  1 xhci_plat_hcd
lsmod: roles                  16384  1 dwc2
lsmod: libphy                 98304  7 mdio_bcm_unimac,genet,fwnode_mdio,of_mdio,broadcom,fixed_phy,bcm_phy_lib
lsmod: usbcore               266240  7 xhci_hcd,usbhid,dwc2,usb_storage,brcmfmac,uas,xhci_plat_hcd
lsmod: usb_common             16384  5 xhci_hcd,dwc2,usbcore,xhci_plat_hcd,udc_core
df: Filesystem           1K-blocks      Used Available Use% Mounted on
df: tmpfs                   296708        64    296644   0% /run
df: devtmpfs               1421664         0   1421664   0% /dev
df: /dev/mmcblk1p2        14689724   3969604   9952120  29% /target
df: /dev/mmcblk1p1          524008     11312    512696   2% /target/boot/efi
df: /dev/mmcblk1p2        14689724   3969604   9952120  29% /dev/.static/dev
df: devtmpfs               1421664         0   1421664   0% /target/dev
free:               total        used        free      shared  buff/cache   available
free: Mem:        2967068      122632      906048      244960     1938388     2509364
free: Swap:             0           0           0
/proc/cmdline: BOOT_IMAGE=/debian-installer/arm64/linux --- quiet
/proc/cpuinfo: processor	: 0
/proc/cpuinfo: BogoMIPS	: 108.00
/proc/cpuinfo: Features	: fp asimd evtstrm crc32 cpuid
/proc/cpuinfo: CPU implementer	: 0x41
/proc/cpuinfo: CPU architecture: 8
/proc/cpuinfo: CPU variant	: 0x0
/proc/cpuinfo: CPU part	: 0xd08
/proc/cpuinfo: CPU revision	: 3
/proc/cpuinfo: 
/proc/cpuinfo: processor	: 1
/proc/cpuinfo: BogoMIPS	: 108.00
/proc/cpuinfo: Features	: fp asimd evtstrm crc32 cpuid
/proc/cpuinfo: CPU implementer	: 0x41
/proc/cpuinfo: CPU architecture: 8
/proc/cpuinfo: CPU variant	: 0x0
/proc/cpuinfo: CPU part	: 0xd08
/proc/cpuinfo: CPU revision	: 3
/proc/cpuinfo: 
/proc/cpuinfo: processor	: 2
/proc/cpuinfo: BogoMIPS	: 108.00
/proc/cpuinfo: Features	: fp asimd evtstrm crc32 cpuid
/proc/cpuinfo: CPU implementer	: 0x41
/proc/cpuinfo: CPU architecture: 8
/proc/cpuinfo: CPU variant	: 0x0
/proc/cpuinfo: CPU part	: 0xd08
/proc/cpuinfo: CPU revision	: 3
/proc/cpuinfo: 
/proc/cpuinfo: processor	: 3
/proc/cpuinfo: BogoMIPS	: 108.00
/proc/cpuinfo: Features	: fp asimd evtstrm crc32 cpuid
/proc/cpuinfo: CPU implementer	: 0x41
/proc/cpuinfo: CPU architecture: 8
/proc/cpuinfo: CPU variant	: 0x0
/proc/cpuinfo: CPU part	: 0xd08
/proc/cpuinfo: CPU revision	: 3
/proc/cpuinfo: 
/proc/iomem: 00000000-001fffff : reserved
/proc/iomem: 00200000-3395ffff : System RAM
/proc/iomem:   12730000-1418ffff : Kernel code
/proc/iomem:   14190000-147affff : reserved
/proc/iomem:   147b0000-14b0ffff : Kernel data
/proc/iomem:   2b4a0000-2b4a0fff : reserved
/proc/iomem:   2daa0000-2daaffff : reserved
/proc/iomem:   2dab2000-30d68fff : reserved
/proc/iomem: 33960000-339bffff : reserved
/proc/iomem: 339c0000-339c7fff : System RAM
/proc/iomem:   339c1000-339c1fff : reserved
/proc/iomem: 339c8000-33b1ffff : reserved
/proc/iomem: 33b20000-36ffffff : System RAM
/proc/iomem:   33b20000-33b2ffff : reserved
/proc/iomem:   3579b000-35820fff : reserved
/proc/iomem:   359ed000-359edfff : reserved
/proc/iomem: 37000000-373dffff : reserved
/proc/iomem: 373e0000-3b3fffff : System RAM
/proc/iomem: 3e3b7000-3eb9ffff : efifb
/proc/iomem: 40000000-bfffffff : System RAM
/proc/iomem:   7e20c000-7e20c027 : BCM2844:00
/proc/iomem:   b8200000-bf7fffff : reserved
/proc/iomem:   bf982000-bf982fff : reserved
/proc/iomem:   bf983000-bf9fafff : reserved
/proc/iomem:   bf9fd000-bf9fefff : reserved
/proc/iomem:   bf9ff000-bfa23fff : reserved
/proc/iomem:   bfa24000-bfffffff : reserved
/proc/iomem: fd580000-fd58ffff : BCM6E4E:00
/proc/iomem:   fd580000-fd58ffff : BCM6E4E:00 BCM6E4E:00
/proc/iomem:     fd580e14-fd580e1c : unimac-mdio
/proc/iomem: fe007b00-fe007bff : BCM2844:00
/proc/iomem: fe00b840-fe00b84f : BCM2835:00
/proc/iomem: fe00b880-fe00b8a3 : BCM2849:00
/proc/iomem: fe1010a0-fe1010a7 : BCM2844:00
/proc/iomem: fe200000-fe2000b3 : BCM2845:00
/proc/iomem: fe201000-fe201fff : BCM2837:00
/proc/iomem:   fe201000-fe201fff : BCM2837:00 BCM2837:00
/proc/iomem: fe204000-fe20401f : BCM2838:00
/proc/iomem: fe20c000-fe20c027 : BCM2844:00
/proc/iomem: fe215000-fe21506f : BCM2836:00
/proc/iomem:   fe215040-fe21506f : serial
/proc/iomem: fe215080-fe2150bf : BCM2839:00
/proc/iomem: fe300000-fe3000ff : BCM2847:00
/proc/iomem:   fe300000-fe3000ff : BCM2847:00 BCM2847:00
/proc/iomem: fe340000-fe3400ff : BRCME88C:00
/proc/iomem:   fe340000-fe3400ff : BRCME88C:00 BRCME88C:00
/proc/iomem: fe804000-fe80401f : BCM2841:00
/proc/iomem: fe805000-fe80501f : BCM2841:01
/proc/iomem: fe980000-fe98ffff : BCM2848:00
/proc/iomem:   fe980000-fe98ffff : BCM2848:00 BCM2848:00
/proc/iomem: ff20c000-ff20c027 : BCM2844:00
/proc/iomem: 600000000-600000fff : PNP0D10:00
/proc/iomem:   600000000-600000fff : PNP0D10:00 PNP0D10:00
/proc/interrupts:            CPU0       CPU1       CPU2       CPU3       
/proc/interrupts:   9:          0          0          0          0     GICv2  25 Level     vgic
/proc/interrupts:  10:     180824     169809     169577     178825     GICv2  30 Level     arch_timer
/proc/interrupts:  11:          0          0          0          0     GICv2  27 Level     kvm guest vtimer
/proc/interrupts:  13:          1          0          0          0     GICv2 105 Level     BCM2848:00, BCM2848:00, dwc2_hsotg:usb3
/proc/interrupts:  24:    1051690          0          0          0     GICv2 158 Level     mmc0, mmc1
/proc/interrupts:  25:     587616          0          0          0     GICv2 189 Level     enabcm6e4ei0
/proc/interrupts:  26:     130859          0          0          0     GICv2 190 Level     enabcm6e4ei0
/proc/interrupts:  27:       5125          0          0          0     GICv2 175 Level     xhci-hcd:usb1
/proc/interrupts:  29:          0          0          0          0     GICv2  48 Level     arm-pmu
/proc/interrupts:  30:          0          0          0          0     GICv2  49 Level     arm-pmu
/proc/interrupts:  31:          0          0          0          0     GICv2  50 Level     arm-pmu
/proc/interrupts:  32:          0          0          0          0     GICv2  51 Level     arm-pmu
/proc/interrupts: IPI0:     20530      34785      25297      29077       Rescheduling interrupts
/proc/interrupts: IPI1:    360367     480939     468113     520983       Function call interrupts
/proc/interrupts: IPI2:         0          0          0          0       CPU stop interrupts
/proc/interrupts: IPI3:         0          0          0          0       CPU stop (for crash dump) interrupts
/proc/interrupts: IPI4:         0          0          0          0       Timer broadcast interrupts
/proc/interrupts: IPI5:         0          0          0          0       IRQ work interrupts
/proc/interrupts: IPI6:         0          0          0          0       CPU wake-up interrupts
/proc/interrupts: Err:          0
/proc/meminfo: MemTotal:        2967068 kB
/proc/meminfo: MemFree:          906092 kB
/proc/meminfo: MemAvailable:    2509408 kB
/proc/meminfo: Buffers:            3404 kB
/proc/meminfo: Cached:          1649216 kB
/proc/meminfo: SwapCached:            0 kB
/proc/meminfo: Active:           547068 kB
/proc/meminfo: Inactive:        1133648 kB
/proc/meminfo: Active(anon):     150604 kB
/proc/meminfo: Inactive(anon):   122452 kB
/proc/meminfo: Active(file):     396464 kB
/proc/meminfo: Inactive(file):  1011196 kB
/proc/meminfo: Unevictable:           0 kB
/proc/meminfo: Mlocked:               0 kB
/proc/meminfo: SwapTotal:             0 kB
/proc/meminfo: SwapFree:              0 kB
/proc/meminfo: Zswap:                 0 kB
/proc/meminfo: Zswapped:              0 kB
/proc/meminfo: Dirty:              1388 kB
/proc/meminfo: Writeback:             0 kB
/proc/meminfo: AnonPages:         28156 kB
/proc/meminfo: Mapped:             5120 kB
/proc/meminfo: Shmem:            244960 kB
/proc/meminfo: KReclaimable:     285768 kB
/proc/meminfo: Slab:             332636 kB
/proc/meminfo: SReclaimable:     285768 kB
/proc/meminfo: SUnreclaim:        46868 kB
/proc/meminfo: KernelStack:        1832 kB
/proc/meminfo: PageTables:          876 kB
/proc/meminfo: SecPageTables:         0 kB
/proc/meminfo: NFS_Unstable:          0 kB
/proc/meminfo: Bounce:                0 kB
/proc/meminfo: WritebackTmp:          0 kB
/proc/meminfo: CommitLimit:     1483532 kB
/proc/meminfo: Committed_AS:     280340 kB
/proc/meminfo: VmallocTotal:   133143592960 kB
/proc/meminfo: VmallocUsed:       17428 kB
/proc/meminfo: VmallocChunk:          0 kB
/proc/meminfo: Percpu:              528 kB
/proc/meminfo: HardwareCorrupted:     0 kB
/proc/meminfo: AnonHugePages:     20480 kB
/proc/meminfo: ShmemHugePages:        0 kB
/proc/meminfo: ShmemPmdMapped:        0 kB
/proc/meminfo: FileHugePages:         0 kB
/proc/meminfo: FilePmdMapped:         0 kB
/proc/meminfo: CmaTotal:          65536 kB
/proc/meminfo: CmaFree:           28964 kB
/proc/meminfo: HugePages_Total:       0
/proc/meminfo: HugePages_Free:        0
/proc/meminfo: HugePages_Rsvd:        0
/proc/meminfo: HugePages_Surp:        0
/proc/meminfo: Hugepagesize:       2048 kB
/proc/meminfo: Hugetlb:               0 kB
/proc/bus/input/devices: I: Bus=0003 Vendor=04d9 Product=0007 Version=0111
/proc/bus/input/devices: N: Name="  Raspberry Pi Internal Keyboard"
/proc/bus/input/devices: P: Phys=usb-PNP0D10:00-1.4/input0
/proc/bus/input/devices: S: Sysfs=/devices/system/container/ACPI0004:02/PNP0D10:00/usb1/1-1/1-1.4/1-1.4:1.0/0003:04D9:0007.0001/input/input0
/proc/bus/input/devices: U: Uniq=
/proc/bus/input/devices: H: Handlers=sysrq kbd leds 
/proc/bus/input/devices: B: PROP=0
/proc/bus/input/devices: B: EV=120013
/proc/bus/input/devices: B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
/proc/bus/input/devices: B: MSC=10
/proc/bus/input/devices: B: LED=7
/proc/bus/input/devices: 
/proc/bus/input/devices: I: Bus=0003 Vendor=04d9 Product=0007 Version=0111
/proc/bus/input/devices: N: Name="  Raspberry Pi Internal Keyboard"
/proc/bus/input/devices: P: Phys=usb-PNP0D10:00-1.4/input1
/proc/bus/input/devices: S: Sysfs=/devices/system/container/ACPI0004:02/PNP0D10:00/usb1/1-1/1-1.4/1-1.4:1.1/0003:04D9:0007.0002/input/input1
/proc/bus/input/devices: U: Uniq=
/proc/bus/input/devices: H: Handlers=kbd 
/proc/bus/input/devices: B: PROP=0
/proc/bus/input/devices: B: EV=13
/proc/bus/input/devices: B: KEY=103a00001000 e000000000000 0
/proc/bus/input/devices: B: MSC=10
/proc/bus/input/devices: 

==============================================
Installer firmware-summary:
==============================================
# No firmware or microcode packages deployed by the installer


Reply to: