Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
sgi/mips arcload hacked with auto-EXT2 & OSLoadPartitionFS
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on Alternative Architectures
View previous topic :: View next topic  
Author Message
ddc
Guru
Guru


Joined: 29 Aug 2006
Posts: 527

PostPosted: Sat Mar 17, 2007 5:48 pm    Post subject: sgi/mips arcload hacked with auto-EXT2 & OSLoadPartition Reply with quote

hi,
i'd like to have a arcload able to load the kernel from the boot ext2 partition
unfortunately it is not working as i read about v0.5

this is my disk topology
Code:

Disk /dev/sda (SGI disk label): 133 heads, 62 sectors, 1017 cylinders
Units = cylinders of 8246 * 512 bytes

----- partitions -----
Pt#    Device  Info     Start       End   Sectors  Id  System
 1: /dev/sda1  boot        51       101    420546  83  Linux native EXT2
 2: /dev/sda2  swap       102       163    511252  82  Linux swap
 3: /dev/sda3             164      1016   7033838  83  Linux native EXT3
 9: /dev/sda4               0        50    420546   0  SGI volhdr
11: /dev/sda5               0      1016   8386182   6  SGI volume
----- Bootinfo -----
Bootfile: /unix
----- Directory Entries -----
 0: bootld     sector    4


this is my arcload configure file
Code:

# ARCLoad Configuration

# Some default settings...
append  "root=/dev/sda3";
append  "ro";
append  "gentoo=noudev";   #to exclude udev

kernel  {
        description     "SGI Indy R5000\n\r";
        image system    "/kernel";
        }


this is my working prom setting
Code:

SystemPartition=scsi(0)disk(1)rdisk(0)partition(8)
OSLoadPartition=scsi(0)disk(1)rdisk(0)partition(8)
OSLoader=bootld
OSLoadFilename=kernel

Code:

47264+272+5428+624+336+19016d+1904+4048 entry: 0x97ff2d5c
ARCLoad version 0.5
Loading configuration for 'kernel'...
Loading scsi(0)disk(1)rdisk(0)partition(8)/kernel...
Reading 3256453 bytes... OK.
Entering kernel.
Linux version 2.6.17.10-crazed-snow-weasel-sgi-indy-r5000 (root@satura) (gcc version 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, pie-8.7.9)) #3 Fri Mar 16 20:29:53 GMT 2007
ARCH: SGI-IP22




this is my not working prom setting
Code:
SystemPartition=scsi(0)disk(1)rdisk(0)partition(8)
OSLoadPartition=scsi(0)disk(1)rdisk(0)partition(0)
OSLoader=bootld
OSLoadFilename=kernel


scsi(0)disk(1)rdisk(0)partition(0) is /dev/sda1
it ismounted as /boot
it contents "kernel" and "boot.cf" files

Code:

>> boot
47264+272+5428+624+336+19016d+1904+4048 entry: 0x97ff2d5c
ARCLoad version 0.5
Loading configuration for 'kernel'...
GRUB Filesystem Error FILE_NOT_FOUND: 'ArcOpen failed'
Opening scsi(0)disk(1)rdisk(0)partition(0)/boot.cf failed - using default configuration.
GRUB Filesystem Error FILE_NOT_FOUND: 'ArcOpen failed'
Opening scsi(0)disk(1)rdisk(0)partition(0)/gentoo failed.
Exception: <vector=Normal>
Status register: 0x30004803<CU1,CU0,IM7,IM4,IPL=???,MODE=KERNEL,EXL,IE>
Cause register: 0x8010<CE=0,IP8,EXC=RADE>
Exception PC: 0x7, Exception RA: 0x7
Read address error exception, bad address: 0x7
Local I/O interrupt register 1: 0x80 <VR/GIO2>
  Saved user regs in hex (&gpda 0xa8740e48, &_regs 0xa8741048):
  arg: a8740000 1e52 0 a
  tmp: a8740000 a8746db4 a87ff234 a87496e0 a87ff53c a87ffc20 a8746d60 9fc556d4
  sve: a8740000 3 400000 8000000 16 3f80 0 10000000
  t8 a8740000 t9 ffffffff at ffffffff v0 ffffffff v1 ffffffff k1 1
  gp a8740000 fp ffffffff sp ffffffff ra ffffffff
PANIC: Unexpected exception


Last edited by ddc on Sat Mar 24, 2007 11:27 pm; edited 3 times in total
Back to top
View user's profile Send private message
ddc
Guru
Guru


Joined: 29 Aug 2006
Posts: 527

PostPosted: Sat Mar 17, 2007 6:01 pm    Post subject: Reply with quote

GRUB Filesystem Error FILE_NOT_FOUND: 'ArcOpen failed'
Opening scsi(0)disk(1)rdisk(0)partition(0)/boot.cf

it seems that arcload is not able to read an EXT2 partition, the one (/dev/sda1 /boot) where it is located boot.cf

any idea ?
Back to top
View user's profile Send private message
Redhatter
Retired Dev
Retired Dev


Joined: 20 Sep 2003
Posts: 548
Location: Brisbane, QLD, Australia

PostPosted: Sun Mar 18, 2007 12:28 am    Post subject: Reply with quote

Try: scsi(0)disk(1)rdisk(0)partition(0)[ext2]

This is covered in the fine manual (see the bottom of the page)
_________________
Stuart Longland (a.k.a Redhatter, VK4MSL)
I haven't lost my mind - it's backed up on a tape somewhere...

Gentoo/MIPS Cobalt developer, Mozilla herd member.
Back to top
View user's profile Send private message
ddc
Guru
Guru


Joined: 29 Aug 2006
Posts: 527

PostPosted: Sun Mar 18, 2007 1:20 pm    Post subject: Reply with quote

i'd like to realize a dual boot loader: 2 harddisks, one with irix, one with gentoo

the 2 hds are connected to the power feeder by a special electrical switch:
- position A the first hd is powered, the second hd is not powered
- position B the first hd is not powered, the second hd is powed

irix wants partition(0) to be used as the root file system, so arcload must do the same




the netbsd/sgimips boot loader is able to read the partition(0)
may i see the source code


Last edited by ddc on Sun Mar 18, 2007 9:52 pm; edited 1 time in total
Back to top
View user's profile Send private message
Redhatter
Retired Dev
Retired Dev


Joined: 20 Sep 2003
Posts: 548
Location: Brisbane, QLD, Australia

PostPosted: Sun Mar 18, 2007 1:45 pm    Post subject: Reply with quote

Well, how IRIX and NetBSD do things is largely irrelevant. arcload expects to be told what sort of filesystem it's mounting, and will expect to find arc.cf in the root of that partition. (It won't bother checking for a /boot directory)

I'd wager, that in order to dual-boot the machine successfully, you're going to have to twiddle the PROM variables prior to booting either OS. I don't think arcload will successfully boot IRIX, nor will IRIX boot with the PROM settings used with Linux.

The settings in the handbook were taken directly from my SGI boxes. Thus I know they work. Other people have also used these settings to configure arcload on their systems with the same level of success.
_________________
Stuart Longland (a.k.a Redhatter, VK4MSL)
I haven't lost my mind - it's backed up on a tape somewhere...

Gentoo/MIPS Cobalt developer, Mozilla herd member.
Back to top
View user's profile Send private message
ddc
Guru
Guru


Joined: 29 Aug 2006
Posts: 527

PostPosted: Sun Mar 18, 2007 2:20 pm    Post subject: Reply with quote

i think i will force grub_fs_by_name("ext2")

Last edited by ddc on Sun Mar 18, 2007 9:50 pm; edited 1 time in total
Back to top
View user's profile Send private message
ddc
Guru
Guru


Joined: 29 Aug 2006
Posts: 527

PostPosted: Sun Mar 18, 2007 2:35 pm    Post subject: Reply with quote

i will read sources and hack it

Last edited by ddc on Sun Mar 18, 2007 9:51 pm; edited 1 time in total
Back to top
View user's profile Send private message
ddc
Guru
Guru


Joined: 29 Aug 2006
Posts: 527

PostPosted: Sun Mar 18, 2007 9:32 pm    Post subject: Reply with quote

hacking it a bit ...
... it is now working great


see

Code:

                           Starting up the system...
               To perform system maintenance instead, press <Esc>

System Maintenance Menu

1) Start System
2) Install System Software
3) Run Diagnostics
4) Recover System
5) Enter Command Monitor

Option? 5
Command Monitor.  Type "exit" to return to the menu.
>> ls
scsi(0)disk(1)rdisk(0)partition(8)/:
bootld  boot.cf  kernel  mybootld
>> setenv OSLoadPartitionFS ext4
>> boot  -f mybootld
47440+272+5536+624+336+19248d+1936+4160 entry: 0x97ff2c40
ARCLoad version 0.5.5-blue
load partition FS is [ext4]
Loading configuration for 'kernel'...
No such filesystem: '[ext4]'.
Opening scsi(0)disk(1)rdisk(0)partition(8)[ext4]/boot.cf failed - using default configuration.
No such filesystem: '[ext4]'.
Opening scsi(0)disk(1)rdisk(0)partition(8)[ext4]/gentoo failed.
[Press reset or ENTER to restart.]


>> printenv
SystemPartition=scsi(0)disk(1)rdisk(0)partition(8)
OSLoadPartition=scsi(0)disk(1)rdisk(0)partition(0)
OSLoader=bootld
OSLoadFilename=kernel
>> setenv OSLoadPartitionFS ext2
>> boot -f mybootld
47440+272+5536+624+336+19248d+1936+4160 entry: 0x97ff2c40
ARCLoad version 0.5.5-blue
OSLoadPartitionFS=ext2
load partition FS is [ext2]
Loading configuration for 'kernel'...
Loading scsi(0)disk(1)rdisk(0)partition(0)[ext2]/kernel...
Reading 3256453 bytes... OK.
Entering kernel.
Linux version 2.6.17.10-crazed-snow-weasel-sgi-indy-r5000 (root@satura) (gcc version 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, pie-8.7.9)) #3 Fri Mar 16 20:29:53 GMT 2007




this way you have to setenv OSLoadPartitionFS ext2
if you don't want/can't setenv it, i add a default setting: "forcing OSLoadPartitionFS=ext2"


Code:

>> printenv
SystemPartition=scsi(0)disk(1)rdisk(0)partition(8)
OSLoadPartition=scsi(0)disk(1)rdisk(0)partition(0)
OSLoader=bootld
OSLoadFilename=kernel
>> boot -f mybootld
47440+272+5536+624+336+19248d+1936+4160 entry: 0x97ff2c40
ARCLoad version 0.5.5-blue
forcing OSLoadPartitionFS=ext2
load partition FS is [ext2]
Loading configuration for 'kernel'...
Loading scsi(0)disk(1)rdisk(0)partition(0)[ext2]/kernel...
Reading 3256453 bytes... OK.
Entering kernel.
Linux version 2.6.17.10-crazed-snow-weasel-sgi-indy-r5000 (root@satura) (gcc version 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, pie-8.7.9)) #3 Fri Mar 16 20:29:53 GMT 2007




:)

so this hack makes me able to dual boot irix and gentoo from 2 different HDs connected to a special power feeder switch


there is nothing to modify in the prom environment, just renaming the gentoo kernel as irix kernel is called, renaming the modified arcloader as the irix one, and putting the power switch to

(A) if i want to book gentoo, or putting the power switch to
(B) if i want to boot irix


Last edited by ddc on Sun Apr 08, 2007 8:03 pm; edited 1 time in total
Back to top
View user's profile Send private message
ddc
Guru
Guru


Joined: 29 Aug 2006
Posts: 527

PostPosted: Sat Mar 24, 2007 11:21 pm    Post subject: Reply with quote

if you want to try it

http://www.webalice.it/devilcoder/sgi-arcload-my-binary.tgz
Back to top
View user's profile Send private message
Kumba
Developer
Developer


Joined: 16 Jul 2002
Posts: 367
Location: Sigma 957

PostPosted: Fri Mar 30, 2007 8:54 pm    Post subject: Reply with quote

Nifty. The only catch is ARCS doesn't save non-standard variable names to EEPROM. They disappear when you reboot the system, which is annoying.

From reading your posts, though, I get the impression you're trying to make Arcload pull everything from an ext2 partition. I think one thing you might want to try is to put arc.cf into the DVH volume header -- arcload looks there first for arc.cf. You can put the kernels anywhere else that you want, as long as it is a filesystem readable by Grub's codebase. This way, you can configure your arc.cf all you want, and once arcload opens it, it'll follow whatever instructions you desire.



--Kumba
_________________
"The past tempts us, the present confuses us, the future frightens us. And our lives slip away, moment by moment, lost in that vast, terrible in-between."
--Emperor Turhan, Centauri Republic
Back to top
View user's profile Send private message
ddc
Guru
Guru


Joined: 29 Aug 2006
Posts: 527

PostPosted: Sun Apr 08, 2007 7:41 pm    Post subject: Reply with quote

Kumba wrote:
Nifty. The only catch is ARCS doesn't save non-standard variable names to EEPROM. They disappear when you reboot the system, which is annoying.

From reading your posts, though, I get the impression you're trying to make Arcload pull everything from an ext2 partition. I think one thing you might want to try is to put arc.cf into the DVH volume header -- arcload looks there first for arc.cf. You can put the kernels anywhere else that you want, as long as it is a filesystem readable by Grub's codebase. This way, you can configure your arc.cf all you want, and once arcload opens it, it'll follow whatever instructions you desire.

--Kumba


yes, arcload pull everything from ext2 partition if you don't modify the new variable
i can add this feature, but personally i copied boot.cnf (this is the way i call the arc.cnf) and a stable kernel in DVH for the occasions you recompile a kernel and you get it is not working

no problem with this hack: reset the machine, edit the the variable OSLoadPartitionFS to force the load from DVH, and you will bootstrap a stable kernel that allows you to fix the jam

the main goal of my hack is to realize an hardware dual boot using a modified boot loader (arcload) and a power feeder switch to switch the power of 2 hard disk
i hate to partition one hard disk for 2 different OS, i hate because i hate troubles

so in one hd i installed gentoo, in the other i installed irix

then i connected these 2 hd to the home made power switcher (i assume the scsi bus is well terminated to allow you to have a powered off harddisk connected to the bus without causing data corruption the the bus. Well facts confirm the assumption: it is well working)

so the switch makes you able to power on ONE, when the other is powered off
and viceversa

with the hack of arcload, you have to edit variables to switch irix to gentoo & viceversa, which is annoying.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on Alternative Architectures All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum