http://pan.baidu.com/share/link?shareid=256036&uk=453348606
minix-1.15.10安装软盘包及bochs的img映像,百度网盘下载
minix-1.15.10 源代码 bochs的img硬盘 by chenghao0511 20130204
地址:http://download.csdn.net/detail/sitelist/5053271
上述压缩包解压后的minix.img的映像是本文作者已经把软盘包的内容安装到了硬盘内,如果你下载后想亲自实践一下,请把minix.img挂到linux-0.11下执行:mkfs /dev/hd6 60000 和 mkfs /dev/hd7 60000 和mkfs /dev/hd8 60000,既格式化为60M的3个minix的分区。Bochs-2.2请自己下载并安装后再点击minix.bxrc实践。
安装步骤
1,正确设置bochs的配置文件,floppya: 360k="univ_boot.01", status=inserted,软盘就设置一个。
2,先选b,再选=,点A盘选disk04既rootfilesystem盘,回车,再选disk05既systembinaries #1 (/usr)回车。
3.输入年月日,接着用root/Geheim登录,如果来不及输入密码可以在bochs配置中将ips的值加大,另外一种登录方式是用bin登录,不要密码,进入后输入su回车,用密码Geheim就可以了
4.安装/etc/setup_root和安装/etc/setup_usr,我用的是一个239M的虚拟硬盘,分为三个区hd1和hd2,hd3,在hd1上安装root,hd2上安装usr,具体命令分别为/etc/setup_root /dev/hd1 32 60000 60000 60000 0; /etc/setup_usr /dev/hd2
/etc/setup_root的使用说明:
Usage:setup_root device ram_size hd1_size hd2_size hd3_size hd4_size
/etc/setup_usr的使用说明:/etc/setup_usr /dev/hd1
minix.bxrc配置文件:
screenmode: name="sample"
下面是/etc/setup_root脚本文件内容:
case $# in
6) ;;
*) echo "Usage: setup_root device ram_size hd1_size hd2_size hd3_size hd4_size"
exit 1
;;
esac
old_dir=`pwd` # save current directory
if /etc/mount $1 /user
then : # successful mount
else echo "Unable to mount $1. Root file system not created."
exit 1
fi
# Make the directories
cd /user
mkdir bin dev etc lib tmp user usr
chown bin bin dev etc lib tmp user usr
chgrp bin bin dev etc lib tmp user usr
chmod 777 bin dev etc lib tmp user usr
# Make the special files.
cd dev
/etc/mkdev $2 $3 $4 $5 $6
# Copy /bin and /etc
cpdir -m /bin /user/bin
cpdir -m /etc /user/etc
fixbin /user/bin /user/bin >/dev/null 2>&1
chown bin /user/etc/*
chown root /user/etc/*mount
chmod 4755 /user/etc/*mount
cd $old_dir
/etc/umount $1
下面是/etc/setup_user脚本文件的内容:
# Install the /usr file system
disk=6 # starting disk (1-3 are boot diskettes)
STOP=18 # first disk that does not exist
i=/usr/include
s=/usr/src
l=/usr/src/lib
# Unmount all hard disk partitions and see if the argument can be mounted.
case $# in
1) ;;
*) echo Please specify the special file for the MINIX partition
echo For example: /etc/setup_usr /dev/hd1
exit 1
;;
esac
cd /
/etc/umount /dev/hd1 >/dev/null 2>&1
/etc/umount /dev/hd2 >/dev/null 2>&1
/etc/umount /dev/hd3 >/dev/null 2>&1
/etc/umount /dev/hd4 >/dev/null 2>&1
if /etc/mount $1 /user >/dev/null 2>&1
then :
else echo Unable to mount $1
exit 1
fi
PATH=$PATH:/user/bin # hard disk will be mounted on /user
# Make the principal MINIX directories.
echo Making directories
mkdir /user/adm 2>/dev/null
mkdir /user/ast 2>/dev/null
mkdir /user/bin 2>/dev/null
mkdir /user/doc 2>/dev/null
mkdir /user/etc 2>/dev/null
mkdir /user/include 2>/dev/null
mkdir /user/include/minix 2>/dev/null
mkdir /user/include/sys 2>/dev/null
mkdir /user/lib 2>/dev/null
mkdir /user/lib/tmac 2>/dev/null
mkdir /user/man 2>/dev/null
mkdir /user/spool 2>/dev/null
mkdir /user/spool/at 2>/dev/null
mkdir /user/spool/lpd 2>/dev/null
mkdir /user/spool/mail 2>/dev/null
mkdir /user/spool/uucp 2>/dev/null
mkdir /user/src 2>/dev/null
mkdir /user/src/amoeba 2>/dev/null
mkdir /user/src/amoeba/examples 2>/dev/null
mkdir /user/src/amoeba/kernel 2>/dev/null
mkdir /user/src/amoeba/fs 2>/dev/null
mkdir /user/src/amoeba/mm 2>/dev/null
mkdir /user/src/amoeba/util 2>/dev/null
mkdir /user/src/commands 2>/dev/null
mkdir /user/src/commands/bin 2>/dev/null
mkdir /user/src/commands/ibm 2>/dev/null
mkdir /user/src/commands/bawk 2>/dev/null
mkdir /user/src/commands/de 2>/dev/null
mkdir /user/src/commands/dis88 2>/dev/null
mkdir /user/src/commands/ic 2>/dev/null
mkdir /user/src/commands/indent 2>/dev/null
mkdir /user/src/commands/kermit 2>/dev/null
mkdir /user/src/commands/m4 2>/dev/null
mkdir /user/src/commands/make 2>/dev/null
mkdir /user/src/commands/mined 2>/dev/null
mkdir /user/src/commands/nroff 2>/dev/null
mkdir /user/src/commands/patch 2>/dev/null
mkdir /user/src/commands/sh 2>/dev/null
mkdir /user/src/commands/zmodem 2>/dev/null
mkdir /user/src/elle 2>/dev/null
mkdir /user/src/fs 2>/dev/null
mkdir /user/src/lib 2>/dev/null
mkdir /user/src/lib/ansi 2>/dev/null
mkdir /user/src/lib/ibm 2>/dev/null
mkdir /user/src/lib/other 2>/dev/null
mkdir /user/src/lib/posix 2>/dev/null
mkdir /user/src/lib/string 2>/dev/null
mkdir /user/src/kernel 2>/dev/null
mkdir /user/src/mm 2>/dev/null
mkdir /user/src/test 2>/dev/null
mkdir /user/src/tools 2>/dev/null
mkdir /user/tmp 2>/dev/null
# At this point, the root file system is in place and diskette #5 is in
# drive 0 mounted on /usr. The MINIX hard disk partition is on /user.
# Copy /bin and /etc to the hard disk.
echo Copying /bin
cpdir -m /bin /user/bin # copy /bin to the hard disk
echo Copying /etc
cpdir -m /etc /user/etc # copy /etc to the hard disk
cpdir -m /usr/bin /user/bin # copy /usr/bin to the hard disk
echo Copying diskette 5
fixbin /user/bin /user/bin >/dev/null 2>&1
echo Diskette 5 copied
/etc/umount /dev/fd0
while test $disk != $STOP
do getlf "Please insert disk $disk, then hit the ENTER key "
/etc/mount /dev/fd0 /usr -r
cd /usr
for dir in *
do echo Copying $dir
if test $dir = 'LAST_DISK'; then disk=`expr $STOP - 1`; fi
# Establish base name
case $dir in
include) base=/user/include ;;
ast) base=/user/ast ;;
bin) base=/user/bin ;;
etc) base=/user/etc ;;
usrlib) base=/user/lib ;;
kernel) base=/user/src/kernel ;;
fs) base=/user/src/fs ;;
mm) base=/user/src/mm ;;
tools) base=/user/src/tools ;;
test) base=/user/src/test ;;
elle) base=/user/src/elle ;;
amoeba) base=/user/src/amoeba ;;
lib) base=/user/src/lib ;;
commands) base=/user/src/commands ;;
LAST_DISK) base=/tmp ;;
*) base=/user/$dir ;;
esac
cd / # cpdir creates pipes in current dir
cpdir -m /usr/$dir $base
done
disk=`expr $disk + 1`
cd /
/etc/umount /dev/fd0
done
#All the disks have now been loaded. Unpack them.
echo Loading finished. Please remove the last diskette from the drive.
echo The files will now be unpacked.
cd /
fixbin /user/bin /user/bin >/dev/null 2>&1
/etc/umount $1 >/dev/null 2>&1
/etc/mount $1 /usr >/dev/null 2>&1
echo Unpacking /usr/lib
cd /usr/lib
compress -d *Z >/dev/null 2>&1
rm -f *Z 2>/dev/null
chown bin *
for d in $i \
$i/minix \
$i/sys \
$s/elle \
$s/kernel \
$s/fs \
$s/mm \
$s/tools \
$s/test \
$l/ansi \
$l/posix \
$l/other \
$l/ibm \
$l/string \
$s/commands \
$s/commands/ibm \
$s/commands/bawk \
$s/commands/de \
$s/commands/dis88 \
$s/commands/indent \
$s/commands/ic \
$s/commands/m4 \
$s/commands/make \
$s/commands/mined \
$s/commands/nroff \
$s/commands/patch \
$s/commands/sh \
$s/commands/zmodem \
$s/commands/kermit \
$s/commands/elvis \
$s/amoeba \
$s/amoeba/kernel \
$s/amoeba/fs \
$s/amoeba/mm \
$s/amoeba/examples \
$s/amoeba/util
do echo Unpacking $d
cd $d
compress -d *Z >/dev/null 2>&1
rm -f *.Z 2>/dev/null
for j in *.a; do ar x $j >/dev/null 2>&1; done
rm -f *.a 2>/dev/null
chown bin * .
done
# link commands/nroff/tmac.an to lib/tmac/tmac.an
ln /usr/src/commands/nroff/tmac.an /usr/lib/tmac/tmac.an
rm -rf /usr/LAST_DISK 2>/dev/null
chown bin /usr/*
cd /usr/lib
chmod 755 cem cpp cg opt
echo Installation completed.
exit 0