Subject: Kernel boot tips.

From: "J. Scott Kasten" <[email-masked]>
Date: Fri, 7 Jul 2000 10:10:59 -0300

I learned 3 slick booting tips for booting an Indy from disk without a
regular Linux boot loader that might be useful to some of the newbies.

First off, there are two ways to trick the prom into booting the kernel
image like the normal Irix kerenel from disk.  If you have an EFS or XFS
bootable file system on the drive, and have Irix up at some point, you can
put the linux kernel in the file system as /unix in place of an Irix
kernel.  When booting, sash will look for that particular file and
bootstrap it.  Another way to accomplish this trick if you don't want any
Irix partitions on your drive at all is to use the volume header itself.
Sash is located there, and the boot prom will load and execute sash as
part of the boot process.  Under Irix, you can use dvhtool to replace sash
with the linux kernel itself.  Then when the system tries to boot, the
prom will load "sash" like normal, but will end up boot straping the linux
kernel for you.  (I think this will require a coff image though.)

The third trick I learned will help those that cannot afford the spare
change to keep around extra SCSI drives so that they have a bootable Irix
image to use for accomplishing these feats.  If you use fx to initially
prepare your linux disk, use the expert option and resize the volume
header partition.  Make it big, like 25 Meg or so.  Shrink the efs/xfs
root partition down very small, but don't delete it.  Keep the swap
partition as well, but again, rather small.  On the Irix CD, you'll find
the directory /dist/miniroot, and inside there, the Irix kernel miniroot
images.  Pick the one named for your machine arch, such as unix.IP22.
When I set up my volume header, I put sash in there like normal, but also
put the miniroot image in there as well, and put the linux kernel as /unix
in the vestigal efs/xfs root partition.  Now from the prom, I can enter
the command "miniroot" and get the Irix kernel up with a handful of
utilities to manage the disk.  It has fx, dvhtool, and others.  On top of
that, you can ifconfig your ethernet device and use rcp to pull over your
linux kernel from the network to install it on the efx/xfs root or in the
volume header as you choose.  You can even mount cdroms and so forth.
Basicly, this is the next best thing to having a full blown Irix install
somewhere.

Hope these tips are usefull for someone!

--

J. Scott Kasten
Email: jsk AT tetracon-eng DOT net

"The only future you have is the one
 you choose to make for yourself..."

---

From: Ralf Baechle <[email-masked]>
Date: Sun, 9 Jul 2000 06:29:28 +0200

> Basicly, this is the next best thing to having a full blown Irix install

I've finally commited my rewrite of dvhtool into the CVS archive on
oss.  It's not yet complete but hackers may be interested in taking a
look at it.

One of my next projects will be a standalone libc which can be used to
write reasonably portable standalone tools like a sash equivalent.

  Ralf

---

From: "J. Scott Kasten" <[email-masked]>
Date: Sun, 9 Jul 2000 17:59:37 -0300

> write reasonably portable standalone tools like a sash equivalent.

Cool.  We need those things.  The tips I gave are only a work around until
we have a regular boot loader/miniroot.  The one thing that does not
work well with my methods is getting command line args to the booting
kernel such as "root=/dev/sda3" etc...  You can do that, but have to stop
the auto boot and enter the prom command tool to do it.

---

From: Bryan Manternach <[email-masked]>
Date: Sun, 09 Jul 2000 15:34:17 -0700

> > regular Linux boot loader that might be useful to some of the newbies.

A fourth means is to change the nvram to boot the file you want.
Leave /unix there,and call your linux kernel something like /linux2.2.0
and change the "kernname" nvram.

kernname=pci(0)scsi(0)disk(2)rdisk(0)partition(0)/unix
becomes

kernname=pci(0)scsi(0)disk(2)rdisk(0)partition(0)/linux2.2.0

This should work on the IRIX efs/xfs filesystem on the IRIX
partition.  Then you can create a script that resets the NVRAM
variable before reboot.

All we would need to make back and forth boots of IRIX/LINUX
is an "nvram" tool that runs under LInux.  (Which would be handy
for other porposes as well.

>
> >--
> THE USE OF EMAIL FOR THE TRANSMISSION OF UNSOLICITED COMMERICAL
> MATERIAL IS PROHIBITED UNDER FEDERAL LAW (47 USC 227). Violations may
> result in civil penalties and claims of $500.00 PER OCCURRENCE
> (47 USC 227[c]).  Commercial spam WILL be forwarded to postmasters.

---

From: Florian Lohoff <[email-masked]>
Date: Mon, 10 Jul 2000 00:59:54 +0200

> kernname=pci(0)scsi(0)disk(2)rdisk(0)partition(0)/unix

The problem with the nvram vars is the non-availability on
the Indigo2 which is not capable of storing arbitrary vars
or arbitrary content in existing vars.

I would prefer a "SILO" the Sparc Linux LOader which is capable
of reading an ext2 filesystem, getting its config from there
and loading the kernel from an ext2.

Flo
-- 
Florian Lohoff		[email-masked]		      	+49-5201-669912
     "If you're not having fun right now, you're wasting your time."