Diff for /wikisrc/ports/evbarm/raspberry_pi.mdwn between versions 1.132 and 1.140

version 1.132, 2020/10/15 19:44:53 version 1.140, 2020/10/16 17:44:01
Line 51  The HOWTO is written for what works on f Line 51  The HOWTO is written for what works on f
    These items do not work in the sense that they simply function after a standard install.  Being listed here implies only that there has been list traffic that implies that after taking a bunch of steps (e.g. new firmware, new dtbs, enabling drivers, applying patches), one can end up with the feature working.  The HOWTO explicitly refrains from describing these steps because they are ephemeral.  However, the fact that list traffic indicates success is possible is a clue that proper support is on the horizon, and that is notable.     These items do not work in the sense that they simply function after a standard install.  Being listed here implies only that there has been list traffic that implies that after taking a bunch of steps (e.g. new firmware, new dtbs, enabling drivers, applying patches), one can end up with the feature working.  The HOWTO explicitly refrains from describing these steps because they are ephemeral.  However, the fact that list traffic indicates success is possible is a clue that proper support is on the horizon, and that is notable.
   
  - RPI3 and RPI0W builtin WiFi   - RPI3 and RPI0W builtin WiFi
    - RPI4
   
 ## What needs documenting if it works  ## What needs documenting if it works
   
    - (Everything listed in the previous section.)
  - CM1   - CM1
  - CM3   - CM3
  - CM3lite   - CM3lite
   
 ## What needs work  ## What needs work
   
  - RPI4 (as of 2020-01, still does not work in current)  
  - USB (host); isochronous transfers.   - USB (host); isochronous transfers.
  - RPI0W Bluetooth Low Energy (probably)   - RPI0W Bluetooth Low Energy (probably)
   
Line 80  In theory the code compiled for earmv7hf Line 81  In theory the code compiled for earmv7hf
   
 While the evbarm port has "eb" variants (for big-endian mode), the RPI systems do not support eb and these variants will not work.  Systems built for older CPU architectures (earm, earmv4, earmv5) are not expected to work on RPI.  While the evbarm port has "eb" variants (for big-endian mode), the RPI systems do not support eb and these variants will not work.  Systems built for older CPU architectures (earm, earmv4, earmv5) are not expected to work on RPI.
   
 The RPI2-1.2 and RPI3 have an armv8 CPU that supports aarch64 (64-bit  The RPI2-1.2, RPI3 and RPI4 have an armv8 CPU that supports aarch64 (64-bit mode) in addition to aarch32 (regular 32-bit ARM).  This is supported, from 9 onwards, by the "aarch64" MACHINE_ARCH of evbarm, also available in build.sh via the alias evbarm64.  This is also referred to as [[NetBSD/aarch64|aarch64]].
 mode) in addition to aarch32 (regular 32-bit ARM).  This is supported,  
 from 9 onwards, by the "aarch64" MACHINE_ARCH of evbarm, also  
 available in build.sh via the alias evbarm64.  This is also  
 referred to as [[NetBSD/aarch64|aarch64]].  
   
 # Installation  # Installation
   
Line 177  every few weeks. Line 174  every few weeks.
   
  - <https://github.com/ebijun/NetBSD/blob/master/RPI/RPIimage/Image/README>   - <https://github.com/ebijun/NetBSD/blob/master/RPI/RPIimage/Image/README>
   
   ## Boot Process
   
   https://www.raspberrypi.org/documentation/configuration/config-txt/boot.md
   
   ### DTBs
   
   Note that generally, a single dtb is loaded.  On NetBSD 9, the dtb
   file for the system is loaded by the bootloader (in flash).
   
   The RPI bootloader looks for a magic string in a trailer after the kernel to determine if it should use DTB support (the new normal) or something called ATAG (apparently the old way).  See [upstream commit introducing DTB trailer](https://github.com/raspberrypi/linux/commit/2367d8a42e2717d8d15a39a9085cc2909fae033a#diff-8f088aca645d10d79b594d58db4136f3e09caee077fe373bb08f02f2040900a9) for more information.
   
   ### Kernel format variants
   
   In netbsd-8, only the ELF and bin variants of RPI2 are built.  The bin version is used.
   
   In netbsd-9 releasedir/binary/kernels, the following 4 versions of GENERIC are produced.  (This might be the same in current.)
   
   #### netbsd-GENERIC.gz
   
   This is regular ELF and not used on RPI.
   
   #### netbsd-GENERIC.bin.gz
   
   It is unclear why this file exists on 9.  It seems to be like img, but without the trailer for DTB; this makes sense for 8.
   
   #### netbsd-GENERIC.img.gz
   
   On NetBSD >=9, the kernel with the .img suffix has the trailer to cause the bootloader to load DTB files.
   
   #### netbsd-GENERIC.ub.gz
   
   This is for u-boot and not used on RPI.
   
 ## Configuring 802.11  ## Configuring 802.11
   
 After installation, the Ethernet will function as on any other NetBSD system; simply enable dhcpcd or configure a static address.  USB WiFi devices will also function as on any other NetBSD system; in addition to dhcpcd or static, configure and enable wpa_supplicant.  After installation, the Ethernet will function as on any other NetBSD system; simply enable dhcpcd or configure a static address.  USB WiFi devices will also function as on any other NetBSD system; in addition to dhcpcd or static, configure and enable wpa_supplicant.
Line 221  The program vcgencmd, referenced in the  Line 251  The program vcgencmd, referenced in the 
   
 ## Updating dtb files  ## Updating dtb files
   
   ### NetBSD 8
   
   On NetBSD 8, dtb files are not used. (\todo Really?)
   
   ### NetBSD 9
   
 (This is harder than it should be.)  (This is harder than it should be.)
 Build a release.  gunzip the armv7.img, vnconfig it, and mount the MSDOS partition (e) e.g. on /mnt.  Copy the dtb files from /mnt/*.dtb to /boot, and from /mnt/dtb/*.dtb to /mnt/dtb.  Build a release.  gunzip the armv7.img, vnconfig it, and mount the MSDOS partition (e) e.g. on /mnt.  Copy the dtb files from /mnt/foo.dtb to /boot, and from /mnt/dtb/foo.dtb to /boot/dtb.
   
   It seems that some systems, including RPI, require dtb files in /boot, and some expect them in /boot/dtb.
   
 It seems that some systems, including RPI, require dtb files in /boot, and some expect  them in /boot/dtb.  \todo Explain if you only really need the right one for your system type.
   
 \todo Explain how one is supposed to be able to update these from the dtb files in releasedir/binary/kernel, or fix it to have the same structure.  \todo Explain how one is supposed to be able to update these from the dtb files in releasedir/binary/kernel, or fix it to have the same structure.
   
   ### NetBSD current
   
   When updating, ensure that /boot is mounted and that you unpack the dtb set.
   
 ## Updating the firmware  ## Updating the firmware
   
 It is highly likely that running NetBSD from a given branch X with firmware from a branch Y < X will not go well.  It is unclear if firmware from a branch Y > X will work.   It is standard practice to use firmware from the right branch.  It is highly likely that running NetBSD from a given branch X with firmware from a branch Y < X will not go well.  It is unclear if firmware from a branch Y > X will work.  It is standard practice to use firmware from the right branch.
   
 A section below describes the process of updating NetBSD's copy of the firmware from upstream, with testing, by NetBSD developers.  This section is about updating a system's firmware from the firmware in a version of NetBSD.  A section below describes the process of updating NetBSD's copy of the firmware from upstream, with testing, by NetBSD developers.  This section is about updating a system's firmware from the firmware in a version of NetBSD.
   

Removed from v.1.132  
changed lines
  Added in v.1.140


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb