298 lines
12 KiB
Plaintext
298 lines
12 KiB
Plaintext
Linux Bootable Root Disk [HJ release]
|
|
|
|
Introduction
|
|
------------
|
|
This is a bootable root disk for Linux. The kernel is 0.99 patch level 7
|
|
with 387 emulation, minix fs, msdos fs (version 0.10 hacked for 0.99.7),
|
|
ext fs, ext2 fs, xia fs (with fix for 0.7.3), SCSI, CD-ROM and TCP/IP
|
|
support. There are some basic binaries on the root disk, all of which are
|
|
linked with the C library 4. There is a light version of the shared image
|
|
4.3.3, libc-lite.so.4.3.3, which doesn't have curses and gdbm. I don't
|
|
have an Ethernet card to check out TCP/IP. Please consult the NET channel
|
|
and modify /etc/*.
|
|
|
|
NOTE: If you are using this rootdisk for the kernel 0.99 pl7 and xiafs.
|
|
you should run "xfsck -a /dev/xxxxx" on your xiafs partitions after
|
|
booting this rootdisk from the floppy drive first. After you have done
|
|
that, YOU HAVE TO USE THE KERNEL ON THIS DISK TO ACCESS YOUR XIAFS
|
|
PARTITIONS. Please read LILO docs for how to do it. You have to use
|
|
the kernel built with Frank Xia's patch for 0.99 pl 7, which is
|
|
appended below. THIS PATCH IS ONLY NEEDED BY THE KERNEL 0.99 pl 7.
|
|
DON'T USE IT ON ANY OTHER KERNELS.
|
|
|
|
This rootdisk is designed for emergency use. You can use it to recover
|
|
from a disaster. I have used it several times. It can also be used to
|
|
try Linux on a PC or show Linux to your friends. If you are comfortable
|
|
with Linux, you can also use to install Linux on your PC. You have to
|
|
know what you are doing. If you copy it to the existing Linux partition
|
|
on your hard drive, you may overwrite the contents on your Linux
|
|
partition. You have been warned.
|
|
|
|
There are three users without passwords on the root disk, root, halt and
|
|
shutdown, log in as halt or shutdown without password will halt (no delay)
|
|
or shutdown (a few minutes delay) your computer respectively.
|
|
|
|
You can use this disk to install a bootable root partition on your
|
|
hard drive.
|
|
|
|
The root disk is on tsx-11.mit.edu under pub/linux/GCC/rootdisk.
|
|
|
|
|
|
Distribution File Format
|
|
------------------------
|
|
There are two versions of the root disk. The first is in the file
|
|
3rootdisk.z, and is for a 3.5" floppy. The second file is 5rootdisk.z,
|
|
and is for a 5.25" floppy. Because the 5.25" floppy is smaller than
|
|
the 3.5", some files are not present in the 5.25" version.
|
|
|
|
The xia filesystem is used in this rootdisk.
|
|
|
|
/dev directory may not be very up to date. Please consult comp.os.linux
|
|
for proper device name and major/minor device numbers.
|
|
|
|
Because of the lack of space on the 5.25" version, there are only a few
|
|
free blocks left, and you may have trouble using vi. To solve this you
|
|
can delete any files you don't need from the root disk.
|
|
|
|
This is a partial list of what is on the root disk.
|
|
|
|
1. ksh 4.8
|
|
2. gzip 1.03 (may not be present in the 5.25" version.)
|
|
3. elvis 1.6
|
|
4. doshell, chmod, chown, cp, ls (color), mv, rm, and ln.
|
|
5. mount, umount, swapon and swapoff (mount 0.99.6 with NFS support from
|
|
Rick Sladkey.).
|
|
6. more (may not be present in the 5.25" version.)
|
|
7. /proc based ps, free, tload, w and uptime
|
|
8. mkswap, mkfs/fsck (utile 1.4), mkefs/efsck, mkxfs/xfsck (0.7.2),
|
|
mke2fs/e2fsck (0.2c) and fdisk (utile 1.4).
|
|
(mkfs/fsck and mkefs/efsck may not be present in the 5.25" version.)
|
|
9. expr (for /dev/MAKEDEV)
|
|
10. proc ps 0.5
|
|
11. grep (for /usr/etc/inet/rc.net)
|
|
12. syslogd
|
|
13. lilo 0.9 (only minimum stuff, please get full package as well as
|
|
documentations yourself. in the 5.25" version, there is only a lilo.z.)
|
|
|
|
Building the Bootable Root Floppy
|
|
---------------------------------
|
|
1. uncompress [3|5]rootdisk.Z with gzip.
|
|
2. rawrite or dd the file to a formatted floppy disk.
|
|
|
|
You now have a bootable floppy, which you can use to boot your system.
|
|
|
|
|
|
Installing a Bootable Root Partition on Your Hard Drive
|
|
-----------------------------------------------------
|
|
This rootdisk is not recommended for people, who know little about
|
|
shell script, Unix administration and some PC hardware knowledges, to
|
|
use it to install Linux on hard drive since it lacks the necessary
|
|
documentations due to the floppy disk space. You should get the other
|
|
packages unless you have to use this one due to physical memory
|
|
limitation. However, this disk is still good for emergency :-).
|
|
|
|
There is a SLS release on tsx-11.mit.edu under pub/linux/packages/SLS
|
|
and many other Linux FTP sites. And there is also a TAMU release.
|
|
|
|
If you have a CR-ROM, you can try Linux/GNU/X CD-ROM distribution from
|
|
Yggdrasil Computing, Incorporated. Please contact YCI at (510) 526-7531,
|
|
yggdrasil@netcom.com or fax (510) 528-8508 for details.
|
|
|
|
You can use this disk to install a bootable root partition on your
|
|
hard drive. You will need to create a root partition on your disk,
|
|
using the DOS fdisk command, or another hard drive utility.
|
|
|
|
If you are creating the partition, be sure to record its size in
|
|
bytes. If the partition already exists, you can find its size using
|
|
fdisk.
|
|
|
|
There are two fast filesystem, xiafs and ext2fs, with long filename
|
|
support. I didn't include mkfs and mkefs in the 5.25" version since
|
|
I am discouraging you using minix fs and ext fs.
|
|
|
|
You should make your own decision for your hard partitions between
|
|
xia fs and ext2 fs. I put both of them on my hard disk.
|
|
|
|
If you want to install Linux on partition /dev/hdxx with xiafs, whose
|
|
size is yyyy K bytes, do:
|
|
|
|
[mkxfs|mke2fs] -c /dev/hdxx yyyyy
|
|
mount -t [xiafs|ext2] /dev/hdxx /mnt
|
|
cd /
|
|
for d in *; do
|
|
if [ $d != "proc" ]; then
|
|
cp -av $d /mnt
|
|
fi
|
|
done
|
|
cp -av .* /mnt
|
|
|
|
Edit /mnt/etc/fstab to ensure that /dev/hdxx will be mounted as root.
|
|
There are some examples in /mnt/etc/fstab.
|
|
|
|
If you use the 5.25" version, you have to do this:
|
|
|
|
cd /mnt/bin
|
|
ln -sf gzip uncompress
|
|
cd /mnt/etc/lilo
|
|
/mnt/bin/uncompress lilo.z
|
|
|
|
Lots of stuff in the 5.25" version are either missing, lacking a symbolic
|
|
link, or gzipped to save some disk space.
|
|
|
|
Next, use lilo to set up your hard drive to boot either Linux or DOS.
|
|
Please read the documentation come with LILO for the details of installation.
|
|
Here is a very simple example.
|
|
|
|
cd /mnt/etc/lilo
|
|
rm map boot.????
|
|
./lilo -r /mnt -b /dev/hdxx -i /etc/lilo/boot.b -v -v -v /vmlinux.z,/dev/hdxx
|
|
|
|
You will also need to make the partition you wish to boot from active,
|
|
and make all other partitions non-active. You can do this using fdisk or
|
|
activate in /etc/lilo. To use activate, please do
|
|
|
|
activate device [partition]
|
|
|
|
where device is the device name for the whole hard drive and partition is
|
|
the partition number you want to activate. If partition is omitted, activate
|
|
will just report the current active partition.
|
|
|
|
You can now boot Linux from your hard drive. Installing other packages
|
|
should be easy, you can just mount those floppies with filesystems supported
|
|
by kernel on them.
|
|
|
|
This kernel should get you going, but may not be the best for your particular
|
|
hardware configurations. You should get the kernel source and configure it
|
|
according to your need.
|
|
|
|
Note: If you don't like the color ls, you can make `ls -f' or `ls --no-color'
|
|
as an alias for ls.
|
|
|
|
|
|
Booting Other OS's
|
|
---------------
|
|
There is a file called mboot.tar.Z under pub/linux/GCC/rootdisk on
|
|
tsx-11.mit.edu. Running mboot from a DOS partition on your first hard
|
|
drive will enable you to choose from a menu to boot from up to 4 partitions
|
|
on your first hard drive. Read the documentation in mboot.tar.z for details.
|
|
|
|
|
|
Other Linux Disks
|
|
-----------------
|
|
The next thing you may want to do is install the Linux Base System,
|
|
which contains many system utilities. Please read README.basedisk
|
|
in the base system directory for details.
|
|
|
|
The Linux Base System is on tsx-11.mit.edu under pub/linux/GCC/basedisk.
|
|
|
|
The only thing missing from the Linux Base System is ispell 3.0.9.
|
|
It is in a separate file, under pub/linux/GCC/basedisk.
|
|
|
|
You may be also interested in libdisk and gccdisk, which have the most
|
|
current C/C++ libraries and gcc.
|
|
|
|
Note: basedisk, libdisk and gccdisk may not be very up to date. I am
|
|
doing my best to keep them current.
|
|
|
|
|
|
I will try to update my root disk regularly with Linus' new kernel.
|
|
|
|
This root disk works on my machine with 100MB IDE drive. I don't know
|
|
anything about your machine or SCSI. Good luck.
|
|
|
|
Correct me if I am wrong. Tell me about your story.
|
|
|
|
|
|
Thanks.
|
|
|
|
H.J.
|
|
hlu@eecs.wsu.edu
|
|
03/15/93
|
|
------
|
|
From: qx@shire.math.columbia.edu (Qi Xia)
|
|
Subject: EMERGENCY: xiafs in linux-0.99.7
|
|
Message-ID: <1993Mar14.193748.7604@tc.cornell.edu>
|
|
Originator: mdw@db.TC.Cornell.EDU
|
|
Keywords: Emergency fix xiafs
|
|
Sender: news@tc.cornell.edu
|
|
Nntp-Posting-Host: db.tc.cornell.edu
|
|
Organization: Cornell Theory Center
|
|
Date: Sun, 14 Mar 1993 19:37:48 GMT
|
|
Approved: linux-announce@tc.cornell.edu (Matt Welsh)
|
|
Lines: 74
|
|
Status: RO
|
|
|
|
Hi,
|
|
|
|
There are some inhencement in xiafs supposed to be included in official
|
|
linux 0.99.7 distribution. But when I got the distribution, I found it's
|
|
not there. As a result, xiafspgm-0.8.tar.Z I uploaded to linux sites
|
|
yesterday will not work with linux 0.99.7.
|
|
You still need xfspgm-0.7.tar.Z with xfspgm-0.7.fix which you have now,
|
|
or xfsck and mkxfs from H.J. Lu's rootdisk.
|
|
|
|
If you have run (0.8) xfsck, and your xiafs is not accessable any more,
|
|
do not panic. Apply following patch to linux-0.99.7.
|
|
It is for linux-0.99.6/xiafs-0.7.2, but it
|
|
should work with linux-0.99.7 (patch may report "off xxx lines").
|
|
Your xiafs will be accessable again and work normally under patched
|
|
kernel. But you have to continuous using xiafspgm-0.8. (0.8) xfsck may
|
|
report "bad i_blocks" for some files. You can safely ignore it.
|
|
This will be fixed automatically, when the inhencement get into the kernel.
|
|
|
|
I will contect Linus, ask him to include the inhencement in next release.
|
|
Sorry for the confusing.
|
|
|
|
Frank Xia.
|
|
|
|
=========[xiafs-0.7pl3]=================================================
|
|
*** inode.c.org Wed Mar 10 17:00:38 1993
|
|
--- inode.c Wed Mar 10 18:17:51 1993
|
|
***************
|
|
*** 374,382 ****
|
|
inode->i_rdev = raw_inode->i_zone[0];
|
|
else {
|
|
for (zone = 0; zone < 8; zone++)
|
|
! inode->u.xiafs_i.i_zone[zone] = raw_inode->i_zone[zone];
|
|
! inode->u.xiafs_i.i_ind_zone = raw_inode->i_ind_zone;
|
|
! inode->u.xiafs_i.i_dind_zone = raw_inode->i_dind_zone;
|
|
}
|
|
brelse(bh);
|
|
if (S_ISREG(inode->i_mode))
|
|
--- 374,382 ----
|
|
inode->i_rdev = raw_inode->i_zone[0];
|
|
else {
|
|
for (zone = 0; zone < 8; zone++)
|
|
! inode->u.xiafs_i.i_zone[zone] = raw_inode->i_zone[zone] & 0xffffff;
|
|
! inode->u.xiafs_i.i_ind_zone = raw_inode->i_ind_zone & 0xffffff;
|
|
! inode->u.xiafs_i.i_dind_zone = raw_inode->i_dind_zone & 0xffffff;
|
|
}
|
|
brelse(bh);
|
|
if (S_ISREG(inode->i_mode))
|
|
***************
|
|
*** 438,446 ****
|
|
raw_inode->i_zone[0] = inode->i_rdev;
|
|
else {
|
|
for (zone = 0; zone < 8; zone++)
|
|
! raw_inode->i_zone[zone] = inode->u.xiafs_i.i_zone[zone];
|
|
! raw_inode->i_ind_zone = inode->u.xiafs_i.i_ind_zone;
|
|
! raw_inode->i_dind_zone = inode->u.xiafs_i.i_dind_zone;
|
|
}
|
|
inode->i_dirt=0;
|
|
bh->b_dirt=1;
|
|
--- 438,449 ----
|
|
raw_inode->i_zone[0] = inode->i_rdev;
|
|
else {
|
|
for (zone = 0; zone < 8; zone++)
|
|
! raw_inode->i_zone[zone] = (raw_inode->i_zone[zone] & 0xff000000)
|
|
! | (inode->u.xiafs_i.i_zone[zone] & 0xffffff);
|
|
! raw_inode->i_ind_zone = (raw_inode->i_ind_zone & 0xff000000)
|
|
! | (inode->u.xiafs_i.i_ind_zone & 0xffffff);
|
|
! raw_inode->i_dind_zone = (raw_inode->i_dind_zone & 0xff000000)
|
|
! | (inode->u.xiafs_i.i_dind_zone & 0xffffff);
|
|
}
|
|
inode->i_dirt=0;
|
|
bh->b_dirt=1;
|
|
|
|
--
|