henrikstengaard / vampire-boot

Vampire boot is a ready made HDF image to boot a partition from SD card installed in Apollo Vampire accelerator card
18 stars 1 forks source link

ERROR: Unsupported dostype. QUIT failed return code 20 #1

Open carlosparamio opened 7 years ago

carlosparamio commented 7 years ago

I followed the steps at the tutorial 1 in order to prepare the HDF image with the Workbench required files using UAE. Then I dumped the HDF image into a Compact Flash connected to the IDE port through an adapter, and connected a tested Sandisk 64GB SD card with three partitions (one bootable) at the Vampire.

Then, when my Amiga 600 boots with my Vampire V2 on it, I can see the menu that appears at step 6 of such tutorial.

The problem starts when I start with Tutorial 2 and click on "Build mountlist". As soon as it runs, I get the following error:

ERROR: Unsupported dostype DosType = 0x50445303 QUIT failed return code 20

and I don't know what else I could do since there isn't any list of possible common issues one could find. Does it ring a bell there? Apparently other users say that the SD card would boot just fine on an SD adapter for the Amiga IDE connector.

Picture of the error:

Vampire boot error

henrikstengaard commented 7 years ago

Initial Vampire Boot had very limited filesystems support based on dostypes such as PFS\3 primarily used by myself. I admit the unsupported dostype error is not mentioned in the readme, but I will do so and document how to handle those errors.

I have added support for 0x50445303 (PDS\3) when building mountlist and a new v1.0.1 is released here https://github.com/henrikstengaard/vampire-boot/releases.

Please give it a try.

carlosparamio commented 7 years ago

Thank you for your quick response. I've followed the Tutorial 1 steps with the new hdf file provided by 1.0.1, mounted the compact flash drive under UAE using Workbench 3.0 to boot, removed the files from it, mounted the new hdf file and the compact flash drive again with Workbench 3.0 install disk as the booting disk, and copied the files from the mounted hdf to the compact flash drive by dragging them at Workbench. But I get the same error.

Is there any step that I made wrongly? How can I provide you with more info about the SD schema and such?

carlosparamio commented 7 years ago

This is the result of executing rdbtool info from the amitools on the SD:

PhysicalDisk: 0 35451 62537328 29Gi heads=7 sectors=252 LogicalDisk: 2 35451 62533800 29Gi rdb_blks=[0:3527,#3528] used=[hi=550,#551] cyl_blks=1764 Partition: #0 'DH0' 2 904 1592892 777Mi 2.55% PDS3/0x50445303 max_transfer=0x1fe00 mask=0x7ffffffe num_buffer=80 bootable pri=1 Partition: #1 'DH2' 905 1499 1049580 512Mi 1.68% PDS3/0x50445303 max_transfer=0x1fe00 mask=0x7ffffffe num_buffer=80 bootable pri=0 Partition: #2 'DH1' 1500 34240 57755124 27Gi 92.36% PDS3/0x50445303 max_transfer=0x1fe00 mask=0x7ffffffe num_buffer=80 FileSystem #0 SFS0/0x53465300 version=1.279 size=97984 seg_list_blk=0x5 global_vec=0xffffffff FileSystem #1 MAS0/0x4d415300 version=42.25 size=72504 seg_list_blk=0xce global_vec=0xffffffff FileSystem #2 DOS3/0x444f5303 version=45.1 size=26124 seg_list_blk=0x163 global_vec=0xffffffff FileSystem #3 PDS3/0x50445303 version=18.0 size=69312 seg_list_blk=0x19a global_vec=0xffffffff

carlosparamio commented 7 years ago

And in case it helps, this is the result when running it on the compact flash that contains VampireBoot:

PhysicalDisk: 0 31855 8027712 3.8Gi heads=4 sectors=63 LogicalDisk: 2 31855 8027208 3.8Gi rdb_blks=[0:503,#504] used=[hi=52,#53] cyl_blks=252 Partition: #0 'VampireBoot' 2 31855 8027208 3.8Gi 100.00% DOS3/0x444f5303 max_transfer=0xffffff mask=0x7ffffffe num_buffer=30 bootable pri=0 FileSystem #0 DOS1/0x444f5301 version=40.1 size=24588 seg_list_blk=0x3 global_vec=0xffffffff

henrikstengaard commented 7 years ago

Thanks, it helps a lot. The only issue I can think of is that the compact flash with VampireBoot uses maxtransfer 0xffffff instead of 0x1fe00. Other then that VampireBoot hdf uses PFS3 and normally I wait 10 seconds before powering off when making changes to a partition with PFS3 since it uses some sort of delayed writing. But I would not expect that to be an issue as you're using DOS3 on the compact flash.

I would like to do further debugging of the scripts reporting the unsupported dostype error. Could you please do the following for me:

  1. Boot with VampireBoot.
  2. Select CLI from menu.
  3. Run command "GiggleDisk DEVICE=DEVS:sagasd.device TO=DEVS:Mountlist".
  4. Copy DEVS:Mountlist from your compact flash and upload it here.
carlosparamio commented 7 years ago

Done, and I was able to check that the file was correctly generated by using "type DEVS:Mountlist". But then I mounted the compact flash at the computer, and I'm not sure how can I mount the DOS3 filesystem in order to extract that file. I can mount the CF at WinUAE / FS-UAE, but that doesn't help too much isn't it? Which software can I use to mount the DOS3 filesystem at OS X / Windows?

carlosparamio commented 7 years ago

Stupid me... Of course, I should mount a PC folder with WinUAE and simply move the file. On my way...

carlosparamio commented 7 years ago

Hm... I can't see the Mountlist file at the volume... What am I doing wrong? Please forgive my ignorance about the Amiga.

Mountlist not preset

henrikstengaard commented 7 years ago

It's ok, it took me a while to get used to Workbench and drawers/files not being show by default. Right top bar, select Window, Show, All Files, then you should be able to see Devs with Mountlist in it.

carlosparamio commented 7 years ago

Mountlist.txt

carlosparamio commented 7 years ago

Aside the issue with the SD recognition, is there anything else I could try to do? Shall I try to create a filesystem myself using a different maxtransfer value at the SD, and then copy the files from the image?

henrikstengaard commented 7 years ago

The SD recognition looks good from examining Mountlist.txt content.

I tried running PatchMountlist with your Mountlist.txt and I didn't get any errors, see attached screenshot where I manually ran PatchMountlist to simulate build mountlist. patch_mountlist

Are you sure you got v1.0.1 running on your compact flash when copying the files?

Could you try installing the vampire boot hdf file to your compact flash using either Apple Pi Baker or Win32DiskImager depending on your OS?

carlosparamio commented 7 years ago

I think so, since I removed the files before copying the new ones. However, I had no idea that I could write the hdf file directly using Apple Pi Baker or similar, is it similar to img format then?. I'm gonna try that. Thanks.

carlosparamio commented 7 years ago

Ok, there is some progress now. I downloaded the hdf file version 1.0.1 again, configured it at UAE, passed the Workbench 3.1 requirement steps, renamed the hdf file to .img so Apple Pi Baker file selector allowed me to pick it up (it seems that the hdf file was an img file after all), and re-flashed the CF card. I was able to run "Build mountlist" successfully, and now I can pick DH0, DH1 or DH2 as the boot partitions. But I tried with both DH0 and DH2 (the two partitions marked as "bootable" according to mountlist.txt), and none of them ends up booting, giving me this error:

Can't find DH0: Assign failed returncode 20

Error after successful Mountlist build

It looks like the DH0 partition is not recognised at some further step after the initial boot.

henrikstengaard commented 7 years ago

That's odd. It appears the update did fix the build mountlist looking at the attached mountlist.txt, but it's could be S:Mount-Startup is not correctly build (part of build mountlist). Could you please select CLI from vampire boot menu and enter "type S:Mount-Startup" and take a screenshot of it's contents?

Here's a manually build mount startup from your mountlist.txt: mount_startup

carlosparamio commented 7 years ago

Yeah, same here:

type s:mount-startup

henrikstengaard commented 7 years ago

It's really weird as it appears correct. What happens if you manually type the first line "Mount DH0: FROM Devs:Mountlist"?

carlosparamio commented 7 years ago

I recently received this SD to IDE adapter:

https://www.aliexpress.com/item/Factory-price-SD-SDHC-SDXC-MMC-Memory-Card-to-IDE-2-5-Inch-44Pin-Male-Adapter/32609223054.html

and was able to confirm that the SD boots correctly when used directly connected to the IDE port.

But I'm still interested to help you find and try to solve this issue with Vampire Boot. I've finally been able to take a look at the Startup-Sequence, and although I'm not familiar with this scripting language it was quite readable. So I tried to follow the steps, and it seems that the device DH0: is considered as mounted (Mount-Startup becomes executed), but when attempting to Assign or switch to that device it says that it can't found it. I also attempted to do a mount /h in a vague attempt to see if the mount command had some help instructions that describes the available options, but it gave me a strange "not enough memory available" error (I was attempting to see if the mount command would give me a list of the mounted devices, since my brain attempts to pair this functionality with the typical mount utility available at Unix systems). Since it fails to mount DH0: on SYS:, the rest of assignments made to SYS won't work of course.

DH0 not found

I'll continue with my research, but my lack of knowledge about this system makes me progress very slowly 🐌

henrikstengaard commented 7 years ago

Thanks, it much appreciated that you want to help resolving the issue you're experiencing. I have done my best commenting the scripts, so they are easier to understand, otherwise just ask if you need more details or system help.

The only realted issue I can think of is that I use PFS3-AIO for all PFS3 partitions, where the dostype for your partitions use PFS3DS. I assume it should be compatible.

I'm still quite puzzled what's causing the errors and would like to have a setup that matches your setup to troubleshoot with. If possible I would like to have a dump of your SD card.

carlosparamio commented 7 years ago

I sent you some details via email.

IamTheFirstLuzUo commented 6 years ago

Hi Henrik. I run into the exact same problem as Carlos. Running an A600 with Vampire and trying to use the ApolloOS with the VampireBoot but I get the same response ("Can't find DH0:"). Any solution for this problem in sight? Is it possible to (easily) try a VampireBoot version using the PFS3DS instead of PFS3-AIO to eliminate that being the possible problem (as you suggested)? Please let me know if you want me to test anyhting to help fix this problem. /Martin

henrikstengaard commented 6 years ago

Current status is that I have got the ApolloOS image and running tests to troubleshoot the issue. On my A600 with Vampire 2 I get the same error and using WinUAE and a simulated version of Vampire Boot using scsi.device instead of sagasd.device it works fine.

I have also examined the ApolloOS image and it uses pfs3-aio_handler for it's filesystems, which is the same as I use on my own images. Only difference there is that ApolloOS use PDS\3 dostype identifier and I use PFS\3 dostype identifier. I'm not sure that it means, but could be it prefer direct scsi if available.

I need to do more testing on my A600 with Vampire 2 to fix the issue and I will let you guys know more in a few days.

henrikstengaard commented 6 years ago

I fixed the issue causing "Can't find DH0:" error. It was pfs3 filesystem handler, which wasn't spelled correctly... Oh dear! After changing it from "L:pfs_aio-handler" to "L:pfs3_aio-handler", I was able to partly boot ApolloOS from my SD card inserted into my Vampire 2. I get some errors and then it freezes as shown in the screenshot below. I'm not sure if this incorrect setup of ApolloOS or if ApolloOS would support booting it like this. Any tips? vampire_boot_apolloos_freeze

I release VampireBoot v1.0.2 https://github.com/henrikstengaard/vampire-boot/releases/tag/1.0.2, which contains the fix.

IamTheFirstLuzUo commented 6 years ago

Thanks for the update. Again I run into the exact same freeze you are experiencing. So the good news is that your fix is working. The bad news is that we still can't boot into ApolloOS via vampire boot. Unfortunately the keyboard of my A600 stopped working last week. Until the new keyboard has arrived I can't really experiment/debug. It does seems to be a ApolloOS thingy. When I boot the DH2 drive the maintenance mode is working.

carlosparamio commented 6 years ago

Looks like it's the time of hardware issues! My Vampire stopped working this weekend. The guys at the Apollo Core Team are building a debugging JIC file for me to be able to reprogram the FPGA and see what the problem might be. I'll be able to test this as soon as they help me to find and solve this issue.

henrikstengaard commented 6 years ago

It could also be a simple configuration change as I havent done anything to configure my ApolloOS. I need to do some testing with and without Vampire-Boot