Greg's Home Office Network: Linux + Windows + Classic Mac OS
This file last modified 08/21/03, 1:21 pm
Author: Greg Keraunen<gk@proliberty.com>
Document Home: http://www.proliberty.com/tools/soho.v1.html
Created: 4/16/02
TODO
* update lilo.conf, etc. for actual current, working installation
CONTENTS
INTRODUCTION
GOALS
HARDWARE SETUP & NETWORK TOPOLOGY
AC POWER
INTERNET CONNECTION SHARING (ICS)
NETWORK SECURITY
NETWORK FILE & PRINTER SHARING
MULTI-BOOTING
CYGWIN - X WINDOWS SERVER FOR WINDOWS
BACKUP SOLUTIONS
NETWORK AUDIO
MP3 FILE MANAGEMENT
ERGONOMICS
INSTALLATION PROBLEMS
OTHER PROBLEMS
MISCELLANEOUS COMMANDS
CURRENT PROBLEMS
This document is intended as a collection of my personal experience in setting
up a network. It was written primarily for my own use so I haven't bothered
with fancy html formatting. I want to be able to maintain it easily and add to
it.
There is so much information online that you can easily waste a lot of time with
too much detail.This document assumes some prior knowledge, of linux in
particular. I haven't bothered to explain too many fine points but to sum up,
in a nutshell, the most important things to know in sucessfully and quickly
getting a network of three OSes going, in harmony.
Some terms:
"MBR" master boot record; first 512 bytes on a drive
"NT boot loader" effectively the same as Windows 2000
"NT boot sector" effectively the same as Windows 2000
"win2kPro" Windows 2000 Professional Edition
"win2kServer" Windows 2000 Server
+ Maximum interoperability between Mac (OS 9.x) / Linux (RH 7.2)/ Windows
(win2kPro, win2kServer)
+ Multi-boot linux/windows on one machine
+ Easiest maintenance: backup, upgrade, file sharing; security; repair
+ internet connection-sharing: one computer serves as gateway to the internet
for the LAN
+ Minimize hardware: make maximum use of hard drives, modems, etc. between
systems
+ Make a large repository of mp3 files read-writable from any machine on the
network
ADSL modem <--- someday hopefully ---> internet
|
Ethernet: TCP/IP
|
SMC Barracuda 4-port (MDX) hub/router
|
cross-over cable
|
'uplink' (MDI-II) port
Soho 5-port hub
|
LAN protocols: Appletalk; CIPS; ftp; ssh; http
|
+-- Farallon EtherMac iPrint Adapter (EtherTalk to LocalTalk bridge)
| |
| LocalTalk (PhoneNet) <---> Apple LaserWriter Pro 600 printer
|
+-- 192.168.0.101 = "p3"; ASUS P3B / Intel P3 box: physically located in
SECURE cage
| ide0:hda REMOVABLE viPower IDE tray: MASTER; 60GB WD600 drive
| /dev/hda lilo boot partition
| /dev/hda1 ext2 47.6GB linux root partition
| /dev/hda2 linux swap
| /dev/hda3 ext2 4GB for backup archives
| /dev/hda4 vfat 3.52GB for vmware; currently unused
| ide0:hdb DVD/CDROM: SLAVE
| ide1:hdc REMOVABLE viPower IDE tray: MASTER
| * 60GB WD600 drive - partitioned for cloning of ide0:hda drive
| OR
| * 80GB Samsung drive - single FAT32 partition for file sharing
| OR
| * 10GB Quantum Fireball
| /dev/hdc NT boot partition
| /dev/hdc1 vfat Windows 2000 Pro
| /dev/cua0 (COM1) <---> 9-pin Mini-DIN switch box
| <---> Supra Express 56Kbps Mac modem
| (linux only, not windows compatible)
| | |
| Mac 8600 other systems needing modem
| VGA/USB <---> KVM switch
| Ethernet: netatalk (Apple File-Sharing Protocol)
| ---> Macs can access linux files with or without CIFS installed
| Ethernet: CIFS protocol (samba) file sharing
| 1394 (FireWire) bus <---> external Que! CD/RW drive
| Audio line out ---> "X-10 Wireless video sender" (2.4GHz)
| ---> "X-10 Wireless video receiver" ---> stereo amp
in living room
|
+-- 192.168.0.102 = "g4"; Apple Macintosh g4 box: physically located in office
environment
| 1st IDE bus: ide0
| Drive 1: 60 GB WD600 drive
| 40 GB HFS+: "Macintosh HD"; OS 9.2; other System Folders
| 10 GB HFS+: "Digital Audio"; separate partition for faster
defragmenting
| 10 GB HFS+: "OS X Server"; OS 10.0.4 Server
| 2nd IDE bus: ide1 - REMOVABLE; with cable modifications to Apple case
| Drive 1: 60 GB WD600 drive - BACKUP of ide0
| 50 GB HFS+: "Macintosh HD"; "Digital Audio"
| 10 GB HFS+: "OS X Server";
| VGA/USB <---> KVM switch
| SCSI bus: (Orange Micro PCI card)
| Umax scanner
| external 500MB drive; old Systems
| 1394 (FireWire) onboard bus <---> external Que! CD/RW drive
| PCI (MOTU PCI-324 card) <---> 1394 (FireWire)
| <---> MOTU 2408 MkII digital audio interface
| Ethernet: CIFS ("DAVE") protocol:
| all hard drives and LaserWriter Pro 600 printer available on network
| Ethernet: AFP (Apple File-Sharing Protocol):
| "EpsonShare client" ---> Mac 8600: "EpsonShare server"
| ---> 9-pin direct (non-appletalk) cable
| ---> Epson Stylus 600 printer
| Audio line out ---> power amp in computer room
|
+-- 192.168.0.1 = "p4"; Soyo SY-P4I / Intel P4 box: physically located in
office environment
| ide0:hda REMOVABLE viPower IDE tray: MASTER; 80GB Samsung drive
| /dev/hda (MBR): lilo boot sector - 512 bytes
| /dev/hda1: 20,002.8MB Primary FAT32 - Windows 2000 Pro
| /dev/hda2: 10,001.4MB Primary FAT32 - Windows 2000 Server
("winServ")
| /dev/hda3: Primary extended partition
| /dev/hda4: 5,004.6MB Logical ext2 - linux root partition
| /dev/hda5: 517.7MB Logical swap partition
| /dev/hda6: 40,821.4MB Logical FAT32 partition (E:Shared) -
shared files for local network / via samba
| ide0:hdb CDROM: SLAVE
| ide1:hdc REMOVABLE viPower IDE tray: MASTER
| * 80GB Samsung drive - partitioned for cloning of ide0:hda drive
| OR
| * 120GB drive: IBM Deskstar 120GXP - FAT32 partition for backup of
hdd1
| ide1:hdd - 120GB drive: IBM Deskstar 120GXP
| hdd1: 117,796.9MB FAT32 audio/mp3; network shared volume; swapfile
location
| VGA/USB <---> KVM switch
| LPR (parallel port) <---> Epson Stylus Color 600 printer
| 1394 (FireWire) bus <---> external Que! CD/RW drive
| PCI: /dev/cua0 (COM1) <---> Lucent WinModem
| CIFS protocal built-in to windows
| shares: read/write access to all drives, printers
| SPDIF digital audio output
|
+-- 192.168.0.6 = "laptop"; Toshiba Pentium laptop
| ide0:hda - 4GB IBM drive
| /dev/hda (MBR): lilo boot sector - 512 bytes
| /dev/hda1: Windows 95
| /dev/hda2: linux ext2
| /dev/hda3: linux swap
| ide0:hdb DVD/CDROM: SLAVE
|
+-- 192.168.0.103 = "vicky"; Mac 8600
| Serial port ---> 9-pin direct (non-appletalk) cable ---> Epson Stylus
600 printer
|
+-- other IPs: Mac, Intel boxes
VGA/USB ports <---> MiniView 4-port USB KVM switch
<---> ViewSonic 21PS SVGA MONITOR;
<---> Ortek EKB-880 ergonomic USB keyboard;
I sawed off the numberic keypad for closer proximity of trackball;
less repetitive stress
<---> Microsoft 'Explorer' USB trackball
I originally designed this system and used it in my mobile office inside a Wells
Cargo utility trailer. The entire power system was installed inside my car,
with PV panels mounted on the roof. Today it provides me with protection from
rolling blackouts. If I can ever get DSL service again, I may try to host some
commercial sites from home.
500W PV panels AC utility power Kawasaki EF1000 1000W generator
| | |
| switch
| |
| 12v 75A Power Source charger
| |
charge controller |
|-----------+-- shunt resistor
ammeter |
| 100A fast-blow fuse
| |
12v DC: two 300 amp-hour Trojan L-16, 6v deep-cycle batteries
|
1000W inverter AC utility power
| |
switch
|
1000W NextGrid APS battery/inverter system
|
p3 server
Everything except the PV panels and AC power will be in secure, locked location
Windows multilink PPP is simple to enable and works great in Windows 2000.
Windows ICS service (available since Windows 98 I think) also works great!
requires the win2k box have static IP = 192.168.0.1
Doesn't require DHCP, but, if you use it, only the windows DHCP server can
be running
I used static IPs.
Originally I had a DSL connection to the internet. With DSL, there is no need
for connection sharing; you just buy a simple router (like the SMC Barricuda)
and assign some IPs and every machine is online all the time.
But then I moved and lost DSL and had to go back to using modems - a modem on
every machine. This is a pain when you are constantly switching from machine to
machine. So now I needed to deal with how to share a PPP connection on the
network.
Initially I was reluctant to use ICS for the following reasons:
+ In my past attempts to get windows ICS working in Windows Me i wasted a
lot of time and it never actually worked with my mac/linux boxes anyway
+ Since windows is the most vulnerable OS to hack/virus attacks, it didn't
seem to be smart to use the windows box as the gateway; need to be more
security conscious on Windows.
Another option is to use linux iptables as NAT router/gateway/firewall system
But since linux has worse support for multilink PPP, and worse modem support, if
you use dialup, Windows is the best way.
I use Sygate Firewall for Windows. Seems pretty good; easy to use. It alerted me
to spyware that I didn't know I had been infected by (thanks to Audio Galaxy /
Gator). I haven't had to contend with any hack attacks yet.
Email is a big security hole in windows. I choose not to receive any email on
Windows; instead I use my Mac for email and anything I need to copy or paste
into email comes from my cross-platform Filemaker database.
Another route would be to run an X client email application on linux via Cygwin
- Windows X server. Problem with this is that the clipboard support on Cygwin
is not great but there are other proprietary X servers.
Another route might be Norton Anti-Virus or other products but I need to
research the reliability of these against virus attack. My feeling is that you
need to keep up to date on these to be protected; better to send the viruses to
an OS where they can't possibly execute.
The file/printer-sharing protocol of choice is SMB/CIFS since it is the standard
Windows networking protocol and runs on all three platforms very well.
Appletalk is much more limited and, while it allows a Mac to see windows or
linux files, it requires too many tweaks (3rd party software) to allow the Mac
files to be seen from linux/windows.
Printing to appletalk printers from linux can also be a pain. DAVE only supports
shared _postscript_ printers; no embedded binary data. E.g., printing photos
from g4 to shared Epson (non-postscript) on p4 yields garbage
For SMB/CIFS all you need to do is:
Best results and easiest configuration acheived when:
same username/password on all machines; Mac username is "Owner Name"
WINDOWS 2000
* workgroup name = WORKGROUP
* if you enbable Internet Connection Sharing; it requires:
* w2k TCP/IP address = 192.168.0.1
MACINTOSH
* IP = 192.168.0.102; I chose this static addr so allow space above
192.168.0.1 for future DHCP clients
* install/setup DAVE (http://www.thursby.com)
Control Panels:Dave Sharing: select "Share-level access control"
user-level access control requires running a Windows Server Domain
controller
Control Panels:File Sharing:Owner Name = <user name on unix samba
server>
LINUX
* IP = 192.168.0.101; I chose this static addr so allow space above
192.168.0.1 for future DHCP clients
* install/setup Samba (http://www.samba.org)
get some good help documents:
search google for: Samba-HOWTO-Collection
http://samba.linuxbe.org/en/samba/install/installing.html
This was included with RH 7.1:
///usr/share/swat/using_samba/index.html" target="_top">///usr/share/swat/using_samba/index.html
assuming you have samba installed ...(comes with RedHat 7.1)
perform the following actions:
#locate smb.conf # mine is at /etc/samba/smb.conf
edit /etc/samba/smb.conf # I modified/added the following lines:
--- smb.conf
[global]
workgroup = WORKGROUP
# this allows any host in local network to connect, plus the host itself.
hosts allow = 192.168.0. 127.
# Use MS Windows NT/2000 as an authentication server
# this fixes the initial error I had trying to login to linux samba shares:
# "the account is not authorized to login from this station"
encrypt passwords = Yes
security = server
# password server = "NetBIOS_name_of_Primary_Domain_Controller"
# there are other options, but simplest to let the w2k box be the PDC
password server = "p4"
# Case Preservation can be handy - system default is _no_
# NOTE: These can be set on a per share basis
# preserve case = yes is required for Macintosh DAVE clients
preserve case = yes
short preserve case = yes
# Mangle case = yes seems to give the correct filenames
# for Win95/98/NT.
mangle case = yes
# Default case is normally upper case for all DOS files
; default case = lower
# Be very careful with case sensitivity - it can break things!
; case sensitive = no
[homes]
# this displays each user's home directory as a share;
# but we do not want not 'homes' to be browseable since it
# duplicates user home dir
guest ok = no
read only = no
browseable = no
# A private directory, usable only by greg
[htdocs]
comment = htdocs
path = /usr/local/apache/htdocs
valid users = greg
public = no
writable = yes
--- end smb.conf
#testparm # this tests the smb.conf file
my system was setup to start smbd and nmbd as daemons in:
/etc/rc.d/init.d/smb
# to test starting samba:
#/etc/rc.d/init.d/smb start
test:
#smbclient -L p3 -U greg
#smbclient -L p4 -U greg
this will display a list of shares on my win2kPro P4 (NetBIOS
hostname seems to be case-insensitive). The server name is looked up according
to either the -R parameter to smbclient or using the name resolve order
parameter in the smb.conf file, allowing an administrator to change the order
and methods by which server names are looked up.
#smbclient //p3/greg
#smbclient //p4/p4shared -U greg
from windows try command shell:
C:\WINDOWS\> net use d: \\p3\greg
to setup the rc.d intitialization:
#cd /etc/rc.d/rc3/d
#mkdir disabled; mv K35smb disabled # this was the default link here
#ln -s S35smb ../init.d/smb # new link to start samba automatically at
# boot (run-level=3)
MOUNTING CIFS FILESHARES
smbfs
Easiest is to use smbfs (samba virtual filesystem) in linux.
Check to see if it is compiled into your kernel:
$cat /proc/filesystems
If not, try:
$modprobe smbfs
If that doesn't show it, then you need to recompile the kernel
Once you've got smbfs support in the kernel, then you mount a share such
as //p4/p4shared like this:
$mount -t smbfs -o username=greg,password=secret //p4/p4shared
/mnt/p4shared
Or; with implied username from USER environmental variable; will prompt
for password:
$mount -t smbfs //p4/p4shared /mnt/p4shared
mount -t smbfs executes mount.smbfs which is just an alias to smbmount
Another way is:
$smbmount -o username=greg,password=secret //p4/p4shared
/mnt/p4shared
Or:
$smbmount //p4/p4shared /mnt/p4shared
Or:
add the following line to the /etc/fstab file:
//p4/p4shared /mnt/p4shared smb
noauto,user,username=greg,password=secret 0 0
The fstab entry must be noauto since samba services isn't started before
fstab is run at boot
To automatically mount, put a mount command into my ~/.xinitrc
If you don't have mount.smbfs, you can create it:
$ln -s /usr/bin/smbmount /sbin/mount.smbfs
Normally only root can mount a CIFS share but you can allow any user to
mount it by setuid bit:
#chmod u+s /usr/bin/smbmount
#chmod u+s /usr/bin/smbumount
This will ensure that file permissions are correct.
smbclient
If you don't want to mount the CIFS share, you can access it with
smbclient, similar to ftp smbclient has the advantage of letting you browse
shares and access shared printers
--- OTHER SAMBA OPTIONS / SUBJECTS TO INVESTIGATE:
install/use the samba admin tool: swap;
http://localhost:901/
if you want to start with inetd then...
# which smbd # mine is at /usr/sbin/smbd
# which nmbd # mine is at /usr/sbin/nmbd
#locate inetd.conf # mine is at: /etc/xinetd.conf ; has different syntax
# than inetd.conf
inetd.conf syntax: # <service_name> <sock_type> <proto> <flags>
<user> <server_path> <args>
if you have inetd.conf, add:
netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd
netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd
xinetd.conf syntax:
service <service_name>
{
<attribute> <assign_op> <value> <value> ...
...
}
if you have /etc/xinetd.conf, add:
netbios-ssn :
service netbios-ssn
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/smbd
disable = no
}
netbios-ns :
service netbios-ns
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/nmbd
disable = no
}
When Windows goes fubar due to change of motherboard, virus or whatever,
re-installation is often easiest solution.
Windows intallers are very inflexible and require installing to the FIRST
primary partition and results in the MBR getting over-written.
For this reason, it seems easiest to always have each version of windows
installed on the first primary partition of a SEPARATE hard drive
Linux can be installed on any partition and rarely becomes unbootable. Linux is
very useful simply as a rescue, maintenance utility for Windows!
Although most people seem to use NT boot loader in multi-boot lin/win
situations. some prefer linux grub. I prefer lilo for the following reasons:
+ lilo boot partitions are easy to copy, backup:
dd if=/dev/hda of=/liloboot.bin bs=512 count=1
+ lilo boot partitions are easy to restore:
dd if=/liloboot.bin of=/dev/hda bs=512 count=1
the above command doesn't seem to work for backup/restore of an NT boot
partition
+ linux is less likely to get corrupted by virus; easier to reinstall lilo boot
partition if needed (utilities for re-writing NT boot partition without
installing NT are also available)
+ The syntax of lilo.config file is easier for me to handle than NT boot.ini;
+ lilo doesn't require copying and moving around boot image files
(C:\linuxboot.bin), as is required for NT
+ lilo seems better than grub: i believe grub completely wiped out all
partitions on my entire 80GB drive when i tried using it!
One more step in interoperability is to enable machines to run linux
applications remotely. This requires installing an X Windows Server on the
remote machine.
There is little of quality available for Mac OS 9.x
The best choice for Windows is cygwin
Files can be had from:
http://cygwin.com
http://cygwin.com/mirrors.html
Read the cygwin-xfree-ug.pdf file on installation and setup: it has an error -
doesn't tell you about downloading inetutils binary which includes telnet, ssh
WARNING: Cygwin setup will automatically overwrite your custom config files if
upgrading!
BACKUP FILES AND RESTORE AFTER RUNNING SETUP:
C:\cygwin\usr\X11R6\bin\startxwin.bat
C:\cygwin\etc\x11\app-defaults\XTerm
Run setup.exe
Whenever you want to download additional packages, again run setup.exe
There doesn't seem to be any way to globaly uncheck items.
You must go down the list and uncheck things you don't want to download
Check off what you DO want to download.
Then copy to your home directory or wherever you want inside C:\cygwin, such as:
C:\cygwin\home\greg
After installing cygwin, launch it and Install the xfree-binaries to
\cygwin\tmp
Follow the rest of the instruction from cygwin-xfree-ug.pdf
--- Use startxwin.bat to start the x server.
I edited this file so DISPLAY is setup for running xclients from remote hosts
and a few other customizations:
SET DISPLAY=<name of your machine>:0.0
start XWin -multiwindow -clipboard -unixkill
run xterm -geometry 80x50+20+20 -sl 1000 -sb -rightbar -ms red -fg yellow -bg
black -e /usr/bin/bash
REM allow running X applications from telnet to host p3
run xhost +INET:p3
copy startxwin.bat to C:\cygwin\usr\X11R6\bin\startxwin.bat
--- Edit $HOME/.bashrc
alias xterm="run xterm -geometry 80x50+20+20 -sl 1000 -sb -rightbar -ms red -fg
yellow -bg black -e /usr/bin/bash&"
--- To start the x server...
run C:\cygwin\usr\X11R6\bin\startxwin.bat
$telnet <machine you run xclients from>
run any xclient app
--- SSH seems to require explicitly setting DISPLAY after loginning into p3 from
p4:
export DISPLAY=p4:0.0
run any xclient app
---- OBSOLETE: To get the cygwin clipboard integration going...
NOTE: this is now integrated with XWin -clipboard option
http://xfree86.cygwin.com/devel/xwinclip/
Installing an xwinclip Release
xwinclip consists of one binary file, namely xwinclip.exe, that you add to your
current Cygwin/XFree86 installation, replacing the previous xwinclip.exe if
necessary. Follow the procedures below to backup your original file and
install the new file. Run the following commands in a Cygwin shell:
cp xwinclip-Test03.exe.bz2 /usr/X11R6/bin
cd /usr/X11R6/bin
mv xwinclip.exe xwinclip.orig.exe
bunzip2 xwinclip-Test03.exe.bz2
mv xwinclip-Test03.exe xwinclip.exe
To use xwinclip, modify your startxwin.bat file to start xwinclip.exe. On
Windows NT/2000, add the "start /B xwinclip.exe" immediately after the "start
/B XWin.exe" line. On Windows 95/98/Me, add the line "start xwinclip.exe"
immediately after the "start XWin.exe" line.
xwinclip allows you to copy text from X client applications to the windows
clipboard but it does this at the cost of disabling ability to copy and paste
within the X client application itself!
--- PROBLEM WITH LOGITECH MICE:
* From: Luke Deller <ldeller at xplantechnology dot com>
* To: cygwin-xfree at cygwin dot com
* Date: Wed, 22 May 2002 11:53:34 +1000
* Subject: middle button & logitech mice: more info
Hi,
Looking through the archives for this list, I have noticed that others
have had a problem getting the middle button on Logitech mice to work in
XFree86 in cygwin. The only solution that I found in the archives was to
avoid Logitech's drivers. This is not necessary.
It seems that the middle mouse button can easily be enabled by a simple
setting in the "Mouse properties" control panel. In the tab entitled
"Buttons", each of the three buttons can be assigned a wide variety of
actions. The default assignment of the middle button causes it not to
work in XFree86. I use the following assignment to make the buttons work
"normally":
Button 1 (left): "Click/Select"
Button 2 (middle): "Middle Button"
Button 3 (right): "Context Menu/Alternate Select"
--- Configure xterm
There was a problem using xterm:
If I tried to telnet and login to another machine I could not delete characters
during login.
I would get garbage.
Solution is to enable the XTerm option: "Main Options"/"Delete is DEL"
(ctl-left_mouse_button in xterm window)
Here's how:
Edit the file:
C:\cygwin\etc\x11\app-defaults\XTerm
Add the following line at the top:
*deleteIsDEL: true
--- Configure twm Window Manager
NOTE:
fvwm2 is a nicer Window Manager but it interferes with xwinclip
I really didn't like the way they shipped the default configuration.
For more info:
$man twm
From the xterm on the Cygwin machine, do the following:
$cp /etc/x11/twm/system.twmrc $HOME/.twmrc
Edit $HOME/.twmrc: I preferred not having to hit the title bar to raise a window
Button1 = s : window|icon : f.raiselower
Button2 = m : window|icon : f.iconify
Button3 = m : window|icon : f.raiselower
"Xterm" f.exec "exec xterm -geometry 80x50 -sl 1000 -sb -rightbar -ms red -fg
yellow -bg black -e /usr/bin/bash&"
Click in the root window; choose "Restart" to restart twm with the new settings
The biggest problem about backup is to do it. If it is difficult, you won't tend
to do it.
I prefer (linux) rsync for backup/cloning since it is smart, fast, customizable
and non-proprietary. I wrote my own backup utility that works nicely for
cloning drives:
http://www.proliberty.com/tools/devcopy/
There seems to be a problem running rsync from an xterm window; it
stalls in the middle sometimes
Workaround is to run from a non-X terminal.
Cloning could be supplemented by daily backups from windows, if needed.
Windows has the ability to automate backups but these are not full clones of a
hard drive. I prefer primary backup to be a complete clone of all partitions.
Since it is difficult to see ext2 partitions in Windows, I don't know of any
way to clone ext2 partitions of a multi-boot drive from Windows alone.
Generally, win2kPro is faster and easier to maintain than win2kServer but some
features of win2kServer may be needed and require NTFS partition (such as
Services for Macintosh).
But linux can only mount NTFS partitions read-only so it can't be used to clone
an NTFS partition, for example.
Similarly, RedHat linux requires ext2 boot/root partition which is not readable
by windows without 3rd party software. (Although some linux distributions
reportedly can install into vfat partitions, RedHat cannot.)
I decided to minimize the size of NTFS and ext2 partitions and favor FAT32
(linux vfat) partitions as the best for use between linux/windows.
One of my goals was to abandon my CD collection in favor of networked shared
access to mp3 file server. I got tired of burning CDs, making labels, buying
jewel cases and building CD shelves!
I had originally discovered audiogalaxy.com and downloaded several gigabytes of
mp3s but couldn't play many of them on my Mac because the filenames were often
longer than 32 characters.
Now I am in heaven: all computers on the network can see all audio files and I
can use any software on any platform to rip, edit tags and catalog the files.
Even the Macintosh can access files with names longer than 32 chars, using
DAVE!
I have a networked PowerMac 8500 in the living room wired to the stereo and the
TV as a monitor, giving my family members GUI access to music by artist or
playlist without ever having to touch a jewel case. Finally a perfect use for
my old abandoned Mac!
GET THIS: "KEYSPAN DIGITAL MEDIA REMOTE"
I paid $40+tax 'new' from Fry's Electronics with two dead batteries; they go for
$30-$35 + shipping, on eBay.com, with two good batteries...
- This is an infra-red remote control unit that works with Windows or Macintosh
applications via a USB port: it has application level mappings for the 17 keys
on the remote control corresponding to any keystroke combinations you chose.
This beats paying $2800 for the latest Sony VAIO mini-disk, mp3, remote
controlled computer. (Hats off to Sony!) Instead, buy yourself an old Mac 8500
on eBay for around $500 and pay $40 for a remote control. It is slow but fast
enough to play mp3's. Download iTunes for free and you have a great home-stereo
jukebox. Of course you need a USB card and 50ft cat-5 ethernet cable and you
need to get Mac OS 9.1 for free from a friend if you don't have it :-)
The Keyspan remote comes pre-configured with all the important commands for
iTunes (way better than any Windows or Unix mp3 player!), including switching
to the psychedelic screen when you are listening to mp3s.
// HOW TO GET AUDIO FROM YOUR COMPUTER TO YOUR HOME STEREO
If youy computer is too far for runing audio cables (expense for high quality)
and you don't want to dedicate a computer to your living room and run ethernet
as I did here are some other options.
One half of the problem is getting the sound from your remote computer to the
stereo; the other half is conrolling the playback conveniently from the stereo.
+ The "X-10 Wireless video sender/reciever" allows you to play mp3s or DVDs on
your computer and hear/view them on my stereo/video system in the living room.
I bought one for $100 and returned it since it didn't seem to filter noise and
introduces a lot of clicks. Radio Shack sells what appears to be the same unit
with their brand on it.
+ Get a professional quality wireless audio transmitter/receiver unit for around
$300 like stage performers use.
+ Another option if the "SonicBlue Rio Receiver" which connects to the computer
over ethernet or phone line and costs about $170: it is a small LCD console
with knobs that sits next to your stereo and give digital audio (and analog?)
outputs. Not as nice as a computer display though.
If you use wireless for sound, you can use a cheap laptop to control the mp3
audio server remotely with linux and X windows. To attempt running remote
applications in Windows would require PC Anywhere which requires minimum 166GHZ
Pentium 3 whereas my old 66GHz Pentium laptop runs remote X clients fine. If
you have a fancy expensive laptop that can run PC Anywhere then you won't need
it since you have enough RAM to decode mp3s directly and cable the laptop to
your stereo. My Toshiba 400CS laptop couldn't play mp3s with only 40MB RAM
running Windows 2000. The PowerMac 8500/120 does fine with 60MB, Mac OS 9.1 and
iTunes though.
see: http://www.hometheaterforum.com
Configuring your system and creating mp3 files for greatest flexibility is
complicated.
The rewards are very great: you can gain maximum utility from your music
collection.
In order to minimize the amount of time you spend fiddling with files and tag
data, it pays to plan out a long term strategy before ripping your collection
of CDs.
--- THE GOAL:
* We would all like to be able to access our music easily with flexible
searching.
Examples:
Play randomly from collection of classical solo piano pieces
play movements of a work sequentially; i.e., don't randomize between
tracks of a given work
Find all songs in a particular Genre, such as 'Samba'
Play only my 'favorite' songs.
* We want to be able to use the best software on any platform to access our
music, without loss of functionality: software quality is constantly changing -
best not to become 'locked in' to a non-standard data format!
--- THE DATA
mp3 audio files may come from various sources:
* 'ripped' from CDs that you own and have control over
* downloaded from internet, with or without accurate data or meaningful
filenames
We want to acheive CONSISTENCY of:
* audio volume levels and
* metadata
Strategies for cataloging mp3 files will diverge between these two sources:
files without quality tag data require processing: tagging, renaming
files ripped from CD require proper configuration of ripping utilities so that
the data is consistent with that of downloaded files.
The kinds of things we are likely to care about most about our music are:
* song title, artist, author, album/cd title, track number, genre/style, rating
Other important attributes might be:
* CD identifier (for database lookups); sub-categories of genre; user comments
The central questions are:
* HOW TO MOST EASILY ACQUIRE THIS DATA?
* HOW TO STORE THIS DATA?
--- THE TOOLS
* ID3 'tags' - data embedded within mp3 files
* filenames, paths that contain artist, title, track, genre info, etc.
* online CD databases: cddb.com, freedb.org - data keyed on calculated CD id
can also be queried on artist/song title for use in tagging downloaded files
without any pre-existing tag data
* software can create 'playlist' files or databases that organize files and
allow us to query and select different views and playing methods: random,
sequential, crossfades, etc.
--- TRADE-OFFS
Unfortunately, the world isn't perfect; there are inherent tradeoffs between:
* flexibility of data types/attributes we choose to associate with mp3 files
* standardization of data format for portability between mp3 applications
* time required to input data, edit filenames, ID3 tags, etc.
If we didn't care about portability or time the best choice would be a
user-configurable, non-standard database that allowed us to classify our
music/files with our own categories and sub-categories of genres and
preferences.
But what if the software that gives us access to this database, over time,
ceases to meet all our needs? We may need to switch to another program that is
faster or easier to use but which isn't able to import data from the old
application; the old application might not even export its data in a format
usable by any other application - indeed, this is unfortunately often an
intentional 'feature' of software that want to keep you dependent!
For example, ID3v2 tags might be a good choice for data storage since they
offer:
* accurate description of song title, author, album, artist, etc.
* are physically attached to the music data file; can't become separated
* are accepted as a standard by many applications
But what if we want to play them on our home stereo and need to use an older
computer, such as a PowerMac 8500 that cannot run MusicMatch Jukebox? What if
iTunes and other ID3v2 tag-compliant software tends to crash on this platform
or is dog slow? It might be that the only software the will work on such a
system only supports ID3v1 tags or perhaps we are better off playing file by
selecting them directly from the Finder.
Furthermore, it is good to have redundancy of data: when ID3 tags can't be read
or become corrupted, or are non-existent, then we may be able to make use of
how the files are organized within the filesystem, for example:
C:\mp3\<genre>\<artist>\<album>\<artist> - <title> - <tracknum>.mp3
If our files are logically organized and have BOTH ID3v1 and ID3v2 tags, we will
have the widest choice of applications to use!
Of course this flexibility is gained at the expense of time and planning.
So let us focus on minimizing time and planning.
--- FILE NAMING CONVENTIONS
I use unix path conventions: '/' instead of DOS '\' or Mac ':'
Standard delimiter between fields in a filename is ' - ';
Since space is significant in the delimiter, hyphenated words in titles and
names are OK.
If you download files from Audiogalaxy, they will be in format:
artist - title.mp3
Other peer to peer file sharing systems, like gnutella, kazaa may not have any
standard conventions. When downloaded, they will not be sorted automatically by
genre or artist; they may or may not be tagged
If you move your files around, they may lose data if not tagged.
Therefore, I prefer to create some basic redundancy by including artist as well
as song title in the file name.
mp3dir = the directory under which you keep your mp3 files
Some options and pros and cons:
mp3dir/artist/album/title.mp3
pro: simple - easy to convert filename to tags without worrying about
field delimiters
con: file may lost artist, album data if moved before tagging
pro: unlikely that an untaged file could end up here since:
rippers autimatically save in directory hierarchies also tag
mp3dir/genre/artist/album/title.mp3
pro: this makes it easier to select groups of files for playing directly
from the filesystem
pro: also enables easy bulk file tagging from path since genre is very
subjective
original ID3v1 genres and subsequent are a poor selection of names
you will likely want to overwrite the genre tag field to suit your
own tastes
mp3dir/artist/album/artist - title.mp3
pro: this method offers redundancy: if you ever move files or download
into one directory, you can easily sort them by artist when part of the name
con: ' - ' used as a delimiter may cause problems if you try to create
tags from filenames if ' - ' also appears in the artist or title when data is
retrieved from cddb/freedb
problems appear with:
* compilation cds that include: main_artist, track_artist, title
in filename
* classical cds that include: composer, orchestra, conductor,
movement_name (allegro), catalog_id - often failing to include the title of the
piece in the track name!
you can end up with many tracks named 'allegro' that will
play out of order with the other movements of the same piece when several
'allegro' movement occur on one CD!
rippers may offer options to substitute characters found in filename
automatically.
mp3dir/artist/album/tracknum - artist - title.mp3
pro: order of tracks preserved at filesystem level
pro: including tracknum in filename minimizes chances of filename
collision when moving several version of a song by the same artist in one
directory
con: if you mix files of different artists in one directory you get a
jumble
mp3dir/artist/album/artist - title - tracknum.mp3
better for keeping files sorted by artist
mp3dir/artist/album/title@artist.mp3
pro: minimizes parsing confusion when ' - ' is embedded in title or
artist
con: ' - ' is the standard delimiter most utilities default to; you may
need to customize settings and rename downloaded files to conform to this
convention
--- ARTIST versus COMPOSER
This is mostly an issue in Classical genre:
I prefer to group music by composer than by performer
when a CD contains all works by a single composer I want to see it as:
J.S. Bach/Brandenburg Concertos (disk 1)/artist - title.mp3
as opposed to, the more technically standard:
Performer(artist)/Album (probably including composer's name)/Brandenburg
Concerto No. 1 - movement.mp3
My personal convention is this:
* Most non-classical CDs contains one performer or group:
artist = performer
* When a CD contains all works by ONE SINGLE composer:
artist = composer, in subdirectory and artist tag naming
* When a CD contains various performers playing songs by various composers
artist = 'Various Artists'
The file naming conventions can be loose since we can fill in all the tag fields
we want
--- ID3v1 versus ID3v2 tags
ID3v1 tags are out dated but nice to have for maxiumum portability amont
applications
mp3 files can include BOTH tags!
For greatest compatibility, it is best to synchronize tags as much as possible:
this may be supported by the ripper or you may need to process files with
tag editor after ripping
--- THE PROCESS
I will quickly list the main issues to contend with an my preferred solution:
CDs
* extract audio; quality of ripper and cd player tradeoff with speed of
extraction
see: www.exactaudiocopy.com
* normalize wav audio data prior to encoding as mp3 or using volume adjust
tags in mp3?
* decide which bit rate and other options you want to encode at
I use 192 kbit; stereo for everything
most people consider 192 'high quality'; 128kbit is 'good'; 160kbit
'better'
* mp3 encode: bit rate options
encoder options: LAME, BLADE, FRAUNHOFER
If you use LAME and your ripper supports using an external codec:
Download Lame from: http://www.hot.ee/smpman/mp3
Copy lame.exe to: C:\windows\lame.exe
Set your ripper to use it with command arguments; for 192kbit:
lame.exe -b 192 %s %d
where:
%s is the path to the source: wav file
%d is the path to the destination: mp3 file
other data formats: Ogg-Vorbis; WMA
file size, playback quality, portability/playability are tradeoffs
* online database query: freedb, cddb, cddb2 are the options
be careful about accepting poor quality data!
* tagging
* file naming
* cd burning
* cd label printing
Downloaded files
* audition for noise, incompletness, general quality
* edit filenames, tags to a standard convention
CDs & Downloaded files:
* import into jukebox/organizer/player
this will likely reveal inconsistencies/error in tag data:
if the organizer can also edit tags directly this can be nice
* create playlists of subsets of library
* prioritize/categorize files
at this stage, there may be insufficient support within the ID3 tag
beware of investing time inputting data that will not be exportable to
another application
there is no 'user preference' field in ID3v2.4 spec
some utilities use their own database; some use the general
'comments' ID3 field for this; no standard
utilities often do not synchronize database with file tag data well,
if at all:
if you use files in more than one application, data may become
confusing
You may edit data in and organizer/player such as iTunes, for
example, and either find that it is not written to the mp3 file or is written
to the IDv1 tag instead of to the IDv2 tag, for example and that any
relationship between tag data and filename is lost.
Beware also losing data files when you think you are only removing
records in a database/playlist!
--- SOFTWARE:
By far the best quality and variety of tools for managing mp3 files is found on
the Windows platform.
--- WHAT I USE:
* Audiograbber
- setup to name files with this config:
C:\mp3\<genre>\<artist>\<album>\<artist> - <title> - <tracknum>.mp3
* when freedb doesn't have a cd, try cddb2: Pyro 1.5
- this app is pretty lousy; only saves ID3v.1 tags; no normalization; doesn't
let you control filename formatting at all; it costs about $50 - but it gives
you cdd2 (gracenote) database connection for when you need it.
- create the Artist and Album directories manually; rip
- after ripping, open one of the files in Mp3 Tag Studio
'mass set tags' for Genre
'mass set tags from filename' - pickup the chars from directory names that
may have been lost in ID3v1.1 tag truncation; pickup the track number and title
from the filename; DON'T set 'artist' tag from directory name if it is a
compilation - Pyro does set artist tag correctly for compilation CDs and this
saves you typing although, again, you get truncation if there is a long artist
field
'rename files from tags' - I prefer <artist> - <title> - <track>.mp3 over
what Pyro gives you: '<track>-<title>.mp3
- next you need to normalize the volume: MP3Gain application works good; I use
97%
- finally enqueue in winamp and listen to verify that you didn't clip the sound
level:
if you use MP3Gain after normalizing with another app like audiograbber, it
will likely clip because MP3Gain doesn't seem to read the existing
normalization tag fields correctly tells you the volume is lower than it really
is, then adds its own gain to cause clipping. If the files were never
normalized (Pyro) then there isn't a problem using 97% or 98% even though the
default MP3Gain recommends is 89%. Since Audiograbber's default normalization
is 98% and I do most of my ripping with Audiograbber, I stick to this standard.
* when cddb2 and freedb both don't have a title, then I try Musicmatch Jukebox
private DB lookup.
- One nice thing about Musicmatch is that the file renaming is pretty smart: by
default, it replaces ' - ' in filenames with '_-_' so that the field delimiter
' - ' in filenames is unique! You can't do that with any other app I know; not
even Mp3 Tag Studio.
- Sometimes (rarely) it might have a CD that you can't find listed elsewhere.
Another interesting feature of Musicmatch is that if freedb doesn't have a title
and you look it up in Musicmatch, if you simply switch to Audiograbber and
refresh the display, Audiograbber picks up the song titles from Musicmatch! It
must be using cdplayer.ini file or something. Problem is that it only gets the
title fields, not the artist or anything else. But this is one way to 'steal'
data from Musicmatch for freedb. Now if only somebody could decode the cddb2
TCP/IP packets that Pyro sends and patch the query protocol into Audiograbber
or another freedb app we could 'port' cddb2 to freedb :-)
Names to search for:
Audiograbber
Mp3 Tag Studio
Musicmatch Jukebox
Winamp
See: http://www.dailymp3.com - good site for list of mp3 utilities, reviews on
all platforms!
Unfortunately I have not found one product that does everything well. This is
what I want:
ripping tracks from cd to mp3 files
normalize volume level of ripped audio tracks
if you don't do this, compilations from different cds won't have the
same volume level
many mp3 players allow you to set playback level options but don't edit
the audio data:
instead they use the ID3 tag to tell a player to adjust playback
levels for the file
this is dependent on the ability of the player to use the tag data
better is to normalize the original audio!
need a utility to normalize mp3 files; audiograbber, CoolEdit normalize
wav
looking up ID3 data from freedb.com, cddb.com or other
cddb2 - is the best, but proprietary; Pyro uses this
for hard to find international CDs, this has much more than freedb
or cddb
cddb - is only temporarily maintained;
freedb - open source; not as many titles as cddb2
it would be really nice if a freedb based app like audiograbber could
assign ID3 data from an imported playlist:
then you could use a cddb2 app to 'steal' cddb2 data; normalize and
encode with audiograbber and upload to freedb!
catalogue/jukebox/playlist manager:
flexible sorting and searching by song title, comment(preference), etc.
group select enable play (Music Maid makes you select/deselect song by
song)
IDv2 tag support
import/save lists
primary sort by: artist - expand to show albums
primary sort by: genre - expand to show artist/albums; select/deselect
as a group
primary sort by: comment (preference)
flexible views:
tree/folder views are really nice: expand/collapse
customize order of column/fields
remove display of columns you don't need to see
edit ID3 tags; important that you can do this for groups of files in a
catalog app
getting ID3 tag data from filename; control the format for parsing
editing ID3 tags manually
flagging songs for personal preference; save the preference in the ID3 tag
this appears to be a shortcoming in ID3v2 tags: there is no 'preference'
standard!
apps like Musicmatch seem to use the COMMENT field
there is no standard; Musicmatch uses words like 'excellent' that
you can't sort logically in any other app; you are tied into Musicmatch
better would be a simple scale 0-10 in a 'preference' field
then you could always sort in any app and get consistent results
many rippers use COMMENT field for CDDB ID or name of ripper, etc.
if you use COMMENT field for preferences, be sure to erase pre-existing
comments first and disable comment use by rippers
group file editing: set preference or style for a group of songs at once
submitting ID3 tag data to freedb.com
editing filenames based on ID3 tags
automatically create playlists
print jewel case labels from playlists; control formatting of layout
how many song titles can you fit on a jewel case?
burning audio cds from mp3s, without intermediate wav/aiff file conversion
burning mp3 data cds
managing backup of mp3 files to cdrom
this is probably the job of an ordinary backup to CD-R
follow that with a 'catalog' app that keeps track of backed up file
media
play mp3 files; access ID3 data from player; control playlist display format
play remotely over the network
this is easy in linux since X Windows is a client-server; MS Windows has
much more overhead
--- RIPPING: Cakewalk Pyro, AudioGrabber for Windows; Grip, on linux
Many mp3 applications exist for Windows but the best ripper I've found is Grip,
for linux:
http://www.nostatic.org/grip/
* supports freedb.com for cddb queries and submissions; many use cddb.com or
proprietary database
Sometime you need to look in more than one database to find a listing; this
requires another ripper.
If I don't find something in freedb, I'll use cddb and MusicMatch Jukebox as
a last resort
* very flexible configurable output file naming; my preference is:
Artist/Release/Artist - TrackName.mp3
Many rippers don't give you complete control of filenaming
stable
FreeRip MP3 for Windows is ok but unstable.
AudioGrabber is much better than FreeRip; does normalization and has good
control over filenaming
Pyro
Very awkward interface but for some reason it was able to get cddb.com info
that Toast and AudioCatalyst couldn't get. Very poor tag handling and
filenaming features
--- TAG EDITING / CATALOGUEING
ID3v1 tags are at the end of file; ID3v2 tags are at the beginning
mp3 files can have both ID3v1 and ID3v2 tags; the application decides which to
read
ID3v2 tags are superior: less limitations on field lenght; more fields;
beginning of file allows streaming, better handling; but not all mp3 players
can read ID3v2
ID3v1 is obsolete; better to upgrade software/players; always write ID3v2 tags;
optionally add ID3v1
* MusicMatch Jukebox for Windows
This product is annoying with trying it's proprietary database and nagging promo
of the web site. But it does an good job of renaming files and gathering ID3
data from filenames if needed. It is a passable database but doesn't update
automatically and doesn't sort data that well
* Mp3 Tag for Windows
Only tag management; no playing, catalogueing, etc.
Very versatile file renaming; tag editing capabilities
--- BURNING: NTI CD-Maker for Windows; Roxio Toast for Mac
All work well with my FireWire CD-R; many apps don't seem to like this drive
Haven't been able to get FireWire working in linux yet. Very poor documentation
on this.
--- JEWEL CASE LABEL PRINTING
Most players/rippers/organizers that can display a list of songs in mp3 format
don't let you even copy to the clipboard so you can paste into another app and
print a label.
The few that support label printing, such as Feurio and MusicMatch, are buggy or
offer little control.
MusicMatch Jukebox for Windows is the only one I've found that does a passable
job of printing.
--- BACKUP: none
I haven't found any backup utility that suits my needs, which are:
* look at all files in mp3 directory and group them to create iso images
with volume names
* burn the iso images
* keep a record of what files are backed up on a given volume name so i can
find them
* periodically look in mp3 directory to find all new files that haven't been
backup up yet
Computer use is a serious physical hazard and it is wise to learn how to avoid
injury.
I suffered a frozen shoulder / rotator cuff inflamattion due to repetitive
stress that I didn't see coming. It took me a long time to figure out how to
begin recovering and recovery took over a year. Some people never recover
completely. Beware.
Sound of whirring computers can increase your stress too.
One idea suggested for reducing sound by 50% is to line your computer cases
with:
'Dynamat' - a thin foam product used by auto stereo enthusiasts to dampen sound
in a car. Available at many auto stereo stores.
The following description is not meant to be an ideal HOW-TO.
It simply chronicles what I did and some problems I faced and how I resolved
them.
I recommend reading Red Hat Release-Notes (on disk 1) prior to any installation:
incompatibilities and problems with the release may be noted that will save you
time!
I started with:
* P3 linux/windows machine already setup running RedHat 7.1 and Windows 2000
Pro
* new Soyo SY-P4I box
* two new 80GB drives: one boot; the other for backup of boot drive
* pre-existing Win2k drive from my P3 machine
Step 1) Installed Windows 2000 Server on one big 80GB NTFS partition
I figured I'd test it out and repartition later...
Step 2) Partitioned new 80GB BACKUP drive with Partition Magic 7.0
Partition magic 7 doesn't run on win2k server; I used win2k pro on my old P3
for this
Initially partitioned as follows; I changed this later:
hda1: primary 50GB NTFS - win2k server
hda2: extended partition
hda5: 15GB FAT - win2k pro
hda6: 15GB FAT - linux ext2 root partition
hda7: 512MB linux swap
CAVEAT:
Above partitioning was done when planning to install win2kPro on same
drive as win2kServer
As discussed elsewhere, it is better to install each version of windows
on a separate drive
Step 3) Installed RedHat linux 7.2 on newly partitioned "BACKUP" drive
PROBLEM: kernel panic
RedHat Linux 7.1, 7.2 wouldn't boot or install; not even from
'rescue' CDs
This was due to kernel bugs with HighPoint 372 IDE RAID chip and
RAID feature
active in the BIOS
SOLUTION: searched google with name of motherboard, linux error message
disabled the RAID chip in BIOS
the problem is allegedly fixed in latest kernel (>= 2.4.19 I
think)
LILO boot partition written to /dev/hda (MBR); root=/dev/hda6
Step 4) Tweaked the RH 7.2 installation
The RH 7.2 installer didn't install some stuff I needed, like linuxconf. I
had to install these packages manually
Removed the drive with RH 7.2 and put it into the REMOVABLE bay of my old P3
to copy some files and scripts. This is where removable hard drive trays are
really nice!
Step 5) Installed and 'Repaired' Windows 2000 Pro on pre-existing drive from P3
machine
I had planned on moving the existing win2k drive from the P3 box to the P4.
This didn't work due to hardware incompatibilities: the driver for IDE
controller on the P3 didn't work for the P4 IDE controller and the P4 couldn't
boot windows
PROBLEM: frozen blue screen with Windows error messages:
***STOP 0x0000007B
INACESSIBLE_BOOT_DEVICE
SOLUTION: searched google on INACESSIBLE_BOOT_DEVICE;
found lots of informative but time-consuming and ineffective
workarounds
booted from Windows 2000 CD
choose: installation to repair a damaged system
Reinstalling wasn't too painful; had to reconfigure my display
and desktop settings
Other incompatible hardware from the old motherboard were
removed by the installer
Registry entries for installed software were not affected
Step 6) Copied files from NTFS partition of win2kServer drive to backup drive
I already had win2kServer installed on the NTFS drive; wanted to copy this
to the 'backup' drive
PROBLEM: couldn't copy files from booted win2kServer volume due to
"sharing violations"
turning off sharing did not help
linux can't write to nfts partitions so that wasn't an option
SOLUTION: copy files when booted from my win2kPro volume; no sharing
violations
PROBLEM: freeze during boot; error message:
NTLDR is missing
SOLUTION: change view options in win2kPro and copy the missing files.
hidden files didn't all copy originally, even though I had
checked
"show hidden files" in the View options:
* you need to also check "show hidden system files"
the required NT system boot loader files are:
ntldr
ntdetect.com
boot.ini
but you might as well copy all files;
i encountered a 'sharing violation' with with one hidden file,
probably used by the virtual memory system. no problem; didn't need it anyway.
Step 7) Re-write boot sector to multi-boot linux, win2kPro and win2kServer.
Boot into linux; edit /etc/lilo.conf (see example below)
run /sbin/lilo to update boot sector.
Make Win2k partition bootable: run FIXBOOT from recovery console
There is a TRICK to getting windows to boot with lilo boot loader
You must use the lilo map-drive directive to fool windows into thinking it
is on the FIRST hard drive in the system! See lilo.conf below.
----- Here is my lilo.conf file:
# partition where lilo boot section will be written:
# /dev/hda is the master boot record (MBR)
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=320
# lba32 allows booting from any partition on large hard drives
lba32
default=win2kPro
# the linux kernel:
image=/boot/vmlinuz
label=linux
read-only
root=/dev/hda6
#0x80 is hda;
#CD-ROM drive doesn't figure in this order; if CD is 2nd on IDE0, then:
#0x81 is hdc; 0x82 is hdd;
# in this case, win2kPro is installed on 0x82 but
# windows needs to THINK it is the first drive, 0x80
# so you fool the BIOS by swapping:
other=/dev/hdd
label=win2kPro
map-drive=0x80 to=0x82
map-drive=0x82 to=0x80
# no map-drive needed here since win2kServer is on the first hard drive
other=/dev/hda1
label=win2kServer
This section documents a lot of specific problems that I encountered.
PROBLEM:
Partition Magic 7.0 crashes during move operations; it writes bad partition
table; loses data
I moved several linux partitions and ended up with a partition table out of
order:
/dev/hda3 was the first partition instead of /dev/hda1;
PM moved the partitions but didn't rename them in the partition map;
linux didn't like this; wouldn't boot: "...superblock could not be
read..."
I tried manually rewriting partition map in linux fdisk but this
couldn't be fixed;
I lost all data on the drive (luckily I had a backup)
SOLUTION:
Don't trust Partition Magic; backup before moving partitions!
Apply each action as you perform it; otherwise PM will reboot and run batch
files that crash
PM seems to write an invalid partition map in linux; it works better with
Windows
A better utility might be Paragon Hard Disk Manager; I haven't tried it yet
includes "Ext2 Anywhere" - allows access to ext2 partitions from Windows
PROBLEM:
win2kPro crashes with Stop Error: "MULTIPLE_IRP_COMPLETE_REQUESTS"
This would often be preceded by disappearance of the mouse cursor
Crash often happened after selecting a menu item in some application
It would crash about every hour
no recent hardware changes or conflicts; no viruses found;
SOLUTION:
This was apparently a problem with virtual memory / pagefile
I had it set to create pagefile on C:, D: partitions of my only drive
It is recommended to use a separate drive for the pagefile
I disabled paging on C:
Now I'm using D: (same drive as C:) and I: (separate drive) and the problems
are gone
My Computer:Properties:Advanced:Performance Options:Change
PROBLEM:
After upgrading Red Hat 7.2 from existing 7.1 installation,
old kernel 2.4.7 didn't have eth0, lo interfaces configured; compiling new
kernels didn't fix it.
SOLUTION:
(I should have read the release notes before upgrading...)
Apparently, the init scripts changed: ip command is causing the problem from
ipup
You need to recompile kernel with these options:
CONFIG_NETLINK=y
CONFIG_RTNETLINK=y
PROBLEM:
A windows partition is not bootable
This will always be true if you have not installed to that partition with
Windows installer. You may see the error message: "Starting Windows Millenium"
- when the drive doesn't even have WinMe!
SOLUTION:
Use FIXBOOT utility
Boot from win2k install CD: repair mode: console: FIXBOOT: select partition
to fix
This writes a valid boot sector
PROBLEM:
My w2k box was crashing once or twice a day with STOP error:
DRIVER_IRQL_NOT_LESS_OR_EQUAL
.... IdeChnDr.sys
SOLUTION:
Uninstalled screensaver: SereneScreen Aquarium
PROBLEM: Since linux can't write to ntfs filesystem, it can't clone a drive
with ntfs partitions.
SOLUTION: I use FAT32 partition instead and use Win2k instead of Win2kServer.
I haven't needed Win2kServer for anything that linux can't do
better.
PROBLEM: MiniView USB KVM switch seems to have very unpredictable behavior;
USB latency is often very high: after I switch it takes a long time for the OS
to re-enumerate the bus and recognize the keyboard and mouse. Sometimes I need
to switch back and forth several times to get a connection going. Sometimes I
am forced to reboot the computer. The problems only happen in Mac and Linux;
not in Windows 2000.
SOLUTION: Use windows computer for almost everything; Cygwin XFree86 server
gives me access to my linux machine. After porting my address book from InTouch
to Filemaker Pro, I find I don't need the Macintosh for anything anymore. OS X
is uselessly slow and Apple has abandoned the 95% of its users who won't switch
from OS 9.x. It won't be long before Apple is dead.
* copy one partition to backup; excluding external filesystems
mount -t vfat /dev/hdc1 /mnt/hdc1
mount -t vfat /dev/hdd1 /mnt/hdd1
cp -avfx /mnt/hdc1/* /mnt/hda1
* backup linux boot sector: if you use NT boot loader, you'll need this
dd if=/dev/hda bs=512 count=1 of=/boot/linuxboot.bin
Some tools I have written:
http://www.proliberty.com/tools/
None :-)
EOF