Alon Bar-Lev - 2004-11-11

Hi!

After some work, I have summerized the procedure.

Best Regards,
Alon Bar-Lev.

----------------------

Extract vmlinux-modules.tar.gz which comes with coLinux into temporary location.
Make ISO CD image from the extracted files AND the original file image name should be vmlinux-modules.iso.

Create 2G file name it slackware_2GB_root

Extract from CD1 ISO:
/isolinux/initrd.img into initrd.gz at slackware location.

Run:
gzip -d initrd.gz
chmod -r initrd

Use the slackware-iso-boot-1.xml configuration file to boot from.

After boot:
# cd /dev
# mknod cobd0 b 117 0
# mknod cobd1 b 117 1
# mknod cobd2 b 117 2
# mknod cobd3 b 117 3
# mknod cobd4 b 117 4

# mkdir /mnt2
# mount /dev/cobd4 /mnt2
# ln -s /mnt2/lib/modules/2.4.26-co-0.6.1 /lib/modules/2.4.26-co-0.6.1

Modify the following files:
/usr/lib/setup/setup
    Find "NO LINUX PARTITION DETECTED"
    Comment all if block
    Plase the following before the block:
    echo /dev/cobd0 > $TMP/SeTplist
   
/usr/lib/setup/INShd
    Find "for type in ext3 ext2 vfat"
    Add iso9660

Run setup

Select /dev/cobd0 as target.
Select hard disk partition as source, device: /dev/cobd3, directory /slackware.

Use the slackware-iso-boot-2.xml configuration file to boot from.

After boot:
# cd /dev
# mknod cobd0 b 117 0
# mknod cobd1 b 117 1
# mknod cobd2 b 117 2
# mknod cobd3 b 117 3
# mknod cobd4 b 117 4

# cd /
# mount /dev/cobd4 /mnt
# tar -zxvf /mnt/vmlinux-modules.tar.gz
# umount /mnt

Use the slackware.xml configuration file to boot from.

slackware-iso-boot-1.xml
------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<colinux>
    <!-- This line needs to point to your root file system.
       For example change "root_fs" to the name of the Debian image.
         Inside coLinux it will be /dev/cobd0 -->
    <block_device index="0" path="\DosDevices\C:\VMs\Slackware.10\slackware_2GB_root"
    enabled="true" />
    <block_device index="2" path="\DosDevices\C:\VMs\Slackware.10\initrd"
    enabled="true" />
    <block_device index="3" path="\DosDevices\C:\VMs\Slackware.10\slackware-10.0-install-d1.iso"
    enabled="true" />
    <block_device index="4" path="\DosDevices\C:\VMs\Slackware.10\vmlinux-modules.iso"
    enabled="true" />

    <!-- This line can specify a swap file if you wish, or an additional
         image file, it will /dev/cobd1. Additional block_devices can
     be specified in the same manner by increasing the index -->
    
    <block_device index="1" path="\DosDevices\c:\coLinux\swap_device"
    enabled="false" />

    <!-- bootparams allows you to pass kernel boot parameters -->
    <bootparams>ro root=/dev/cobd2</bootparams>

    <!-- image allows you to specify the kernel to boot -->
    <image path="c:\Program Files\coLinux\vmlinux" />
    <initrd path="\DosDevices\C:\VMs\Slackware.10\initrd" />

    <!-- this line allows you to specify the amount of memory available
         to coLinux -->
    <memory size="64" />

    <!-- This allows you to modify networking parameters, see the README
         or website for more information -->
    <network index="0" type="tap" name="coLinux"/>
</colinux>

slackware-iso-boot-2.xml
-----------------------------
<?xml version="1.0" encoding="UTF-8"?>
<colinux>
    <!-- This line needs to point to your root file system.
       For example change "root_fs" to the name of the Debian image.
         Inside coLinux it will be /dev/cobd0 -->
    <block_device index="0" path="\DosDevices\C:\VMs\Slackware.10\slackware_2GB_root"
    enabled="true" />
    <block_device index="3" path="\DosDevices\C:\VMs\Slackware.10\slackware-10.0-install-d1.iso"
    enabled="true" />
    <block_device index="4" path="\DosDevices\C:\VMs\Slackware.10\vmlinux-modules.iso"
    enabled="true" />

    <!-- This line can specify a swap file if you wish, or an additional
         image file, it will /dev/cobd1. Additional block_devices can
     be specified in the same manner by increasing the index -->
    
    <block_device index="1" path="\DosDevices\c:\coLinux\swap_device"
    enabled="false" />

    <!-- bootparams allows you to pass kernel boot parameters -->
    <bootparams>ro root=/dev/cobd0</bootparams>

    <!-- image allows you to specify the kernel to boot -->
    <image path="c:\Program Files\coLinux\vmlinux" />

    <!-- this line allows you to specify the amount of memory available
         to coLinux -->
    <memory size="64" />

    <!-- This allows you to modify networking parameters, see the README
         or website for more information -->
    <network index="0" type="tap" name="coLinux"/>
</colinux>

slackware.xml
---------------------
<?xml version="1.0" encoding="UTF-8"?>
<colinux>
    <!-- This line needs to point to your root file system.
       For example change "root_fs" to the name of the Debian image.
         Inside coLinux it will be /dev/cobd0 -->
    <block_device index="0" path="\DosDevices\C:\VMs\Slackware.10\slackware_2GB_root"
    enabled="true" />

    <!-- This line can specify a swap file if you wish, or an additional
         image file, it will /dev/cobd1. Additional block_devices can
     be specified in the same manner by increasing the index -->
    
    <block_device index="1" path="\DosDevices\c:\coLinux\swap_device"
    enabled="false" />

    <!-- bootparams allows you to pass kernel boot parameters -->
    <bootparams>ro root=/dev/cobd0</bootparams>

    <!-- image allows you to specify the kernel to boot -->
    <image path="c:\Program Files\coLinux\vmlinux" />

    <!-- this line allows you to specify the amount of memory available
         to coLinux -->
    <memory size="64" />

    <!-- This allows you to modify networking parameters, see the README
         or website for more information -->
    <network index="0" type="tap" name="coLinux"/>
    <network index="1" type="bridged" name="Intel(R) PRO/100 VE"/>
</colinux>