I recently got Fedora 33 Server booting on my RPI 4 - 8G using the RPI4 UEFI firmware. The usb3 adapter I used worked fine with Raspbian, but with Fedora 33, there was an issue. I've worked around this issue and another involving F33 complaining about the lack of sd card. These are my brief notes, hopefully they help someone. If a longer write up or a bug report would be helpful, I'm happy to do so. Also looking for feedback if I could have done anything better/different.
Hardware:
RPI 4B - 8G model
128G "Inland" brand ssd - OEM Phison - Model 'SATA AAD'
Orico Brand SATA to USB3 external enclosure - model 'ORICO 2139U3'
- uses JMicron Technology Corp. JMS578 chip - Sata 6Gb/s
UEFI Firmware: https://github.com/pftf/RPi4/releases/tag/v1.21
After Fedora install;
- switched advanced settings in UEFI from 'ahci' to 'devicetree'
- removed 3G ram limit
### Problems
1. Pi treats usb drive as uas device causing extremely slow read/write - ext4 fs would not mount rw
'''
[ 1247.365069] usb 2-1: reset SuperSpeed Gen 1 USB device number 3 using xhci_hcd
[ 1247.387663] scsi host0: uas_eh_device_reset_handler success
[ 1279.648929] sd 0:0:0:0: [sda] tag#3 uas_eh_abort_handler 0 uas-tag 4 inflight: CMD IN
[ 1279.648937] sd 0:0:0:0: [sda] tag#3 CDB: opcode=0x28 28 00 03 fa 64 50 00 01 00 00
[ 1279.649085] sd 0:0:0:0: [sda] tag#1 uas_eh_abort_handler 0 uas-tag 2 inflight: CMD IN
[ 1279.649091] sd 0:0:0:0: [sda] tag#1 CDB: opcode=0x28 28 00 00 00 10 00 00 04 00 00
[ 1279.649553] sd 0:0:0:0: [sda] tag#0 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD IN
[ 1279.649559] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 00 00 0c 00 00 04 00 00
[ 1286.049165] sd 0:0:0:0: tag#4 uas_eh_abort_handler 0 uas-tag 5 inflight: CMD
[ 1286.049173] sd 0:0:0:0: tag#4 CDB: opcode=0x0 00 00 00 00 00 00
[ 1286.065838] scsi host0: uas_eh_device_reset_handler start
'''
2. Pi is missing sdhc card ( mostly annoying, could've just turned off kernel message echo to console? )
'''
mmc1: Timeout waiting for hardware cmd interrupt.
mmc1: sdhci: =========== SDHCI REGISTER DUMP ===========
mmc1: sdhci: blah
'''
### Solutions
1. uas device
- add usb quirk to kernel args in /etc/default/grub
'''
GRUB_CMDLINE_LINUX="usb-storage.quirks=152d:0578:u"
'''
- add quirk to config.txt (is this necessary?)
- rebuild grub with grub2-mkconfig
- dracut -f (not sure if I needed to do this?)
2. sdhc card
- block(black)list sdhc drivers
- /etc/modprobe.d/no_sdhc.conf
'''
blacklist sdhci
blacklist sdhci_platform
blacklist sdhci_iproc
install sdhci /bin/false
install sdhci_platform /bin/false
install sdhci_iproc /bin/false
'''
- From [finishing steps for rhel 8](https://access.redhat.com/solutions/41278)
- added 'sdhci.blacklist=1 rd.driver.blacklist=sdhci' to the above GRUB_CMDLINE_LINUX
- rebuilt grub again
- (make a copy of and) rebuilt initramfs
'dracut --omit-drivers sdhci -f'
### Things I didn't do
1. fool around with kdump
2. Edit the installer kernel CMDLINE to blacklist the sdhci module and add the usb quirks
### Other Helpful notes
Article - https://fwmotion.com/blog/operating-systems/2020-09-04-installing-fedora-se…
--
Zach Villers
zach(a)mailup.net