Format of bootable Indy CDs?
I'm curious about the possibility of making a Linux installer for the Indy that boots from CD; is there any description of the format of bootable IRIX CDs out there? What does the firmware expect?
I know that sash is involved somehow...
- Alex
Signature · 5 lines
Alex deVries Principal Architect, Linuxcare Canada, Inc. (613) 562 2759 Linuxcare. Simplifying Server Consolidation.
Quoted 3 lines · Alex deVries
I'm curious about the possibility of making a Linux installer for the Indy that boots from CD; is there any description of the format of bootable IRIX CDs out there? What does the firmware expect?
The firmware loads an ecoff file from a volume header - The volume header is a special partition with a "minimalistic" filesystem in it - This can be modified by "dvhtool".
I succeeded in booting an indy by creating a fake "volume header" on the ISO filesystem CD. (ISO Specifies the first 8k of an image to be for the bootloader and partitioning etc). Then i created directory entrys for the kernels on the iso in the pseudo volume header. As the ISO filesystems needs all files to be contigues (same for the volume header) the machine was able to boot from the cd although booting the ecoff kernel image including the ramdisk directly. Having a bootloader would be much nicer.
Quoted 1 line
I know that sash is involved somehow...
"sash" is proprietary IRIX. The IRIX CDs are EFS BTW.
If you plan to work on this - Feel free to come around in Oldenburg this weekend - We will have a Kernel Hacker meeting in the University Oldenburg. I'll bring a Burner and CD-RW's with me to test this.
Flo
Signature · 2 lines
Florian Lohoff [email protected] +49-5201-669912 Heisenberg may have been here.
Quoted 3 lines · Florian Lohoff
The firmware loads an ecoff file from a volume header - The volume header is a special partition with a "minimalistic" filesystem in it - This can be modified by "dvhtool".
Okay. I see an example of that mentioned in your mail in
http://lists.debian.org/debian-mips/2002/debian-mips-200204/msg00056.html
. That seems to match with an EFS volume header.
So making a tool that writes the 8k volume header is easy. If I understand properly, that points to a filename on the EFS filesystem that follows it.
What open source tools do we have to create such an EFS filesystem?
Quoted 3 lines
If you plan to work on this - Feel free to come around in
Oldenburg this weekend - We will have a Kernel Hacker meeting
in the University Oldenburg. I'll bring a Burner and CD-RW's with me to test this.
Sadly, I have other plans this weekend.
- Alex
Signature · 5 lines
Alex deVries Principal Architect, Linuxcare Canada, Inc. (613) 562 2759 Linuxcare. Simplifying Server Consolidation.
On Thu, Sep 26, 2002 at 03:20:06PM -0400, Alex deVries wrote:
Nice to hear from you again after years of silence.
Quoted 5 lines
So making a tool that writes the 8k volume header is easy. If I understand properly, that points to a filename on the EFS filesystem that follows it.
What open source tools do we have to create such an EFS filesystem?
None. The in-kernel EFS filesystem is read-only.
Ralf
Quoted 4 lines · Ralf Baechle
On Thu, Sep 26, 2002 at 03:20:06PM -0400, Alex deVries wrote
Quoted 1 line
What open source tools do we have to create such an EFS filesystem?
None. The in-kernel EFS filesystem is read-only.
Okay. Let me look at that.
EFS seems pretty simple, but is there a filesystem described apart from the .h files?
- Alex
Signature · 5 lines
Alex deVries Principal Architect, Linuxcare Canada, Inc. (613) 562 2759 Linuxcare. Simplifying Server Consolidation.
Quoted 9 lines · Alex deVries
Quoted 4 lines
On Thu, Sep 26, 2002 at 03:20:06PM -0400, Alex deVries wrote
Quoted 1 line
What open source tools do we have to create such an EFS filesystem?
None. The in-kernel EFS filesystem is read-only.
Okay. Let me look at that.
EFS seems pretty simple, but is there a filesystem described apart from the .h files?
No. EFS is not a very complex filesystem, roughly as complex as for example UFS.
However later PROMs also know about XFS I think and that's the trivial case. Anyway, as afair the EFS CDROMs are partitioned like disks a bootloader there could also be made to contain something like libext2fs and boot the rest of a ext2 on the CDROM. ISOfs if you have a nice library to use for that.
Ralf
Quoted 9 lines · Alex deVries
Quoted 3 lines · Florian Lohoff
The firmware loads an ecoff file from a volume header - The volume header is a special partition with a "minimalistic" filesystem in it - This can be modified by "dvhtool".
Okay. I see an example of that mentioned in your mail in
http://lists.debian.org/debian-mips/2002/debian-mips-200204/msg00056.html
. That seems to match with an EFS volume header.
Quoted 5 lines
So making a tool that writes the 8k volume header is easy. If I understand properly, that points to a filename on the EFS filesystem that follows it.
What open source tools do we have to create such an EFS filesystem?
None .. Its not EFS - The Volume Header filesystem is MUCH simpler ...
Look into dvhtool to understand it ...
Flo
Signature · 2 lines
Florian Lohoff [email protected] +49-5201-669912 Heisenberg may have been here.
Could we not just make an image file with an arcboot header and burn that to cd?
Quoted 19 lines · Florian Lohoff
Quoted 3 lines · Alex deVries
I'm curious about the possibility of making a Linux installer for the Indy that boots from CD; is there any description of the format of bootable IRIX CDs out there? What does the firmware expect?
The firmware loads an ecoff file from a volume header - The volume header is a special partition with a "minimalistic" filesystem in it - This can be modified by "dvhtool".
I succeeded in booting an indy by creating a fake "volume header" on the ISO filesystem CD. (ISO Specifies the first 8k of an image to be for the bootloader and partitioning etc). Then i created directory entrys for the kernels on the iso in the pseudo volume header. As the ISO filesystems needs all files to be contigues (same for the volume header) the machine was able to boot from the cd although booting the ecoff kernel image including the ramdisk directly. Having a bootloader would be much nicer.
Quoted 9 lines
Quoted 1 line
I know that sash is involved somehow...
"sash" is proprietary IRIX. The IRIX CDs are EFS BTW.
If you plan to work on this - Feel free to come around in Oldenburg this weekend - We will have a Kernel Hacker meeting in the University Oldenburg. I'll bring a Burner and CD-RW's with me to test this.
I'd be interested in working on this, but I'm not 100% sure that I know enough about my indigo2 yet. I'll start by seeing what I can do with arcboot.
Signature · 5 lines
Mike Nugent Programmer/Author [email protected] "I believe the use of noise to make music will increase until we reach a music produced through the aid of electrical instruments which will make available for musical purposes any and all sounds that can be heard." -- composer John Cage, 1937
Quoted 5 lines · Mike Nugent
I'd be interested in working on this, but I'm not 100% sure that I know enough about my indigo2 yet. I'll start by seeing what I can do with arcboot.
Grab SILO or PALO - Both have enough ISO9660 support to load a file from an ISO image - Then look at the existing ARCBOOT code and make some kind of minimalistic "filesystem detection" of the devices media.
Flo
Signature · 2 lines
Florian Lohoff [email protected] +49-5201-669912 Heisenberg may have been here.
Quoted 5 lines · Alex deVries
I'm curious about the possibility of making a Linux installer for the Indy that boots from CD; is there any description of the format of bootable IRIX CDs out there? What does the firmware expect?
I know that sash is involved somehow...
Ok - i reworked the procedure a bit whil beeing in Oldenburg.
flo@split:~/projects/boot$ mkisofs -J -R -V testboot -o iso tftpboot-r4k-ip22.img Total translation table size: 0 Total rockridge attributes bytes: 262 Total directory bytes: 0 Path table size(bytes): 10 Max brk space used 6644 2208 extents written (4 Mb) flo@split:~/projects/boot$ isoinfo -l -R -i iso
Directory listing of /
dr-xr-xr-x 2 1750 1750 2048 Sep 27 2002 [ 28] . ?--------- 0 1750 1750 2048 Sep 27 2002 [ 28] .. -rwxr-xr-x 1 1750 1750 4414116 Sep 12 2002 [ 31] tftpboot-r4k-ip22.img flo@split:~/projects/boot$ echo $[ 31 * 4 ] 124 flo@split:~/projects/boot$ genisovh-0.1/genisovh iso sashARCS:124,4414116 ip22:124,4414116
The last command adds a "volume header" in the first 512 byte into the iso file. This volume header spans the whole iso filesystem and lists 2 files at identical positions which is the ECOFF tftpboot-r4k-ip22.img. The name sashARCS is coded in the Indys prom for the installer when using your mouse and "Install System Software" and "Local cdrom".
Now one needs to write a wrapper for the Indy bootfloppys aka debian-cd to produce bootable cds.
I put up the stuff:
http://www.silicon-verl.de/home/flo/software/ip22test.iso
http://www.silicon-verl.de/home/flo/software/genisovh-0.1.tgz
Flo
Signature · 2 lines
Florian Lohoff [email protected] +49-5201-669912 Heisenberg may have been here.
Quoted 7 lines · Florian Lohoff
Now one needs to write a wrapper for the Indy bootfloppys aka debian-cd to produce bootable cds.
I put up the stuff:
http://www.silicon-verl.de/home/flo/software/ip22test.iso
http://www.silicon-verl.de/home/flo/software/genisovh-0.1.tgz
BTW: I was not able to boot from a cd-rom drive which was not able to read 512 byte blocked. Burning on a 2048 byte blocked burner is no problem though.
Flo
Signature · 2 lines
Florian Lohoff [email protected] +49-5201-669912 Heisenberg may have been here.
Quoted 2 lines · Florian Lohoff
BTW: I was not able to boot from a cd-rom drive which was not able to read 512 byte blocked. Burning on a 2048 byte blocked burner is no problem though.
I have a cdrom connected to my Indy which has been configured to 512. I think this hw is good, but will double check when I find an IRIX CD. When I boot, it complains "invalid partition".
I wrote the ISO you posted on an i386 box with cdrecord. I suspect my problem I didn't use set the blocksize to 512; exactly how did you burn this CD?
- Alex
Signature · 5 lines
Alex deVries Principal Architect, Linuxcare Canada, Inc. (613) 562 2759 Linuxcare. Simplifying Server Consolidation.
Quoted 7 lines · Alex deVries
I have a cdrom connected to my Indy which has been configured to 512. I think this hw is good, but will double check when I find an IRIX CD. When I boot, it complains "invalid partition".
I wrote the ISO you posted on an i386 box with cdrecord. I suspect my problem I didn't use set the blocksize to 512; exactly how did you burn this CD?
cdrecord with xcdroast - But burning does not care about block sizes it seems.
Can you try to dump the volume header with "decodevh" from
http://amaya.mediaways.net/homes/flo/software/decodevh.tgz
Compile and decode with
devodevh /dev/scd0
Flo
Signature · 2 lines
Florian Lohoff [email protected] +49-5201-669912 Heisenberg may have been here.
Quoted 3 lines · Alex deVries
I wrote the ISO you posted on an i386 box with cdrecord. I suspect my problem I didn't use set the blocksize to 512; exactly how did you burn this CD?
Blocks on CD media are always 2048 bytes long (disregarding correction
data). The 512-byte block size as implemented by a few CD drives is simply an ability to present chunks of native blocks in 512-byte amounts. This is just an artifical feature to fulfill a requirement of broken firmware that asserts that disks have 512-byte sectors.
Signature · 3 lines
+ Maciej W. Rozycki, Technical University of Gdansk, Poland + +--------------------------------------------------------------+ + e-mail: [email protected], PGP key available +
Florian,
Cool! As soon as I can find a 512-byte ro CDROM, I'll try this.
I've got part of mkefs working, BTW, which I realize is not required to make bootable CDs, but might be helpful anyway.
- Alex
Quoted 42 lines · Florian Lohoff
Quoted 3 lines · Alex deVries
I'm curious about the possibility of making a Linux installer for the Indy that boots from CD; is there any description of the format of bootable IRIX CDs out there? What does the firmware expect?
I know that sash is involved somehow...
Ok - i reworked the procedure a bit whil beeing in Oldenburg.
flo@split:~/projects/boot$ mkisofs -J -R -V testboot -o iso tftpboot-r4k-ip22.img Total translation table size: 0 Total rockridge attributes bytes: 262 Total directory bytes: 0 Path table size(bytes): 10 Max brk space used 6644 2208 extents written (4 Mb) flo@split:~/projects/boot$ isoinfo -l -R -i isoDirectory listing of /
dr-xr-xr-x 2 1750 1750 2048 Sep 27 2002 [ 28] . ?--------- 0 1750 1750 2048 Sep 27 2002 [ 28] .. -rwxr-xr-x 1 1750 1750 4414116 Sep 12 2002 [ 31] tftpboot-r4k-ip22.img flo@split:~/projects/boot$ echo $[ 31 * 4 ] 124 flo@split:~/projects/boot$ genisovh-0.1/genisovh iso sashARCS:124,4414116 ip22:124,4414116The last command adds a "volume header" in the first 512 byte into the iso file. This volume header spans the whole iso filesystem and lists 2 files at identical positions which is the ECOFF tftpboot-r4k-ip22.img. The name sashARCS is coded in the Indys prom for the installer when using your mouse and "Install System Software" and "Local cdrom".
Now one needs to write a wrapper for the Indy bootfloppys aka debian-cd to produce bootable cds.
I put up the stuff:
http://www.silicon-verl.de/home/flo/software/ip22test.iso
http://www.silicon-verl.de/home/flo/software/genisovh-0.1.tgzFlo
Signature · 5 lines
Alex deVries Principal Architect, Linuxcare Canada, Inc. (613) 562 2759 Linuxcare. Simplifying Server Consolidation.
Quoted 4 lines · Alex deVries
Cool! As soon as I can find a 512-byte ro CDROM, I'll try this.
I've got part of mkefs working, BTW, which I realize is not required to make bootable CDs, but might be helpful anyway.
Any plextor scsi drive should do. It has a jumper to enable 512byte block access. They can be bought for fairly cheap for read only drives.
Len Sorensen