BBS水木清华站∶精华区
发信人: liugang (L.G.), 信区: Linux
标 题: SGI Linux 1.1 FAQ
发信站: BBS 水木清华站 (Wed Dec 22 22:07:25 1999)
SGI Linux 1.1 FAQ
What is SGI Linux 1.1?
How do I build a system ala SGI Linux 1.1?
Why doesn't SGI provide an iso-image/rpms for their entire
distribution?
How do I install the SGI Linux 1.1 kernel patch?
How do I build kernel rpms?
How do I install a kernel rpm?
Why is the kernel based off 2.2.10?
What if I have 2.2.10-ac12?
How do I get SGI Linux 1.1 working on a Visual Workstation?
What is SGI Linux 1.1?
SGI Linux 1.1 is SGI's distribution of Linux. It is based off RedHat 6.0
and is
fully binary compatible with programs written for RedHat 6.0. It
contains
changes (mostly additions) to the kernel. It also fixes a few bugs in
the
packages RedHat ships. There are also a few user programs that utilize
some of the kernel enhancements.
How do I build a system ala SGI Linux 1.1?
Currently, the only supported platform for SGI Linux 1.1 is the 1400L
server
system that SGI sells. However, since we are using an x86 kernel and
compiling the packages for x86, SGI Linux 1.1 will run on almost any
x86
system. Here at SGI, we have tested the distribution on many systems
including Dell's, Compaq's, HP's, Gateway's, etc. SGI Linux should
work on
anything RedHat 6.0 runs on as well as SGI's hardware. (see the RedHat
and
Linux compatibility lists for details).
WARNING: THIS IS NOT SUPPORTED NOR DOES IT CARRY ANY KIND OF
WARRANTY. SGI ASSUMES NO RESPONSIBILITY FOR THE
CONSEQUENCES OF DOING THIS.
Since SGI Linux 1.1 is based off RedHat 6.0, you need to first have
a
working version of that on your machine.
Download all the errata from the RedHat 6.0 updates page and
install
them with "rpm -F". (this will only upgrade the ones you
currently have
installed)
Download all the SGI rpms and install them using "rpm -U"
Download the SGI kernel patch with a copy of linux-2.2.10 and
install
that. (see below).
Compile a kernel for your machine with this new source tree (see
the
Kernel-HOWTO if you have not done this before).
Do a "make menuconfig" (or get a .config file from here)
Select the components you want/need
Do a "make dep"
Do a "make bzImage"
Copy arch/i386/boot/bzImage to /boot/mynewkernel
Do a "make modules" (if you configured any modules)
Do a "make modules_install" (if configured)
cd into /boot and do a
mkinitrd --ifneeded initrd.img 2.2.10
(if modules are needed to boot)
Make an entry in your lilo.conf file for your newly compiled
kernel
(remembering to add an initrd line if you have a component
compiled
as a module necessary to boot). If you have not played with lilo
before, read the LILO mini HOWTO. The one thing I cannot stress
more is: "DON'T DELETE A WORKING KERNEL FROM YOUR lilo.conf
UNTIL YOU HAVE TESTED THE NEW ONE."
Run "lilo" which should install the boot loader in the master
boot
record.
Reboot.
Why doesn't SGI provide an iso-image/rpms for their entire
distribution?
Due to United States exportation laws forbidding the export of
cryptography
source code, we are not allowed to provide an entire Linux
distribution on
the Internet. However, we can and do provide all the changes we make
to
the base code. These deltas do not contain crypto source code and
therefore are not regulated by the US Government.
How do I install the SGI Linux 1.1 kernel patch?
You must first get a clean copy of linux-2.2.10. This can be
obtained
from http://www.kernel.org.
Then, download the SGI kernel patch from here.
Unpack both the patch and the kernel tree.
From inside the "linux" directory (at the base of the kernel
source
tree), run:
patch -p1 --dry-run < kernelpatch.patch
where kernelpatch.patch is the fully qualified path to the patch
you
downloaded.
If there are no errors, then run:
patch -p1 < kernelpatch.patch
You may want to edit the top level Makefile and put "-1SGI_17" in
the
EXTRAVERSION field, but this is not necessary. Do this if you
want to
match the kernel to the version we shipped with 1.1.
(NOTE: We added a "-1SGI_17smp" when we configured SMP and
"-1SGI_17smp-bigmem" when we configured in BIGMEM and SMP.)
You should now be good to go. Compile at will.
How do I build kernel rpms?
Because we cannot export source code for the entire kernel, you may
need
to build the rpms directly from the patch and source. This is how you
should
do this:
1.Make sure you have RedHat 6.0 installed. Also, make sure you have
installed the bzip2 package (this does not get installed by
defualt).
2.You will need to be root for this process to work properly, so "su
root"
3.Change directory into "/usr/src/redhat/SOURCES"
4.Download all the files from
http://oss.sgi.com/projects/sgilinux1.1/download/SOURCES/ and put
them here.
5.Download linux-2.2.10.tar.bz2 (note the bz2 extension) and put
that
here.
6.Download the SGI linux 1.1 patch here. (NOTE: some versions of
netscape will remove the ".gz" extension. You need to make sure
to
change the name back to sgi-linux1.1-2.2.10.patch.gz)
7.gunzip sgi-linux1.1-2.2.10.patch.gz
8.Change directory to "/usr/src/redhat/SPECS"
9.Grab the kernel-2.2.spec file and put it here.
10.Execute rpm -ba kernel-2.2.spec
11.Resultant rpms should be in "/usr/src/redhat/RPMS"
This will take a while depending on how fast your computer is. It
takes 3
hours on a PIII 500Mhz.
How do I install a kernel rpm?
Be warned, that by doing this, you may make your machine non-bootable,
so
do so with EXTREME CAUTION.
You will need to build a kernel rpm (see above).
su root, execute rpm -i kernel-xxx.rpm (please DO NOT run rpm -U
for this
will remove your old kernel and if all does not go well, render
your
machine useless)
cd /boot
ls and look for the vmlinuz with an SGI string appended. It
should be of
the form 2.2.x-xSGI_x. Remember this as "sgi-string" and substitute
in
the following instructions.
mkinitrd --ifneeded initrd-sgi-string.img sgi-string
ls again and see if a file "initrd-sgi-string.img" exists. If it
does, then we
will need to add it into the lilo.conf file (below).
vi /etc/lilo.conf (You know how to use vi, right?)
go down to the line before the first "image =" line
look at the tabbed lines under the first image and find the line
with
"root=/dev/xxxx". remember this
insert
image = /boot/vmlinuz-sgi-string
label=sgi-linux
use the "root=/dev/xxx" from above to put:
root=/dex/xxx
if an initrd file was created above, add
initrd=/boot/initrd-sgi-string.img
finally, put:
read-only
Save the file and quit vi (type "ZZ" when in command mode)
run lilo
Now you should be able to reboot to the new kernel. Since we put the
new
image as the first image in lilo.conf, the new kernel should come up
automagically when you reboot. If a failure occurs, you can always
reboot
and type "linux" at the boot prompt to bring up the old kernel.
Why is the kernel based off 2.2.10?
At the time we froze the tree, 2.2.11 and 2.2.12 contained a memory
leak.
We wanted to provide the most stable version of the 2.2.x series at
the time.
We are in the process of moving our codebase up to 2.2.13 now and will
release that patch as soon as we verify its stability.
What if I have 2.2.10-ac12?
We provide a patch against a bare 2.2.10 tree as well as a patch
against
2.2.10-ac12. You can find that here.
How do I get SGI Linux 1.1 working on a Visual Workstation?
SGI Linux 1.1 will work on 320 or 540 with some special configuration.
Please
realize that this is NOT SUPPORTED at all. For more detailed
instructions,
please visit the Linux Visual Workstation project page. You do not
need to
download the kernel patch from this page because all the VW changes
are in
the 1.1 kernel patch already. Here, you will find kernel config files
for the
Visual Workstation in both SMP and UP modes.
--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 210.39.3.50]
BBS水木清华站∶精华区