add directory bochs
This commit is contained in:
42
bochs/README_FIRST
Normal file
42
bochs/README_FIRST
Normal file
@@ -0,0 +1,42 @@
|
||||
Problem when run with the newer Bochs software and fixing methods
|
||||
-----------------------------------------------------------------
|
||||
gohigh@sh163.net, gohigh@gmail.com
|
||||
2006.08.28
|
||||
|
||||
|
||||
When running the Linux kernel 0.1x in Bochs environment with version number
|
||||
newer or equal to 2.2.6, you may encounter an problem at the bootstrap period
|
||||
with the error message "HD controller not ready". There are two general
|
||||
methods you can use to fix this problem.
|
||||
|
||||
1. One way is tricky but easy and without modify the kernel code. you need
|
||||
only copy the harddisk image file to another name and modify the .bxrc file
|
||||
to attach it as a second or slave hd in it. Fox example, if you have a hard
|
||||
disk image file with name is hdc-0.11.img, just copy it to produce another
|
||||
disk image with a name something like hdd-0.11.img. Then modify
|
||||
the corresponding configuration file, for example, bochsrc-hd.bxrc. Add the
|
||||
following line, and the parameters in the line should be the same with your
|
||||
hdc-0.11.img line. Then you can go with the newer bochs system.
|
||||
|
||||
ata0-slave: type=disk, path="hdd-0.11.img", mode=flat, cylinders=410, heads=16, spt=38
|
||||
|
||||
|
||||
2. The second mothod is to modify the linux/kernel/blk_drv/hd.c file in you
|
||||
Linux kernel 0.11. Change the code at line 163 and 165:
|
||||
|
||||
163 int retries=10000;
|
||||
164
|
||||
165 while (--retries && (inb_p(HD_STATUS)&0xc0)!=0x40);
|
||||
|
||||
as following:
|
||||
|
||||
163int retries=100000;
|
||||
164
|
||||
165while (--retries && (inb_p(HD_STATUS)&0x80));
|
||||
|
||||
then rebuild the kernel and write it to the boot floppy image file:
|
||||
|
||||
dd if=Image of=/dev/fd0
|
||||
|
||||
|
||||
(End)
|
||||
Reference in New Issue
Block a user