05 September 2017, 00:08 | #1 |
Registered User
Join Date: Jul 2017
Location: California
Posts: 47
|
Boot different AmigaOS by kickstart version?
I am about to have an accelerator with 1MB maprom support and I would like to be able to boot different versions of the OS (from different partitions, probably) based on the kickstart version; OS3.1 if I boot with the stock ROM, or OS3.9 if I boot with a 3.9 1MB ROM. This seems like it should be pretty easy, just jumping out of the startup-sequence to one on another disk based on the output of the version command, but I am a novice with the Amiga shell. Can anyone out there help me out, please?
version reports "Kickstart 45.57, Workbench 45.3" when booted to the custom ROM. |
05 September 2017, 13:40 | #2 |
Registered User
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
|
It should be pretty easy really - basically, you need to change your assignments over to the new partition first, then execute the new startup-sequence. You can use a simplified startup-sequence on your default partition (3.1) which launches the original 3.1 script (which is renamed) if the version returned isn't 3.9. Something like this should work, though I haven't tested it:
Code:
Version 45 ; Is this a 3.9 ROM? If WARN ; Nope Execute S:Startup-sequence-3.1 Else ; Yep ; Reset assigns for 3.9 partition Assign SYS: DH2: Assign C: SYS:C Assign S: SYS:S Assign L: SYS:L Assign LIBS: SYS:Libs Assign DEVS: SYS:Devs Assign FONTS: SYS:Fonts Assign ENVARC: SYS:Prefs/Env-Archive ; Now launch 3.9 startup sequence Execute SYS:S/Startup-sequence EndIf EndCLI The AmigaDOS manual has a good reference for the various Shell commands. There's an online version for OS4 here, though most commands are the same so it's still mostly relevant. Don't forget to back up your existing scripts just in case! Last edited by Daedalus; 05 September 2017 at 13:45. |
05 September 2017, 13:45 | #3 |
Registered User
Join Date: Jul 2017
Location: California
Posts: 47
|
It's the construction of the if statement that I always forget after not messing with Amiga scripting in years. Thanks for the help!
|
05 September 2017, 13:51 | #4 |
Registered User
Join Date: Oct 2009
Location: Germany
Posts: 3,303
|
How do you boot with different ROM files? Is there already a switch? If yes, then you just need to switch the right partiton you want to boot from.
|
05 September 2017, 14:07 | #5 |
Registered User
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
|
Switching the partition needs to be done manually, but can be done as well. Setting up scripts like this allows the partition to also be manually selected if desired, or to automatically boot the matching partition with no intervention.
|
05 September 2017, 14:15 | #7 |
Registered User
Join Date: Jul 2017
Location: California
Posts: 47
|
I ordered a aca1221ec from amigakit for my a1200, it's got maprom support. I could use blizkick or I could use the aca config tool (I guess) and reboot manually. I was just confused about how to detect whether I had the desired rom version. I've already had to assign myself a new sys several times recently as I've been fiddling around with different OS installs in UAE where it's convenient. It's been interesting fiddling around with optimization and trying to figure out how to make the system smaller to save RAM. I have loads of room left in my extended ROM so I guess there's lots more room for improvement. The last Ami I owned was an A3000 with something like 2+4 MB of RAM so until I get the accelerator, this thing is feeling a bit poky with just 2MB chip.
|
05 September 2017, 16:40 | #8 |
Registered User
Join Date: Oct 2009
Location: Germany
Posts: 3,303
|
@Daedalus:
But he will also manually select the ROM file to load. At this point you just set the right partition and nothing else need to be changed. Keep it simple. On the other hand using 3.1 ROM and a custom 3.1 ROM is questionable. An OS3.1 or OS3.9 works with 3.1 ROM and a cutom 3.1 ROM should work with OS3.1 and OS3.9. Hence there is no need to switch. Unless there is very special case. hyperlogos, you may think about it, if it is really needed. |
05 September 2017, 17:08 | #9 |
Registered User
Join Date: Aug 2014
Location: Brindisi (Italy)
Age: 70
Posts: 8,248
|
If the partitions are all bootable some problem may occur, worse still if they have volume name or equal partition name.
|
05 September 2017, 19:34 | #10 |
Registered User
Join Date: Jul 2017
Location: California
Posts: 47
|
It would be simple enough to just copy a different startup-sequence into place when selecting maprom, too. There's no reason for the partitions to have the same name. Of course it's not really needed! But I think it would be nifty.
|
05 September 2017, 19:41 | #11 | |
Registered User
Join Date: Oct 2009
Location: Germany
Posts: 3,303
|
Quote:
Code:
12. System:C> ChangeBootPri ? PARTITION/A,BOOTPRI/N,FLAGS/K/N,BOOT/S,NOBOOT/S,MOUNT/S,NOMOUNT/S,DOSTYPE/K,QUIET/S,NEWNAME/K,MASK/K,MAXTRANSFER/K,DEVICE/K,UNIT/K/N: |
|
05 September 2017, 19:46 | #12 |
Registered User
Join Date: Jul 2017
Location: California
Posts: 47
|
Hmm, I see what you're saying. Just fiddle the boot priorities at the same time as configuring maprom. Makes sense.
|
06 September 2017, 14:17 | #13 |
Registered User
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
|
Boot priority would sort out any confusion between partitions (which of course would need different names...). Yeah, it's easy to swap boot partitions, or select a different partition from the early startup menu, but that's all extra steps, and it sounded like he wanted it automated. ROM switch and everything else takes care of itself. It's how I set up my dual boot 3.1/3.9 system - if the mouse button is held down, it switches to 3.9, then the ROM version is checked on the 3.9 reboot so that the 3.9 partition is automatically selected if the 3.9 ROM is loaded, otherwise it boots straight into 3.1. It all comes down to where you want to put the complexity: Either in the ROM switching process, in the boot process or in the installation of other software process (since non-standard startup-sequences require special attention when installing anything that needs startup-sequence activation).
|
10 September 2017, 06:15 | #14 |
Registered User
Join Date: Jul 2017
Location: California
Posts: 47
|
So it turns out that the acamaprom utility just doesn't maprom if you already have a rom mapped, and you can launch it with a quiet flag. so if you want to make sure a rom is loaded when you boot a partition, you can just put acamaprom kickfile quiet at the top of the startup-sequence. Of course, that results in a reboot. If one is swapping CFs this is a non-issue. Otherwise it is necessary to twiddle boot priority.
The problem I'm having now is that I only seem to be able to successfully make a 512kb 3.9 rom which will work properly with acamaprom. My 1MB roms work flawlessly in UAE, but less well on my actual A1200. This is enough to boot 3.9 (with the patch lines commented out of s:startup-sequence) but not enough to implement any customizations. But my system has been less than stable using maprom, even just mapping a 512kb 3.1 rom. Guess I'll just get some actual 3.1 roms and slap them in there and see if my system is stable. Some of this is just experimentation to find out what works |
10 September 2017, 13:39 | #15 |
Registered User
Join Date: Sep 2007
Location: Stockholm
Posts: 4,332
|
Don't all ACA cards support 1 MB maproms?
|
10 September 2017, 13:48 | #16 |
Registered User
Join Date: Jul 2017
Location: California
Posts: 47
|
I'm not sure I'm actually doing it correctly. The guide I found for making 1MB ROMs still talks about dummycdstrap which isn't even included with Remus any more. I don't know if all ACA cards support 1MB maprom or not. All I know for sure is that I can make a rom which works great in WinUAE but doesn't work worth a hill of beans on my real Amiga.
It may, of course, be time for re-capping. I have a kit, and a low-temp iron, but I also have shaky hands so I might let someone else do it |
10 September 2017, 13:49 | #17 |
Registered User
Join Date: Oct 2009
Location: Germany
Posts: 3,303
|
Its a normal behaviour that a maprom tool only load the ROM once, else it would load each time. Some tools have a FORCE option to force ROM remapping. I don`t know if acamaprom has such an option. Maybe there is another tool that can remove ROM. Normaly a hardreset is done to remove all resident stuff.
Yes, first it is a good idea to load a unmodified ROM to see/test if it works. If yes then start modify. |
10 September 2017, 14:20 | #18 |
Registered User
Join Date: Jul 2017
Location: California
Posts: 47
|
Yes, my system seems a bit flaky with just the 3.1 rom kicked. I'm going to install real 3.1 roms anyway to see if that works any better, I should probably have them regardless although I am not looking forward to the boot delay. Is there a patch for that? My machine is quite stable and reliable (for days on end, if I leave it on) with the stock roms, though.
As for removing the mapped rom, you run acamaprom r... and then of course you get another reboot |
02 October 2017, 17:35 | #19 |
Registered User
Join Date: Jul 2017
Location: California
Posts: 47
|
Plenty of progress. Got this working correctly some time ago. Thanks for all the advice.
Here's what the top of the startup-sequence looks like: Code:
c:version >NIL: exec.library 45 20 if warn c:acamaprom devs:kickstarts/a1200-3.9.rom quiet endif Code:
version >nil: exec.library 45 20 If warn IF $SCSIUpdate EQ 1 C:SetPatch QUIET ELSE C:SetPatch SKIPROMUPDATES "scsi.device" QUIET ENDIF Else c:SetPatch NOROMUPDATE QUIET EndIF This works like a charm, with one reboot on first boot. The reboot takes longer than the first boot, because it uses a scsi.device with a boot delay, unlike the 3.0 ROM. (I got 3.1 ROMs from AmigaKit, and I may end up installing them after I finally install a CDROM, depending on if I need a boot delay at that point. But they would just make my boot slower right now.) I am using a scsi.device patched for some reason I can't recall right now, maybe I will write up my rom making experiences later. The short short form is that I went back to using just Remus 1.0 RCs and not 1.51, and I was able to get a ROM working by following the guide without deviating. Then I started customizing from that point. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Unable to boot AmigaOS 4.1 HD error | pjhutch | support.WinUAE | 4 | 07 January 2017 16:17 |
No Boot AmigaOS 4.1 - No Expansion | lonestar | support.WinUAE | 16 | 22 June 2015 04:11 |
AmigaOS 4.1 boot up adf | xboxown | support.WinUAE | 7 | 18 October 2014 15:37 |
AmigaOS and Amiga4SYS dual boot CF card | JackTheKnife | support.Hardware | 3 | 14 December 2010 00:53 |
CF card and dual boot (AmigaOS/AmigaSYS) | JackTheKnife | support.Hardware | 34 | 03 January 2010 03:52 |
|
|