@kas1e
I tested usb_fix.elf with USB DVD and install .iso:
[CFE ]CFE> boot -elf -noints -fs=amigafs ide0.0:sata? _fix.elf
Loader:elf Filesys:amigafs Dev:ide0.0 File:sata_fix.elf Options:(null)
Loading: 0x0000000000100000/11168 0x0000000000102BA0/2717 0x000000000010363D/35 Entry at 0x0000000000100000
Starting program at 0x0000000000100000
[RUN!]=== SATA FIX v22 ===
Both channels + dynamic BARs + ATAPI + UDMA
Finding CFE API...
Seal at 0x7FD1F458, dispatch at 0x7FD206A4
Boot chaining: installed
PXP_IGNORE_PCIE_ERRORS: set (bus 5 fix)
BAR0=0x00001041 (Ch0 cmd=0x00001040)
BAR2=0x00001049 (Ch1 cmd=0x00001048)
Step 0: UDMA read patch
BAR4=0x00001021 -> BMDMA I/O 0x00001020
DMA trampoline installed (796 bytes), UDMA active
Step 1: AHCI port status
BAR5=0xC0209400 -> AHCI=0xC0209400 PI=0x0000000F
Port 0: PRESENT SIG=0x00000101 (ATA)
Port 1: PRESENT SIG=0x00000101 (ATA)
Port 2: PRESENT SIG=0xEB140101 (ATAPI)
Port 3: PRESENT SIG=0x00000101 (ATA)
IDE signature check:
Port 0: LBAmid=0x56 LBAhi=0x07
Port 1: LBAmid=0x00 LBAhi=0x00
Port 2: LBAmid=0x56 LBAhi=0x07 -> triggering ATAPI sig... LBAmid=0x14 LBAhi=0xEB FIXED
Port 3: LBAmid=0x00 LBAhi=0x00
Ch0 probe bitmask: 0x00000000
Ch1 probe bitmask: 0x000000FF
Step 2: Verify patch points
All 8 patch points verified OK
Step 3: Applying common patches
5 common patches applied (P2+P3+PB+PC+PE)
PA applied per-channel (only when master empty)
Step 4a: Channel 0 -- boot already found both, skipped
Step 4b: Probing Channel 1 (BAR2)...
P1+PD applied (BAR2, instance 1, master present)
IDE unit 0: Disk, "ST1000DM003-1ER162", Capacity:931GB (lba48)
IDE unit 1: Disk, "ST1000DM003-1CH162", Capacity:931GB (lba48)
PCIIDE: 2 controllers found
Ch1 probe returned!
Step 5: Restoring original code
All restored OK
Step 6: Fix boot device I/O description
Fixed 2 boot description(s): I/O 0000 -> 00001040
Step 7: Device tree nodes
pci@12 at 0x7FE1EAF0
Node memory at 0x7FDD0000 (512 bytes)
Method dispatch from existing node: 0x7FDF7BEC
Creating node "ide1.0" at 0x7FDD0000
props: name="ide1.0", device_type="block"
Creating node "ide1.1" at 0x7FDD0100
props: name="ide1.1", device_type="block"
Appended after existing child at 0x7FE1F0A8
Verify: pci@12 children: "ide0.0" "atapi0.1" "ide1.0" "ide1.1"
=== SATA FIX v22 DONE ===
Try: show devices ; show devtree
*** command status = 0
CFE> boot -elf -noints -fs=amigafs ide0.0:sata_fix.elf_fix.elf _fix.elf _fix.elf _fix.elf u_fix.elfs_fix.elfb_fix.elf
Loader:elf Filesys:amigafs Dev:ide0.0 File:usb_fix.elf Options:(null)
Loading: 0x0000000000100000/6628 0x00000000001019E4/1257 0x0000000000101ECD/7 Entry at 0x0000000000100000
Starting program at 0x0000000000100000
[RUN!]=== USB FIX v14 ===
USB hook + dynamic devtree + EHCI read split
Boot chaining: already active
USB SubClass filter: widened (CD/DVD support)
Step 1: Finding pci@13 parent node
pci@13 at 0x7FE1F1B0
Method dispatch: 0x7FDF7BEC
Step 2: Pre-building devtree nodes
usbdisk0 at 0x7FDD1000
usbdisk1 at 0x7FDD1100
usbdisk2 at 0x7FDD1200
usbdisk3 at 0x7FDD1300
Step 3: Finding usbmass_driver struct
FOUND at 0x7FDF7E20
[+4] udrv_attach = 0x7FD70364
[+8] udrv_detach = 0x7FD702D4
Step 4: Installing hook trampolines
Hook code: 616 bytes at 0x7FDD3080
Attach hook: 0x7FDD3080
Detach hook: 0x7FDD3150
Step 5: Patching usbmass_driver
udrv_attach: 0x7FD70364 -> 0x7FDD3080
udrv_detach: 0x7FD702D4 -> 0x7FDD3150
Hooks installed! Supports up to 4 USB sticks.
Plug/unplug to add/remove devtree nodes.
Step 6: EHCI read-splitting hook
usbdisk_driver at 0x7FDF74D0
dispatch at 0x7FDF74E4
read = 0x7FD6FC84
Read hook at 0x7FDD3400 (348 bytes)
Chunk size: 16384 bytes
dispatch[read]: 0x7FD6FC84 -> 0x7FDD3400
=== USB FIX v14 DONE ===
*** command status = 0
CFE> port 0:1/9 enabled (high speed)
USB bus 0 device 6: vendor 0E8D product 1887 class 08: Mass-Storage Device
USBMASS: Unit 1 connected
[USB] unit 0 attached
CFE> b dir -fs=iso usbdisk1:
Installation_Files <DIR>
Installation_Support <DIR>
Kickstart <DIR>
Media <DIR>
S <DIR>
System <DIR>
.backdrop 76
amigaboot.of 51420
AmigaOS 4.1 FileSystems 39773
AmigaOS 4_1 FileSystems.i11642
Disk.info 15732
Media.info 11420
System.info 15182
*** command status = 0
CFE> boot -fs=iso usbdisk1:amigaboor t.of
Loader:elf Filesys:iso Dev:usbdisk1 File:amigaboot.of Options:(null)
Loading: 0x0000000000200000/50812 0x000000000021C67C/76 Entry at 0x0000000000200034
Starting program at 0x0000000000200034
[RUN!]
AmigaOS 4.x OpenFirmware Bootloader V1.0
Unknown file system on disk /pxp@0,e0000000/pci@11/pci@13/usbdisk0
AmigaOS 4.x OpenFirmware Bootloader V1.0
Please choose a configuration to boot (Default choice is green):
1: AmigaOS4.1_Update_6 (Volume DH0x)
2: AmigaOS4.1_Update_5-Debug (Volume DH0x)
3: AmigaOS_4.1_Final_Edition (Volume DH0)
[RETURN] Boot default [SPACE] Stop Countdown
[CTRL-U] Move default up [CTRL-D] Move Default Down
[123] Boot appropriate config
(5 sec. until autoboot)> (4 sec. until autoboot)> (3 sec. until autoboot)> (2 sec. until autoboot)> (1 sec. until autoboot)>
it works, amigaboot.of is loaded, but in amibaboot.of bootloader there is not visible USB CD - only HDDs.
I can load kickstart from DH0 or DH0x, and than boot from USB CD.
But still I must have kickstart on disk.
test of USB flashdisk - wit FFS filesystem:
[CFE ]CFE> boot -elf -noints -fs- =amigafs usb ide0.0:usb_fix.e; lf
Loader:elf Filesys:amigafs Dev:ide0.0 File:usb_fix.elf Options:(null)
Loading: 0x0000000000100000/6628 0x00000000001019E4/1257 0x0000000000101ECD/7 Entry at 0x0000000000100000
Starting program at 0x0000000000100000
[RUN!]=== USB FIX v14 ===
USB hook + dynamic devtree + EHCI read split
Boot chaining: installed
PXP_IGNORE_PCIE_ERRORS: set (bus 5 fix)
USB SubClass filter: widened (CD/DVD support)
Step 1: Finding pci@13 parent node
pci@13 at 0x7FE1F1B0
Method dispatch: 0x7FDF7BEC
Step 2: Pre-building devtree nodes
usbdisk0 at 0x7FDD1000
usbdisk1 at 0x7FDD1100
usbdisk2 at 0x7FDD1200
usbdisk3 at 0x7FDD1300
Step 3: Finding usbmass_driver struct
FOUND at 0x7FDF7E20
[+4] udrv_attach = 0x7FD70364
[+8] udrv_detach = 0x7FD702D4
Step 4: Installing hook trampolines
Hook code: 616 bytes at 0x7FDD3080
Attach hook: 0x7FDD3080
Detach hook: 0x7FDD3150
Step 5: Patching usbmass_driver
udrv_attach: 0x7FD70364 -> 0x7FDD3080
udrv_detach: 0x7FD702D4 -> 0x7FDD3150
Hooks installed! Supports up to 4 USB sticks.
Plug/unplug to add/remove devtree nodes.
Step 6: EHCI read-splitting hook
usbdisk_driver at 0x7FDF74D0
dispatch at 0x7FDF74E4
read = 0x7FD6FC84
Read hook at 0x7FDD3400 (348 bytes)
Chunk size: 16384 bytes
dispatch[read]: 0x7FD6FC84 -> 0x7FDD3400
=== USB FIX v14 DONE ===
*** command status = 0
CFE> boot -elf -noints -fs=amigafs ide0.0:usb_fix.elf_fix.elf _fix.elf _fix.elf s_fix.elfa_fix.elft_fix.elfa_fix.elf
Loader:elf Filesys:amigafs Dev:ide0.0 File:sata_fix.elf Options:(null)
Loading: 0x0000000000100000/11168 0x0000000000102BA0/2717 0x000000000010363D/35 Entry at 0x0000000000100000
Starting program at 0x0000000000100000
[RUN!]=== SATA FIX v22 ===
Both channels + dynamic BARs + ATAPI + UDMA
Finding CFE API...
Seal at 0x7FD1F458, dispatch at 0x7FD206A4
Boot chaining: already active
BAR0=0x00001041 (Ch0 cmd=0x00001040)
BAR2=0x00001049 (Ch1 cmd=0x00001048)
Step 0: UDMA read patch
BAR4=0x00001021 -> BMDMA I/O 0x00001020
DMA trampoline installed (796 bytes), UDMA active
Step 1: AHCI port status
BAR5=0xC0209400 -> AHCI=0xC0209400 PI=0x0000000F
Port 0: PRESENT SIG=0x00000101 (ATA)
Port 1: PRESENT SIG=0x00000101 (ATA)
Port 2: PRESENT SIG=0xEB140101 (ATAPI)
Port 3: PRESENT SIG=0x00000101 (ATA)
IDE signature check:
Port 0: LBAmid=0x56 LBAhi=0x07
Port 1: LBAmid=0x00 LBAhi=0x00
Port 2: LBAmid=0x56 LBAhi=0x07 -> triggering ATAPI sig... LBAmid=0x14 LBAhi=0xEB FIXED
Port 3: LBAmid=0x00 LBAhi=0x00
Ch0 probe bitmask: 0x00000000
Ch1 probe bitmask: 0x000000FF
Step 2: Verify patch points
All 8 patch points verified OK
Step 3: Applying common patches
5 common patches applied (P2+P3+PB+PC+PE)
PA applied per-channel (only when master empty)
Step 4a: Channel 0 -- boot already found both, skipped
Step 4b: Probing Channel 1 (BAR2)...
P1+PD applied (BAR2, instance 1, master present)
IDE unit 0: Disk, "ST1000DM003-1ER162", Capacity:931GB (lba48)
IDE unit 1: Disk, "ST1000DM003-1CH162", Capacity:931GB (lba48)
PCIIDE: 2 controllers found
Ch1 probe returned!
Step 5: Restoring original code
All restored OK
Step 6: Fix boot device I/O description
Fixed 2 boot description(s): I/O 0000 -> 00001040
Step 7: Device tree nodes
pci@12 at 0x7FE1EAF0
Node memory at 0x7FDD0000 (512 bytes)
Method dispatch from existing node: 0x7FDF7BEC
Creating node "ide1.0" at 0x7FDD0000
props: name="ide1.0", device_type="block"
Creating node "ide1.1" at 0x7FDD0100
props: name="ide1.1", device_type="block"
Appended after existing child at 0x7FE1F0A8
Verify: pci@12 children: "ide0.0" "atapi0.1" "ide1.0" "ide1.1"
=== SATA FIX v22 DONE ===
Try: show devices ; show devtree
*** command status = 0
CFE> port 0:1/9 enabled (high speed)
USB bus 0 device 6: vendor ABCD product 1234 class 08: Mass-Storage Device
USBMASS: Unit 1 connected
[USB] unit 0 attached
CFE> dir -fs=ext2 usbdisk0:
. <dir>
.. <dir>
lost+found <dir>
zImage
vmlinux
100MBfile
1GiBfile
vmlinux-test
vmlinux-6.12
vmlinux-test.old
amigaboot.of
.Trash-0 <dir>
vmlinux-5.5
zImage-5.5
5.5.11_A-EON_X1000_Nemo <dir>
vmlinux-6.1
*** command status = 0
CFE> dir -fs=amigafs usbdisk1:
Directory
Emulation dir ------------rwed
Utilities.info 14774 ------------rw-d
Internet dir ------------rwed
Devs dir ------------rwed
Trashcan dir ------------rwed
Libs dir ------------rwed
Emulation.info 15444 ------------rw-d
A-EON.info 15426 ------------rw-d
MUI.info 16828 ------------rw-d
System.info 15366 ------------rw-d
C dir ------------rwed
L dir ------------rwed
whets.res 1060 r---r-------rw-d
S dir ------------rwed
Trashcan.info 12218 ------------rw-d
ChangeLog.guide 39487 ------------rwed
MUI dir ------------rwed
Fonts dir ------------rwed
Utilities dir ------------rwed
Documentation.info 15728 ------------rw-d
Classes dir ------------rwed
amigaboot.of 62100 ------------r---
Prefs.info 15944 ------------rw-d
A-EON dir ------------rwed
Documentation dir ------------rwed
Storage dir ------------rwed
Kickstart dir ------------rwed
Firmware dir ------------rwed
ChangeLog.guide.info 9870 ------------rw-d
System dir ------------rwed
Locale dir ------------rwed
Devs.info 15912 ------------rw-d
Prefs dir ------------rwed
Storage.info 15384 ------------rw-d
Internet.info 16456 ------------rw-d
SObjs dir ------------rwed
Disk.info 13678 ------------rw-d
295675 bytes in 16 files
21 directories
*** command status = 0
CFE> boot -fs=amigafs usbdisk1:amigaboot.of
Loader:elf Filesys:amigafs Dev:usbdisk1 File:amigaboot.of Options:(null)
Loading: 0x0000000000200000/61536 Entry at 0x0000000000200000
Starting program at 0x0000000000200000
[RUN!]
AmigaOS 4.x OpenFirmware Bootloader V53.21
Please choose a configuration to boot (Default choice is green):
1: AmigaOS4.1_Update_6 (Volume DH0x)
2: AmigaOS4.1_Update_5-Debug (Volume DH0x)
3: AmigaOS_4.1_Final_Edition (Volume DH0)
[RETURN] Boot default [SPACE] Stop Countdown
Move default [UP] or [DOWN] with arrows
[123] Boot appropriate config
(5 sec. until autoboot)> (4 sec. until autoboot)> (3 sec. until autoboot)> (2 sec. until autoboot)> (1 sec. until autoboot)> (0 sec. until autoboot)>
the same behavior like before - USB Flashdisk not visible in amigaboot.of menu.
It is probably limitation of amigaboot.of
Or did I some mistake and booting fully from USB without disk is possible?