Win4Lin 9x setup

From ArchWiki

Jump to: navigation, search

WARNING!!! DON'T USE THIS PAGE until fixed. The suggested PKGBUILD causes permission error in all user accounts. Still not sure the cause, could be rpm source.

Posted by Rasat (6-Aug-2006) rasat@user-contributions.org


i18n
English
简体中文

Contents

Installing Win4Lin 9x

Patch Your kernel

As root, install ABS supporting tools:

pacman -Sy cvsup wget

Synchronize ABS:

abs

Copy kernel source to local ABS directory (replace 'kernel26' with your choice:

mkdir /var/abs/local/kernel_win4lin_9x
cp /var/abs/kernels/kernel26/* /var/abs/local/kernel_win4lin_9x/


Download the latest kernel patches from Win4Lin http://www.netraverse.com/member/downloads/kernel_patch.php. You will need both the Kernel-Win4Lin3*.patch and the mki-adapter*.patch files and add them to your local ABS kernel folder:

cp ~jane/Kernel-Win4Lin3-2.6.11.5.patch /var/abs/local/kernelwin4lin9x/
cp ~jane/mki-adapter261312.patch /var/abs/local/kernelwin4lin_9x/

Edit the config file, adding the following lines:

#
# Win4Lin 9x Support
#
CONFIG_MKI=y

The 'config' patch would normally would go just above the following section (FWIW):

#
# Power management options (ACPI, APM)
#
CONFIG_PM=y

Checksum new files:

# cd /var/abs/local/kernel_win4lin_9x/
# md5sum Kernel-Win4Lin3-2.6.11.5.patch
fee906c24d7bccc2fd1f92713aaed11e  Kernel-Win4Lin3-2.6.11.5.patch
# md5sum mki-adapter26_1_3_12.patch
e141eacb634a18eb5391932ff6737f0d  mki-adapter26_1_3_12.patch
# md5sum config
d905adbc16803ca8fec290f90a134dc9  config

Edit the PKGBUILD file, adding the following lines:

source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.5.tar.bz2 \
  config logo_linux_clut224.ppm \
  #http://www.acm.rpi.edu/~dilinger/patches/2.6.10/as2/patch-2.6.10-as2.gz \
  http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/release/2.6.11/acpi-20050228-2.6.11.diff.bz2 \
  http://ck.kolivas.org/patches/2.6/2.6.11/2.6.11-ck1/patches/nvidia_6111-6629_compat2.diff \
  http://gaugusch.at/acpi-dsdt-initrd-patches/acpi-dsdt-initrd-patch-v0.7d-2.6.9.patch \
  Kernel-Win4Lin3-2.6.11.5.patch mki-adapter26_1_3_12.patch) 

md5sums=('94af162c2c5c264344f279c6946c4f59' 'd905adbc16803ca8fec290f90a134dc9'\ 
         '5a62bcc7e96601052c7405459b483826' '627ebe9d46c2b34a7b6783fae99c59de'\
         '82488604906bbba37a412c78d7b5c5f0' '977bc6069e122e5f07b0311e094b5733'\
         'fee906c24d7bccc2fd1f92713aaed11e' 'e141eacb634a18eb5391932ff6737f0d') 

build() {
  cd $startdir/src/linux-2.6.11.5
  patch -Np1 -i ../acpi-20050228-2.6.11.diff ||| return 1
  patch -Np1 -i ../nvidia_6111-6629_compat2.diff ||| return 1
  patch -Np1 -i ../acpi-dsdt-initrd-patch-v0.7d-2.6.9.patch ||| return 1
  #patch -Np1 -i ../patch-$pkgver-as2 ||| return 1
  patch -Np1 -i ../Kernel-Win4Lin*.patch ||| return 1
  patch -Np1 -i ../mki-adapter*.patch ||| return 1
}

Create patched kernel package (this can take more than an hour):

makepkg

Update kernel package:

pacman -Up kernel26-2.6.11.3-1.pkg.tar.gz

Reboot using you new, patched kernel. If you upgrade or downgrade the kernel, at the same time as you install the Win4Lin patches, be sure to make the appropriate changes for grub or lilo.

Install Win4Lin 9x

As root, create an ABS folder for Win4Lin 9X and create a package build file:

mkdir /var/abs/local/win4lin
cat > /var/abs/local/win4lin/PKGBUILD

Copy the latest Win4Lin RPM file from http://www.win4lin.com/component/option,com_remository/Itemid,76/func,select/id,2/
move it into your ABS folder and check the checksum:

 mv ~joe/Win4Lin.5.5.20e-d.i386.rpm /var/abs/local/win4lin/
 md5sum /var/abs/local/win4lin/Win4Lin.5.5.20e-d.i386.rpm 

Ensure the checksum referenced in the PKGBUILD file is correct.
md5sum: 443ca25bd4dc7cd79903c33c8c0c4b2f Win4Lin-5.5.20e-d.i386.rpm

Copy the following and paste it into your terminal window (and close 'cat' with Ctrl-D):

pkgname=Win4Lin
pkgver=5.5.20e
pkgrel=1
pkgdesc="Win4Lin 9x"
url="http://www.win4lin.com/"
depends=( 'glibc')
makedepends=('rpmunpack' 'cpio')
# Requires account login:
#http://www.win4lin.com/component/option,com_remository/Itemid,76/func,fileinfo/id,77/$pkgname-$pkgver-d.i386.rpm
#source=($pkgname-$pkgver-d.i386.rpm)
#md5sums=('443ca25bd4dc7cd79903c33c8c0c4b2f')

build() {
  cd $startdir/src
  mkdir $pkgname-$pkgver-d
  cd $startdir
  cp $pkgname-$pkgver-d.i386.rpm src/$pkgname-$pkgver-d
  cd $startdir/src/$pkgname-$pkgver-d
  rpmunpack $pkgname-$pkgver-d.i386.rpm
  gzip -d $pkgname-$pkgver-d.cpio.gz
  cpio -ivd < $pkgname-$pkgver-d.cpio
  rm -f Win4Lin-5.5.20e-d.cpio.gz Win4Lin-5.5.20e-d.cpio Win4Lin-5.5.20e-d.i386.rpm
  chown -R root.root $startdir/src/$pkgname-$pkgver-d/
  cp -R $startdir/src/$pkgname-$pkgver-d/{etc,opt} $startdir/pkg/ || return 1
}

Build and install the package:

cd /var/abs/local/win4lin
makepkg
pacman -A Win4Lin-5.5.20e-1.pkg.tar.gz

Run the post-RPM installation script and start Win4Lin:

/opt/win4lin/postinst_rpm.sh
/etc/rc.d/init.d/Win4Lin start

Add the following line to your /etc/rc.local file: /etc/rc.d/init.d/Win4Lin start

Install Windows 98/98 SE

As root, install the Windows files:

loadwindowsCD

As a non-root user, install Windows:

win4linadmin

Be sure to read all Win4Lin documentation before installing Windows.

Personal tools