Bochs/bochs/doc/docbook/misc.txt

355 lines
14 KiB
Plaintext
Raw Normal View History

2001-11-15 20:44:50 +03:00
$Id: misc.txt,v 1.7 2001-11-15 17:44:50 bdenney Exp $
2001-10-31 22:42:15 +03:00
This is a temporary place to paste in stuff that should go into the docs one
day. When it is transferred into docbook, let's remove it from misc.txt.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
2001-10-31 23:53:18 +03:00
Date: Sun, 21 Oct 2001 02:24:22 -0700 (PDT)
From: Sancho Roberto <rsanchov@yahoo.com>
To: bochs-developers@lists.sourceforge.net
Subject: [Bochs-developers] WinMe install tips
Parts/Attachments:
Instalation of WinMe
1) Install Win98
My Windows Me is an update version, that is, it upgrades over Win98.
So the first think I have to do is to install on a HD image a
Win98
It is not necessary to do the full install. What I've done is
- Create a HD image (Win98.img) with 500MB
- Format It, install MSDOS6 on it so I can boot from c
- Make a W98 directory.
- Copy using mtools the instalation directory from the original
Win98 CD
- Run bochs
- run the setup program into the W98 directory
- Select WIN98 as Windows directory. All other setup options
are left by default.
- I don't care about HW detection, etc. Just uncompressing
the cab files to the WIN98 directory es enought for WinMe.
(Note that Win98 is not functional and cannot boot)
2) Copy the WinMe install files to the HD
In Win98.img, with mtools, I create a directory called WinMe.
Again, I copy the contents of the Win9x directory from the original
WinMe CD. Note that I copy the CD to my HD, and then with mtools
from my HD to win98.img. I also delete then W98 directory.
3) Create WinMe.img
Now, I created another blank HD called WinMe.img with 500MB.
I format it and install MSDOS6 so I an boot using it.
4) Prepare the instalation Bochs
I edit the bochsrc.txt file so
- WinMe.img is diskc
- Win98.img is diskd
5) Running setup
I start bochs: the C: drive is empty (it only contains the
MSDOS6 command.com, IO.SYS, etc). The D: drive has:
D:\W98 - The "installed" Windows 98
D:\WINME - Windows Me setup files
I go to the WINME directory and run:
SETUP xxxx
The description of the setup options can be found in the Microsoft Knowledge page as
Q186111 - Description of the Windows 95, Windows 98, and Windows Me Setup Switches
I've done a lot of trials with this setup options until I finally
found a correct way to finnish the installation. These are the setup
options I used. I've copied a brief description (from the KB) and added
my comments.
/m - bypass the playing of the Setup sound (.wav) files.
Not necessary as my Bochs has no sound device activated
/nf - Do not prompt to remove the floppy disk from the drive
Maybe not necessary. Just in case
/nh - This switch bypasses running the Hwinfo.exe program at 0
percent files and RunOnce.
If not present, freezes on HW detection
/ie - This switch bypasses the Windows 98 Startup Disk wizard screens.
To speed things up - I allways can create a Statup disk latter
/iv - This switch bypasses displaying the Setup screens during
an upgrade within Windows.
To speed things up
/c - This switch bypasses running SMARTDrive.
Maybe not necessary. Just in case
/im - Causes setup to ignore the conventional memory check.
Maybe not necessary. Just in case
/is - This switch causes Setup not to run ScanDisk.
Very important as SCANDISK freezed bochs
/iq - If you use the /is switch to bypass ScanDisk or if ScanDisk
does not complete successfully, Setup checks your drive for cross-linked files.
The /iq switch prevents Setup from doing this.
Very important. If not used, Setup stop the installation
with a message "error found in C:, run scandisk and setup again"
(or something like this). Of course, there is no errors in C:
because is an empty, just formatted disk, but the WinMe setup
thinks so. The only way to progress from this point is
with this switch
/it - This switch bypasses checking for the presence of "dirty" or "deadly" terminate-and-stay-resident programs (TSRs) that are known to cause problems with Windows Setup.
Maybe not necessary. Just in case
/p b;g=3
b: This switch enables Prompt Before mode. It prompts
you before a detection module is called so that you can
step through each detection module manually and decide
if you want to skip it.
Very important. See bellow
g: This switch controls how verbose the built-in progress bar is
There is another main issue that must be handled
WinMe requires a 150Mhz computer as a minimum. If you try to run
the WinMe setup, you will receive a message telling you so, and the
installation will stop.
The only way I found to solve this problem is to change the IPS
value in bochsrc.txt. I raised the IPS value until setup stop
complaining. In my machine (P3 @ 450MHz), I achieved this with
ips: 500000000
This this IPS value, the keyboard and mouse are updated each
100 seconds. This makes very dificult to type the CD-KEY numbers,
select type of instalation, etc.
One way to solve this is to lower the vga_update_interval and
the keyboard_serial_delay. I lower the value until
- I have a minimum respons from keyboard and mouse (say
1 second delay between keypress/mousemove and the
screen update)
- I still pass the 150 Mhz check
The values I used are
vga_update_interval: 10000
keyboard_serial_delay: 200
They may be diferent for other computers.
Note that bochs, on starting up complains about vga_update_interval
with the message "bochsrc.txt: vga_update_interval not big enough!":
ignore it.
6) Follow the Windows Me setup instruction ...
Just a warning: it is very, very, very, *VERY* (very) slow ...
Two days running non stop on my PC.
Don't wait ... enjoy yourself during the process ... you that the time.
7) Hardware nightmare
At a given moment, you are prompted to detect the hardware.
There is a prompt for each type of device: Bus, keyboard, mouse,
HD, CDROM, etc.
Say NO to everything.
If you say YES, sometimes setup will detect your HW, but normaly
it will crash with GPF on COMMCTRL.DLL (setup crash, but bochs
still alive. Nice!).
If you sat CANCEL, setup will stay in this screen forever (ok, ok,
I have just wait 10 hours).
8) Configuring
Setup will configure you PC. You can set your timezone, etc.
Then Setup will create the Statup menu icons. Here, time to time,
you will get a GPF in PIFMGR.DLL. Just press Ok and continue.
Again this procedure is very very very very very very slow.
Worse of all, you cannot leave it running by night. You must
press Ok a lot of times to clean the GPF.
9) Restart.
At last, setup will restart the PC. Exit Bochs. I recomend to make
a copy of WinMe.img just to save all your time.
10) Run bochs again
Setup will do some stuff ... just wait
After a while, the Start button appearch on the lower left corner
of the screen!
Just for safe, I executed within WinMe msconfig.exe, and in the
advanced tab set the Disk Compatibility mode". Also, I've turned
of the menu and windows animations, to speed thinks up a bit. Also
it may be a good idea to turn off scandisk on setup.
Do not forget to exit from Windows with the Shutdown menu ...
11) That's all
Now you can comment out the diskd line in the bochsrc.txt. WinMe.img
contains a working WinMe.
NOTE: if you lower the IPS, WinMe will be unstable ... surelly
a timing issue. But even if IPS is high, lowering
vga_update_interval and keyboard_serial_delay will help
on getting an acceptable usability.
DO not forget to use your Pentium 10 at 500 GHz to get a
good speed within Windows.
Some bugs i've found
- MSDOS Scandisk freeze
- Hw detection is very problematic
- If bochs is visible when it switchs from text mode to grafic mode,
the size of the window is correct. But if Bochs is minimized when
doing so, the size of the Bochs window is incorrect. It does not
take into account the height of the top banner (the one with the
disk icons, mouse, snapshot, etc), so the botton of the screen
is clipped.
- Dont expect to run WinMe at full speed unless you use your Pentium10 at 1500 GHz
- (not a bug, but a comment) The splash screen when booting/shutdown
WinMe is double height. I personally prefer to see the full image
as it was time ago.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
How to prepare for the CVS checkout with write access:
Fortunately you only need to do this once. Here are the steps, followed by
a better description of each step.
1. Install ssh and cvs
2. Ssh to cvs.sf.net to set up your home directory.
3. Set environment variable CVS_RSH to "ssh".
4. cvs checkout
Now for some details.
1. First you need to install both cvs and ssh. These are already installed on
some UNIX systems and also Cygwin (win32 platform). If not, you can install
binaries or compile cvs and ssh yourself.
2. Use SSH to connect to cvs.sf.net.
ssh bdenney@cvs.sf.net
Replace "bdenney" with your source forge username, of course. The first
time, you will probably get a message like "The authenticity of host
'cvs.sf.net' can't be established? Are you sure you want to continue?" and
just say yes. It will also ask for your source forge password. This step
is a little strange, because you can't actually log in and get a shell prompt.
All that will happen, when you get the username and password right, is that
it will create a home directory on that machine for you. That's it! If you
try it again, it will say "Welcome to cvs.sourceforge.net. This is a
restricted Shell Account. You cannot execute anything here." At this point,
you've succeeded and you never have to do this step again, ever.
If you have trouble logging in, be sure to put your SOURCE FORGE username,
which isn't necessarily the same as your local username, and your SF password
too. Add the "-v" option to ssh to see more information about what is
failing. If you have ssh version 2, it is possible that you might need
to add "-1" to the ssh command to force it to use the version 1 protocol.
3. Set environment variable CVS_RSH to "ssh". Every time you connect
to the Source Forge CVS server (including cvs update, stat, commit, etc.), you
must set the CVS_RSH environment variable. So just take the time to add
it to your .bashrc/.cshrc/etc.
export CVS_RSH=ssh (bash syntax)
(Csh syntax is "setenv variable value" with no equal sign.)
4. Finally, you should be able to do the checkout! If you already have a
bochs subdirectory directory, move it out of the way because the checkout will
create one.
export CVSROOT=":ext:bdenney@cvs.bochs.sourceforge.net:/cvsroot/bochs"
cvs -z3 checkout bochs
bdenney@cvs.sf.net's password: <--type your password
In the CVSROOT variable, replace bdenney with your SF username. There's
no need to add CVSROOT to your rc files because CVS will store it
after the checkout. The -z3 just adds some compression to make it go faster.
Once all the files have been downloaded, you will have a bochs directory
which is checked out with write access!
Using cvs write access:
Once you have a bochs directory with cvs write access, you basically just
compile the files, edit them, test them, etc. See the documentation section,
"Tracking the source code with CVS" for more info on CVS, at
http://bochs.sourceforge.net/doc/docbook/user/book1.html
But what's new and different is that you can now do cvs commits. When a
file is all fixed and ready to share with the rest of the world, you run
a commit command to upload your version to the server. First, it's good
to do a cvs update to make sure nobody else has changed it since you
downloaded it last.
$ cvs update file.cc
bdenney@cvs.sf.net's password: <--password
$ cvs commit file.cc
bdenney@cvs.sf.net's password: <--password
[then it starts an editor so you can type a log message. The default is
usually vi. If you want a different editor, set the EDITOR env variable
2001-11-15 20:44:50 +03:00
to the name of your preferred editor. When you're done, just save the
file and quit the editor.]
Unless there's some problem, you will see a message that says what the new
revision number for the file is, and then it says "done". If when you're
editing, you decide that you don't want to commit after all, DON'T save the
file. Quit the editor and when it asks where the log message went, tell it
to abort. Here is a successful checkin:
$ cvs commit misc.txt
bdenney@cvs.sf.net's password: <--password
[edit log msg]
Checking in misc.txt;
/cvsroot/bochs/bochs/doc/docbook/misc.txt,v <-- misc.txt
new revision: 1.6; previous revision: 1.5
done
Here is an aborted one:
$ cvs commit misc.txt
bdenney@cvs.sf.net's password: <--password
[quit editor without saving]
Log message unchanged or not specified
a)bort, c)ontinue, e)dit, !)reuse this message unchanged for remaining dirs
Action: a
cvs [commit aborted]: aborted by user