Welcome, Guest. Please login or register.

Author Topic: Booting from compactflash.device or scsi.device automagically  (Read 5087 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline GrizzlyAdamsTopic starter

  • Newbie
  • *
  • Join Date: Sep 2010
  • Posts: 31
    • Show only replies by GrizzlyAdams
Booting from compactflash.device or scsi.device automagically
« on: October 14, 2010, 05:36:01 AM »
First a little background:
I wanted to have all of my 80GB ide drive usable as a single sfs formatted boot volume.
Because my A1200 has 3.0 kickstart roms, I'm stuck only being able to boot from within the first 4GB of the drive.
Initially the procedure below was developed to let me bootstrap from a small 4MB partition on my drive, load all the necessary patches, then reboot to the large ~75GB partition.
While I was working this out Cammy said it would be awesome if it worked for CF0: as well.

You can use a floppy, or a dedicated partition for this, it doesn't really matter.
The startup-sequence below will load the patched scsi.device reset resident, mount the compactflash.device, check for a card in CF0:, then boot to CF0: or DH0:.

I chose to name my bootstrap partition BS0:, and label it Bootstrap:
Change the relevant lines as needed, and enable the dismount if you don't want to see the partition ever again.
Code: [Select]
; $VER: Startup-Sequence_BootStrap 1.2 (10.14.10)
; Startup-Sequence for boot-strapping hard drive systems
; Author: David Kuder (GrizzlyAdams, grizzly@thewaffleiron.net)

Path RESET
Path SYS:C

; Load a nsd/td64 patched scsi.device
C:LoadModule Devs:scsi.device

; Mount needs ENV:, Thomas suggested just pointing it at RAM:
C:Assign ENV: RAM:

; Try to mount a CF card.
C:Mount Devs:DOSDrivers/CF0
C:IsInserted CF0:
IF NOT WARN
    IF EXISTS CF0:S/Startup-Sequence
        ; Try to boot the startup-sequence we found
        C:Assign SYS: CF0:
        SKIP DONE
    ENDIF
ENDIF

; Unable to boot from CF0, try DH0
C:Assign SYS: DH0:

LAB DONE

; These are the normal assigns you get on a Workbench disk.
; FIXME: We should assign targeting SYS: when the target folder
; doesn't exist.  This would match the behavior of the Kickstart.
C:Assign S: SYS:S
C:Assign L: SYS:L
C:Assign FONTS: SYS:Fonts
C:Assign DEVS: SYS:Devs
C:Assign LIBS: SYS:Libs
C:Assign C: SYS:C

Path RESET
Path SYS:C
Path SYS:S ADD

; Uncomment these to hide the bootstrap partition
; DON'T use these lines on a floppy.
;C:Assign BS0: DISMOUNT
;C:Assign Bootstrap: DISMOUNT

; Run the real startup-sequence from the target partition
Execute S:Startup-Sequence

; End of Bootstrap:S/Startup-Sequence
And the other files you need on the bootstrap disk:
Code: [Select]
Filename                     Where to find it
--------------------------   --------------------------------------
C/LoadModule                 www.nyx.net/~rdavis/SCSI_IDE43_23.lha
C/Assign                     Your Workbench disk
C/MakeDir                    Your Workbench disk
C/Mount                      Your Workbench disk
C/IsInserted                 aminet.net/util/boot/IsInserted.lha
Devs/compactflash.device     aminet.net/disk/misc/cfd.lha
Devs/DOSDrivers/CF0          aminet.net/disk/misc/cfd.lha
Devs/scsi.device             www.nyx.net/~rdavis/SCSI_IDE43_23.lha
L/fat95                      aminet.net/disk/misc/fat95.lha
L/SmartFileSystem            strohmayer.org/sfs/files/SFS_1.279_68k.lha
As you can see there is plenty of room left for other patches, reset-resident modules, etc.  Comments and contributions are always welcome!
« Last Edit: October 15, 2010, 01:01:34 AM by GrizzlyAdams »
 

Offline Franko

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 5707
    • Show only replies by Franko
Re: Booting from compactflash.device or scsi.device automagically
« Reply #1 on: October 14, 2010, 05:47:11 AM »
Quote from: GrizzlyAdams;584604
First a little background:
I wanted to have all of my 80GB ide drive usable as a single sfs formatted boot volume.
Because my A1200 has 3.0 kickstart roms, I'm stuck only being able to boot from within the first 4GB of the drive.
Initially the procedure below was developed to let me bootstrap from a small 4MB partition on my drive, load all the necessary patches, then reboot to the large ~75GB partition.


I don't quite understand why you need to deploy this method to use a HD. I simply bootup from one of my 500GB HDs and straight away I have access to both my 500GB HDs with partition sizes of my own choice.

Seems to me your going a long way round to do something that is available from power up, why do you have to reboot ?
 

Offline GrizzlyAdamsTopic starter

  • Newbie
  • *
  • Join Date: Sep 2010
  • Posts: 31
    • Show only replies by GrizzlyAdams
Re: Booting from compactflash.device or scsi.device automagically
« Reply #2 on: October 14, 2010, 05:59:18 AM »
Quote from: Franko;584606
I don't quite understand why you need to deploy this method to use a HD. I simply bootup from one of my 500GB HDs and straight away I have access to both my 500GB HDs with partition sizes of my own choice.

Seems to me your going a long way round to do something that is available from power up, why do you have to reboot ?

I wanted one large sfs partition, with this method I don't have to keep  the workbench in a small partition below the 4GB point.  There's minimal  overhead with this method, rebooting would be necessary anyway for  loading scsi.device.  With IDEfix you could even eliminate the reboot  (I've not tried this).

I'm glad you're able to boot your 500GB drive without problems.  Some of  us are unfortunate to not have TD64/NSD support in rom and have to do  some form of patching.  Even with patching in ram, the stock 3.0  kickstart can't read past 4GB for booting.

And with this installed you are able to boot a pcmcia compactflash card just as if it were a floppy or any other removable device.

Offline Franko

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 5707
    • Show only replies by Franko
Re: Booting from compactflash.device or scsi.device automagically
« Reply #3 on: October 14, 2010, 06:22:20 AM »
Still not quite sure why you have to do this, whether you use 3.0 or 3.1 roms the boot partition still has to be in the first 4GB space of a hard disk. I can only assume that you don't have any form of buffered interface on your Amiga.

I use SFS myself and it works straight from the first boot up using either the FastATA MKIII board or the 4xIDE board on my A1200's. I don't use those CF card adapters myself but it seems like you've come up with a pretty neat solution to your problem. :)
 

Offline Thomas

Re: Booting from compactflash.device or scsi.device automagically
« Reply #4 on: October 14, 2010, 07:47:15 AM »
Quote
; FIXME: Figure out what keeps us from deleting RAM:ENV


You cannot delete it, because it is in use. You assigned ENV: to it. Remove the ENV: assign before the delete command, then it will delete without error.


Quote
; FIXME: Mount needs ENV:, but this will cause a message
; to popup later from the normal startup-sequence.


Startup-Sequence issues a message because it wants to create ram:env directory but it already exists. Either delete ram:env before you run startup-sequence or assign env: to somewhere else.  Assign env: ram: will do the trick and also saves one line from your script.

Offline Thomas

Re: Booting from compactflash.device or scsi.device automagically
« Reply #5 on: October 14, 2010, 07:54:12 AM »
Quote from: Franko;584606
I don't quite understand why you need to deploy this method to use a HD. I simply bootup from one of my 500GB HDs and straight away I have access to both my 500GB HDs with partition sizes of my own choice.

Seems to me your going a long way round to do something that is available from power up, why do you have to reboot ?


The internal IDE controller can only access the first 4GB of a drive at boot time. If you have a 500GB drive fully working at boot time, then it is not connected to the internal IDE controller but to some third-party controller which supports large harddrives by firmware. Or you have a ROM expansion like Deneb, eFlash or Kickflash which contain the needed drivers.

Not to mention that there is no way to boot from PCMCIA without loading drivers first.

Offline Franko

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 5707
    • Show only replies by Franko
Re: Booting from compactflash.device or scsi.device automagically
« Reply #6 on: October 14, 2010, 11:17:26 AM »
Quote from: Thomas;584618
The internal IDE controller can only access the first 4GB of a drive at boot time. If you have a 500GB drive fully working at boot time, then it is not connected to the internal IDE controller but to some third-party controller which supports large harddrives by firmware. Or you have a ROM expansion like Deneb, eFlash or Kickflash which contain the needed drivers.

Not to mention that there is no way to boot from PCMCIA without loading drivers first.


I had stated that I use the FastATA MKIII & the 4xEIDE boards in my A1200s, I didn't think that anyone would still be using a direct connection to the MB these days, it's way too slow that way for my liking... :)

Im not keen on those CF adapter things, I prefer to use USB and a multi card adapter... :)
 

Offline GrizzlyAdamsTopic starter

  • Newbie
  • *
  • Join Date: Sep 2010
  • Posts: 31
    • Show only replies by GrizzlyAdams
Re: Booting from compactflash.device or scsi.device automagically
« Reply #7 on: October 15, 2010, 04:43:24 AM »
Many thanks Thomas, I've implemented your suggested change, and it works great. :D