raspberrypi / firmware

This repository contains pre-compiled binaries of the current Raspberry Pi kernel and modules, userspace libraries, and bootloader/GPU firmware.
5.15k stars 1.68k forks source link

Feature request: RPI network boot shall pick first files from /boot, then TFTP #1371

Open inakypg opened 4 years ago

inakypg commented 4 years ago

Is this the right place for my bug report? This repository contains the GPU firmware used on the Raspberry Pi. This software is the closed source part of the Raspberry Pi system, it includes booting (including network booting and USB booting), low-level power and clock control, FKMS and legacy HDMI control (not full KMS that is in the linux kernel), hardware legacy codecs (MPEG2, H264 and VC1), encode hardware including the ISP (image sensor pipeline) and camera control, audio output (analogue and HDMI audio).

If you believe that the issue you are seeing is within this area, this is the right place. If not, we have other repositories for the linux kernel at github.com/raspberrypi/linux and Raspberry Pi userland applications at github.com/raspberrypi/userland. If you have problems with the Raspbian distribution packages, report them in the github.com/RPi-Distro/repo. If you simply have a question, then the Raspberry Pi forums are the best place to ask it.

Describe the bug When RPI is network booting, it shall try to pick files from the sdcard's /boot partition first and if not found, then try the TFTP server.

What for? To minimize the amount of stuff kept on the TFTP server, and so the RPIs may be moved around without having to also coordinate it in the TFTP server.

To reproduce Setup a TFTP server with only bootcode.bin; setup an RPI with the normal /boot partition sans bootcode.bin

Expected behaviour RPI boots because it picked up bootcode.bin and then the rest from sdcard's /boot.

Actual behaviour RPI does not boot beause it tries to find all boot files off the TFTP server, and they are not necessarily there.

System System Information

Raspberry Pi 3 Model B Plus Rev 1.3\0 PRETTY_NAME="Raspbian GNU/Linux 10 (buster)" NAME="Raspbian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)"

Raspberry Pi reference 2020-02-13 Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 5f884374b6ac6e155330c58caa1fb7249b8badf1, stage4

Linux raspberrypi 4.19.97-v7+ #1294 SMP Thu Jan 30 13:15:58 GMT 2020 armv7l GNU/Linux Revision : a020d3 Serial : 0000000076fb1f9e Model : Raspberry Pi 3 Model B Plus Rev 1.3 Throttled flag : throttled=0x0 Camera : supported=0 detected=0

Videocore information

Feb 12 2020 12:38:08 Copyright (c) 2012 Broadcom version 53a54c770c493957d99bf49762dfabc4eee00e45 (clean) (release) (start)

alloc failures: 0 compactions: 0 legacy block fails: 0

Filesystem information

Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 30471072 3059176 26125088 11% / devtmpfs 469540 0 469540 0% /dev tmpfs 474148 0 474148 0% /dev/shm tmpfs 474148 6356 467792 2% /run tmpfs 5120 4 5116 1% /run/lock tmpfs 474148 0 474148 0% /sys/fs/cgroup /dev/mmcblk0p1 258095 53463 204632 21% /boot tmpfs 94828 0 94828 0% /run/user/1000

Filename Type Size Used Priority /var/swap file 102396 0 -2

Package version information

raspberrypi-ui-mods: Installed: 1.20200218 raspberrypi-sys-mods: Installed: 20191105 openbox: Installed: 3.6.1-8+rpt3 lxpanel: Installed: 0.10.0-2+rpt7 pcmanfm: Installed: 1.3.1-1+rpt20 rpd-plym-splash: Installed: 0.21

Networking Information

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet x.x.x.x netmask x.x.x.x broadcast x.x.x.x inet6 y::y.y.y.y prefixlen 64 scopeid 0x20 ether m.m.m.m txqueuelen 1000 (Ethernet) RX packets 342 bytes 27273 (26.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 81 bytes 11519 (11.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet x.x.x.x netmask x.x.x.x inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

USB Information

/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M | Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M | Port 1: Dev 3, If 0, Class=Hub, Driver=hub/3p, 480M |__ Port 1: Dev 4, If 0, Class=Vendor Specific Class, Driver=lan78xx, 480M

config.txt

aphy_params_current=819 arm_freq=1400 audio_pwm_mode=514 config_hdmi_boost=5 core_freq=400 desired_osc_freq=0x331df0 desired_osc_freq_boost=0x3c45b0 disable_commandline_tags=2 disable_l2cache=1 disable_overscan=1 display_hdmi_rotate=-1 display_lcd_rotate=-1 dphy_params_current=547 force_eeprom_read=1 force_pwm_open=1 framebuffer_ignore_alpha=1 framebuffer_swap=1 gpu_freq=300 init_uart_clock=0x2dc6c00 lcd_framerate=60 over_voltage_avs=37500 over_voltage_avs_boost=0x23186 pause_burst_frames=1 program_serial_random=1 program_usb_boot_mode=1 sdram_freq=450 hdmi_force_cec_address:0=65535 hdmi_force_cec_address:1=65535 hdmi_pixel_freq_limit:0=0x9a7ec80 hdmi_pixel_freq_limit:1=0x9a7ec80 device_tree=- overlay_prefix=overlays/ hdmi_cvt:0= hdmi_cvt:1= hdmi_edid_filename:0= hdmi_edid_filename:1= hdmi_timings:0= hdmi_timings:1=

cmdline.txt

coherent_pool=1M 8250.nr_uarts=0 bcm2708_fb.fbwidth=720 bcm2708_fb.fbheight=480 bcm2708_fb.fbswap=1 smsc95xx.macaddr=B8:27:EB:FB:1F:9E vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 console=tty1 root=PARTUUID=ea7d04d6-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

raspi-gpio settings

BANK0 (GPIO 0 to 27): GPIO 0: level=1 fsel=0 func=INPUT GPIO 1: level=1 fsel=0 func=INPUT GPIO 2: level=1 fsel=0 func=INPUT GPIO 3: level=1 fsel=0 func=INPUT GPIO 4: level=1 fsel=0 func=INPUT GPIO 5: level=1 fsel=0 func=INPUT GPIO 6: level=1 fsel=0 func=INPUT GPIO 7: level=1 fsel=0 func=INPUT GPIO 8: level=1 fsel=0 func=INPUT GPIO 9: level=0 fsel=0 func=INPUT GPIO 10: level=0 fsel=0 func=INPUT GPIO 11: level=0 fsel=0 func=INPUT GPIO 12: level=0 fsel=0 func=INPUT GPIO 13: level=0 fsel=0 func=INPUT GPIO 14: level=0 fsel=0 func=INPUT GPIO 15: level=1 fsel=0 func=INPUT GPIO 16: level=0 fsel=0 func=INPUT GPIO 17: level=0 fsel=0 func=INPUT GPIO 18: level=0 fsel=0 func=INPUT GPIO 19: level=0 fsel=0 func=INPUT GPIO 20: level=0 fsel=0 func=INPUT GPIO 21: level=0 fsel=0 func=INPUT GPIO 22: level=0 fsel=0 func=INPUT GPIO 23: level=0 fsel=0 func=INPUT GPIO 24: level=0 fsel=0 func=INPUT GPIO 25: level=0 fsel=0 func=INPUT GPIO 26: level=0 fsel=0 func=INPUT GPIO 27: level=0 fsel=0 func=INPUT BANK1 (GPIO 28 to 45): GPIO 28: level=0 fsel=0 func=INPUT GPIO 29: level=0 fsel=1 func=OUTPUT GPIO 30: level=0 fsel=7 alt=3 func=CTS0 GPIO 31: level=1 fsel=7 alt=3 func=RTS0 GPIO 32: level=1 fsel=7 alt=3 func=TXD0 GPIO 33: level=1 fsel=7 alt=3 func=RXD0 GPIO 34: level=0 fsel=7 alt=3 func=SD1_CLK GPIO 35: level=1 fsel=7 alt=3 func=SD1_CMD GPIO 36: level=1 fsel=7 alt=3 func=SD1_DAT0 GPIO 37: level=1 fsel=7 alt=3 func=SD1_DAT1 GPIO 38: level=1 fsel=7 alt=3 func=SD1_DAT2 GPIO 39: level=1 fsel=7 alt=3 func=SD1_DAT3 GPIO 40: level=0 fsel=4 alt=0 func=PWM0 GPIO 41: level=0 fsel=4 alt=0 func=PWM1 GPIO 42: level=1 fsel=4 alt=0 func=GPCLK1 GPIO 43: level=0 fsel=4 alt=0 func=GPCLK2 GPIO 44: level=1 fsel=0 func=INPUT GPIO 45: level=1 fsel=0 func=INPUT BANK2 (GPIO 46 to 53): GPIO 46: level=1 fsel=0 func=INPUT GPIO 47: level=1 fsel=1 func=OUTPUT GPIO 48: level=0 fsel=4 alt=0 func=SD0_CLK GPIO 49: level=1 fsel=4 alt=0 func=SD0_CMD GPIO 50: level=1 fsel=4 alt=0 func=SD0_DAT0 GPIO 51: level=1 fsel=4 alt=0 func=SD0_DAT1 GPIO 52: level=1 fsel=4 alt=0 func=SD0_DAT2 GPIO 53: level=1 fsel=4 alt=0 func=SD0_DAT3

vcdbg log messages

009756.824: brfs: File read: /mfs/sd/config.txt 009757.791: brfs: File read: 1808 bytes 009835.959: brfs: File read: /mfs/sd/config.txt 010056.539: gpioman: gpioman_get_pin_num: pin DISPLAY_DSI_PORT not defined 010058.628: *** Restart logging 010058.693: brfs: File read: 1808 bytes 010088.677: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead 010118.009: brfs: File read: /mfs/sd/bcm2710-rpi-3-b-plus.dtb 010118.072: Loading 'bcm2710-rpi-3-b-plus.dtb' to 0x100 size 0x69db 010341.278: brfs: File read: 27099 bytes 010343.651: brfs: File read: /mfs/sd/config.txt 010344.324: dtparam: audio=on 010375.898: brfs: File read: 1808 bytes 010377.193: brfs: File read: /mfs/sd/cmdline.txt 010377.293: Read command line from file 'cmdline.txt': 010377.359: 'console=serial0,115200 console=tty1 root=PARTUUID=ea7d04d6-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles' 012345.029: gpioman: gpioman_get_pin_num: pin EMMC_ENABLE not defined 012510.742: brfs: File read: 166 bytes 015555.483: brfs: File read: /mfs/sd/kernel7.img 015555.548: Loading 'kernel7.img' to 0x8000 size 0x52c4f8 015555.617: Device tree loaded to 0x2eff9100 (size 0x6e42) 016809.443: vchiq_core: vchiq_init_state: slot_zero = 0xfad80000, is_master = 1 016813.621: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead 016818.825: TV service:host side not connected, dropping notification 0x00000002, 0x00000001, 0x00000002 023296.440: brfs: File read: 5424376 bytes

dmesg log

[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.19.97-v7+ (dom@buildbot) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1294 SMP Thu Jan 30 13:15:58 GMT 2020 [ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d [ 0.000000] CPU: div instructions available: patching division code [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: Raspberry Pi 3 Model B Plus Rev 1.3 [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] cma: Reserved 8 MiB at 0x3ac00000 [ 0.000000] On node 0 totalpages: 242688 [ 0.000000] Normal zone: 2133 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 242688 pages, LIFO batch:63 [ 0.000000] random: get_random_bytes called from start_kernel+0xac/0x4b4 with crng_init=0 [ 0.000000] percpu: Embedded 16 pages/cpu s36864 r8192 d20480 u65536 [ 0.000000] pcpu-alloc: s36864 r8192 d20480 u65536 alloc=16*4096 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 240555 [ 0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 bcm2708_fb.fbwidth=720 bcm2708_fb.fbheight=480 bcm2708_fb.fbswap=1 smsc95xx.macaddr=m.m.m.m vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 console=tty1 root=PARTUUID=ea7d04d6-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Memory: 939080K/970752K available (8192K kernel code, 653K rwdata, 2220K rodata, 1024K init, 822K bss, 23480K reserved, 8192K cma-reserved) [ 0.000000] Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xffc00000 - 0xfff00000 (3072 kB) vmalloc : 0xbb800000 - 0xff800000 (1088 MB) lowmem : 0x80000000 - 0xbb400000 ( 948 MB) modules : 0x7f000000 - 0x80000000 ( 16 MB) .text : 0x(ptrval) - 0x(ptrval) (9184 kB) .init : 0x(ptrval) - 0x(ptrval) (1024 kB) .data : 0x(ptrval) - 0x(ptrval) ( 654 kB) .bss : 0x(ptrval) - 0x(ptrval) ( 823 kB) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] ftrace: allocating 26860 entries in 79 pages [ 0.000000] rcu: Hierarchical RCU implementation. [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 [ 0.000000] arch_timer: cp15 timer(s) running at 19.20MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns [ 0.000007] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns [ 0.000020] Switching to timer-based delay loop, resolution 52ns [ 0.000280] Console: colour dummy device 80x30 [ 0.000299] console [tty1] enabled [ 0.000340] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000) [ 0.000355] pid_max: default: 32768 minimum: 301 [ 0.000694] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000710] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.001658] CPU: Testing write buffer coherency: ok [ 0.002121] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.002779] Setting up static identity map for 0x100000 - 0x10003c [ 0.002930] rcu: Hierarchical SRCU implementation. [ 0.003733] smp: Bringing up secondary CPUs ... [ 0.004625] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.005618] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002 [ 0.006532] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003 [ 0.006654] smp: Brought up 1 node, 4 CPUs [ 0.006666] SMP: Total of 4 processors activated (153.60 BogoMIPS). [ 0.006672] CPU: All CPU(s) started in HYP mode. [ 0.006677] CPU: Virtualization extensions available. [ 0.007650] devtmpfs: initialized [ 0.020974] VFP support v0.3: implementor 41 architecture 3 part 40 variant 3 rev 4 [ 0.021212] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.021232] futex hash table entries: 1024 (order: 4, 65536 bytes) [ 0.021818] pinctrl core: initialized pinctrl subsystem [ 0.022664] NET: Registered protocol family 16 [ 0.025756] DMA: preallocated 1024 KiB pool for atomic coherent allocations [ 0.031537] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers. [ 0.031545] hw-breakpoint: maximum watchpoint size is 8 bytes. [ 0.031752] Serial: AMBA PL011 UART driver [ 0.034114] bcm2835-mbox 3f00b880.mailbox: mailbox enabled [ 0.050033] raspberrypi-firmware soc:firmware: Attached to firmware from 2020-02-12 12:38, variant start [ 0.060047] raspberrypi-firmware soc:firmware: Firmware hash is 53a54c770c493957d99bf49762dfabc4eee00e45 [ 0.103148] bcm2835-dma 3f007000.dma: DMA legacy API manager at (ptrval), dmachans=0x1 [ 0.104787] SCSI subsystem initialized [ 0.105008] usbcore: registered new interface driver usbfs [ 0.105062] usbcore: registered new interface driver hub [ 0.105154] usbcore: registered new device driver usb [ 0.106823] clocksource: Switched to clocksource arch_sys_counter [ 0.196836] VFS: Disk quotas dquot_6.6.0 [ 0.196921] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 0.197105] FS-Cache: Loaded [ 0.197314] CacheFiles: Loaded [ 0.207351] NET: Registered protocol family 2 [ 0.208193] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes) [ 0.208230] TCP established hash table entries: 8192 (order: 3, 32768 bytes) [ 0.208341] TCP bind hash table entries: 8192 (order: 4, 65536 bytes) [ 0.208526] TCP: Hash tables configured (established 8192 bind 8192) [ 0.208662] UDP hash table entries: 512 (order: 2, 16384 bytes) [ 0.208712] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) [ 0.208949] NET: Registered protocol family 1 [ 0.209526] RPC: Registered named UNIX socket transport module. [ 0.209533] RPC: Registered udp transport module. [ 0.209538] RPC: Registered tcp transport module. [ 0.209544] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.211267] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 7 counters available [ 0.214320] Initialise system trusted keyrings [ 0.214514] workingset: timestamp_bits=14 max_order=18 bucket_order=4 [ 0.224315] FS-Cache: Netfs 'nfs' registered for caching [ 0.224880] NFS: Registering the id_resolver key type [ 0.224913] Key type id_resolver registered [ 0.224919] Key type id_legacy registered [ 0.224935] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 0.227274] Key type asymmetric registered [ 0.227282] Asymmetric key parser 'x509' registered [ 0.227335] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250) [ 0.227487] io scheduler noop registered [ 0.227495] io scheduler deadline registered (default) [ 0.227680] io scheduler cfq registered [ 0.227687] io scheduler mq-deadline registered (default) [ 0.227694] io scheduler kyber registered [ 0.229931] bcm2708_fb soc:fb: FB found 1 display(s) [ 0.241416] Console: switching to colour frame buffer device 90x30 [ 0.247000] bcm2708_fb soc:fb: Registered framebuffer for display 0, size 720x480 [ 0.249093] bcm2835-rng 3f104000.rng: hwrng registered [ 0.249396] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000000(1024 MiB) [ 0.249932] vc-sm: Videocore shared memory driver [ 0.250250] gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000 [ 0.260920] brd: module loaded [ 0.271081] loop: module loaded [ 0.271660] Loading iSCSI transport class v2.0-870. [ 0.272353] libphy: Fixed MDIO Bus: probed [ 0.272459] usbcore: registered new interface driver lan78xx [ 0.272516] usbcore: registered new interface driver smsc95xx [ 0.272532] dwc_otg: version 3.00a 10-AUG-2012 (platform bus) [ 0.299951] dwc_otg 3f980000.usb: base=(ptrval) [ 0.500181] Core Release: 2.80a [ 0.500191] Setting default values for core params [ 0.500222] Finished setting default values for core params [ 0.700529] Using Buffer DMA mode [ 0.700536] Periodic Transfer Interrupt Enhancement - disabled [ 0.700542] Multiprocessor Interrupt Enhancement - disabled [ 0.700549] OTG VER PARAM: 0, OTG VER FLAG: 0 [ 0.700566] Dedicated Tx FIFOs mode [ 0.701020] WARN::dwc_otg_hcd_init:1074: FIQ DMA bounce buffers: virt = bad14000 dma = 0xfad14000 len=9024 [ 0.701046] FIQ FSM acceleration enabled for : Non-periodic Split Transactions Periodic Split Transactions High-Speed Isochronous Endpoints Interrupt/Control Split Transaction hack enabled [ 0.701054] dwc_otg: Microframe scheduler enabled [ 0.701110] WARN::hcd_init_fiq:457: FIQ on core 1 [ 0.701120] WARN::hcd_init_fiq:458: FIQ ASM at 8067fd10 length 36 [ 0.701131] WARN::hcd_init_fiq:497: MPHI regs_base at bb810000 [ 0.701147] dwc_otg 3f980000.usb: DWC OTG Controller [ 0.701179] dwc_otg 3f980000.usb: new USB bus registered, assigned bus number 1 [ 0.701214] dwc_otg 3f980000.usb: irq 56, io mem 0x00000000 [ 0.701262] Init: Port Power? op_state=1 [ 0.701268] Init: Power Port (0) [ 0.701525] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19 [ 0.701536] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 0.701545] usb usb1: Product: DWC OTG Controller [ 0.701554] usb usb1: Manufacturer: Linux 4.19.97-v7+ dwc_otg_hcd [ 0.701563] usb usb1: SerialNumber: 3f980000.usb [ 0.702181] hub 1-0:1.0: USB hub found [ 0.702232] hub 1-0:1.0: 1 port detected [ 0.702811] dwc_otg: FIQ enabled [ 0.702817] dwc_otg: NAK holdoff enabled [ 0.702823] dwc_otg: FIQ split-transaction FSM enabled [ 0.702833] Module dwc_common_port init [ 0.703091] usbcore: registered new interface driver usb-storage [ 0.703266] mousedev: PS/2 mouse device common for all mice [ 0.704090] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer [ 0.704330] bcm2835-cpufreq: min=600000 max=1400000 [ 0.704798] sdhci: Secure Digital Host Controller Interface driver [ 0.704804] sdhci: Copyright(c) Pierre Ossman [ 0.705190] mmc-bcm2835 3f300000.mmcnr: could not get clk, deferring probe [ 0.705599] sdhost-bcm2835 3f202000.mmc: could not get clk, deferring probe [ 0.705725] sdhci-pltfm: SDHCI platform and OF driver helper [ 0.707257] ledtrig-cpu: registered to indicate activity on CPUs [ 0.707411] hidraw: raw HID events driver (C) Jiri Kosina [ 0.707610] usbcore: registered new interface driver usbhid [ 0.707616] usbhid: USB HID core driver [ 0.708393] vchiq: vchiq_init_state: slot_zero = (ptrval), is_master = 0

[ 0.718662] [vc_sm_connected_init]: end - returning 0 [ 0.719744] Initializing XFRM netlink socket [ 0.719768] NET: Registered protocol family 17 [ 0.719899] Key type dns_resolver registered [ 0.720470] Registering SWP/SWPB emulation handler [ 0.721117] registered taskstats version 1 [ 0.721135] Loading compiled-in X.509 certificates [ 0.728001] uart-pl011 3f201000.serial: cts_event_workaround enabled [ 0.728081] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 81, base_baud = 0) is a PL011 rev2 [ 0.729962] mmc-bcm2835 3f300000.mmcnr: mmc_debug:0 mmc_debug2:0 [ 0.729973] mmc-bcm2835 3f300000.mmcnr: DMA channel allocated [ 0.756189] sdhost: log_buf @ (ptrval) (fad13000) [ 0.793502] mmc1: queuing unknown CIS tuple 0x80 (2 bytes) [ 0.795086] mmc1: queuing unknown CIS tuple 0x80 (3 bytes) [ 0.796671] mmc1: queuing unknown CIS tuple 0x80 (3 bytes) [ 0.799482] mmc1: queuing unknown CIS tuple 0x80 (7 bytes) [ 0.804641] mmc0: sdhost-bcm2835 loaded - DMA enabled (>1) [ 0.805939] of_cfs_init [ 0.806092] of_cfs_init: OK [ 0.806721] Waiting for root device PARTUUID=ea7d04d6-02... [ 0.864016] mmc0: host does not support reading read-only switch, assuming write-enable [ 0.867042] mmc0: new high speed SDHC card at address 59b4 [ 0.868338] mmcblk0: mmc0:59b4 29.8 GiB [ 0.870341] mmcblk0: p1 p2 [ 0.872923] random: fast init done [ 0.882918] mmc1: new high speed SDIO card at address 0001 [ 0.889826] EXT4-fs (mmcblk0p2): INFO: recovery required on readonly filesystem [ 0.889835] EXT4-fs (mmcblk0p2): write access will be enabled during recovery [ 0.926951] Indeed it is in host mode hprt0 = 00021501 [ 1.136865] usb 1-1: new high-speed USB device number 2 using dwc_otg [ 1.136992] Indeed it is in host mode hprt0 = 00001101 [ 1.377105] usb 1-1: New USB device found, idVendor=0424, idProduct=2514, bcdDevice= b.b3 [ 1.377117] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 1.377762] hub 1-1:1.0: USB hub found [ 1.377864] hub 1-1:1.0: 4 ports detected [ 1.696849] usb 1-1.1: new high-speed USB device number 3 using dwc_otg [ 1.827086] usb 1-1.1: New USB device found, idVendor=0424, idProduct=2514, bcdDevice= b.b3 [ 1.827098] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 1.827640] hub 1-1.1:1.0: USB hub found [ 1.827728] hub 1-1.1:1.0: 3 ports detected [ 2.180561] dwc_otg_handle_wakeup_detected_intr lxstate = 2 [ 2.586848] usb 1-1.1.1: new high-speed USB device number 4 using dwc_otg [ 2.717238] usb 1-1.1.1: New USB device found, idVendor=0424, idProduct=7800, bcdDevice= 3.00 [ 2.717250] usb 1-1.1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 2.981093] lan78xx 1-1.1.1:1.0 (unnamed net_device) (uninitialized): No External EEPROM. Setting MAC Speed [ 2.982039] libphy: lan78xx-mdiobus: probed [ 2.987446] lan78xx 1-1.1.1:1.0 (unnamed net_device) (uninitialized): int urb period 64 [ 3.826239] EXT4-fs (mmcblk0p2): recovery complete [ 3.835341] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) [ 3.835398] VFS: Mounted root (ext4 filesystem) readonly on device 179:2. [ 3.837485] devtmpfs: mounted [ 3.842423] Freeing unused kernel memory: 1024K [ 3.842792] Run /sbin/init as init process [ 4.440099] systemd[1]: System time before build time, advancing clock. [ 4.572170] NET: Registered protocol family 10 [ 4.573607] Segment Routing with IPv6 [ 4.619969] systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid) [ 4.620870] systemd[1]: Detected architecture arm. [ 4.629224] systemd[1]: Set hostname to . [ 5.459801] random: systemd: uninitialized urandom read (16 bytes read) [ 5.471040] random: systemd: uninitialized urandom read (16 bytes read) [ 5.476576] systemd[1]: Created slice system-getty.slice. [ 5.476979] random: systemd: uninitialized urandom read (16 bytes read) [ 5.478370] systemd[1]: Created slice User and Session Slice. [ 5.478991] systemd[1]: Listening on udev Kernel Socket. [ 5.505236] systemd[1]: Condition check resulted in Journal Audit Socket being skipped. [ 5.506217] systemd[1]: Listening on Journal Socket. [ 5.511796] systemd[1]: Mounting Kernel Debug File System... [ 5.518634] systemd[1]: Mounting POSIX Message Queue File System... [ 5.694362] i2c /dev entries driver [ 6.237746] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) [ 6.346382] systemd-journald[104]: Received request to flush runtime journal from PID 1 [ 6.966385] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned. [ 6.970007] bcm2835_vc_sm_cma_probe: Videocore shared memory driver

[ 6.974398] media: Linux media interface: v0.10 [ 6.978739] [vc_sm_connected_init]: installed successfully [ 7.014640] videodev: Linux video capture interface: v2.00 [ 7.123768] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned. [ 7.125104] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned. [ 7.190338] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned. [ 7.207968] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned. [ 7.209942] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned. [ 7.228951] bcm2835_audio soc:audio: card created with 8 channels [ 7.251404] bcm2835-codec bcm2835-codec: Device registered as /dev/video10 [ 7.251442] bcm2835-codec bcm2835-codec: Loaded V4L2 decode [ 7.258829] bcm2835-codec bcm2835-codec: Device registered as /dev/video11 [ 7.258868] bcm2835-codec bcm2835-codec: Loaded V4L2 encode [ 7.269959] bcm2835-codec bcm2835-codec: Device registered as /dev/video12 [ 7.270001] bcm2835-codec bcm2835-codec: Loaded V4L2 isp [ 7.384109] cfg80211: Loading compiled-in X.509 certificates for regulatory database [ 7.571665] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' [ 7.677485] brcmfmac: F1 signature read @0x18000000=0x15264345 [ 7.687085] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6 [ 7.687870] usbcore: registered new interface driver brcmfmac [ 7.920102] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6 [ 7.925406] random: crng init done [ 7.925422] random: 7 urandom warning(s) missed due to ratelimiting [ 7.934560] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Mar 2 2020 23:30:41 version 7.45.202 (r724630 CY) FWID 01-72f6ece2 [ 10.063182] 8021q: 802.1Q VLAN Support v1.8 [ 10.299134] Adding 102396k swap on /var/swap. Priority:-2 extents:1 across:102396k SSFS [ 10.899086] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 10.899101] 8021q: adding VLAN 0 to HW filter on device eth0 [ 10.914901] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 14.666877] fuse init (API version 7.27)

timg236 commented 4 years ago

This would require major changes to the bootloader file-system and complicates the boot flow for a niche use-case. Realistically the answer is going to be no.

inakypg commented 4 years ago

I see, thanks for the feedback

alternatively, would there be a way to control the boot process -- kinda let it try to boot off the disk, but it also asks if I want to boot off the network, so if it gets some kind of DHCP/TFTP response it falls back to disk? (or UART control, etc)?

timg236 commented 4 years ago

That's been implemented for Pi4 but that's a completely different code-base. Pi3 is also typically booted from ROM.

https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md