linux-0.11调试教程,安装minix-1.5.10到硬盘

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配置文件:

romimage: file=$BXSHARE\BIOS-bochs-latest, address=0xf0000

megs: 16

vgaromimage: $BXSHARE\VGABIOS-elpin-2.40

floppya: 360k="univ_boot.01", status=inserted

ata0-master: type=disk, path="minix.img", mode=flat, cylinders=487, heads=16, spt=63

boot: a

log: bochsout.txt

parport1: enable=0

vga_update_interval: 300000

keyboard_serial_delay: 200

keyboard_paste_delay: 100000

floppy_command_delay: 50000

ips: 4000000

mouse: enabled=0

private_colormap: enabled=0

fullscreen: enabled=0

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


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值