Installing Slackware

From BitFolk
Jump to navigation Jump to search

This guide will show you how to get Slackware running on a BitFolk VPS.


Warning Warning: This guide is currently a work in progress. You should not expect it to work or be correct. Please see the discussion page for some areas where it might be improved.


Assumptions

This guide will assume that your BitFolk account name is slacktest1. You'll need to replace any instance of slacktest1 with your own account name.

You will not notice any performance benefits running 64-bit Slackware so we will be installing Slackware-13.37 32-bit with LVM. This guide is based on a VPS with 480MiB of RAM and 10GiB disk; your settings may vary.

The example VPS has an IPv4 address of 85.119.84.12. You'll need to replace any instance of this with your own IPv4 address.

Disk configuration

The default disk setup for a BitFolk VPS is to have an xvda disk using all available disk capacity, and an xvdb disk the same size as the memory, intended for use as swap. We'll go with that setup in this guide. If you want a different disk setup you should take care to use the disks command of the Xen Shell before you boot the rescue environment.

Set up partitions

Since there is currently no support within BitFolk's installer for installing Slackware directly, you will need to perform an install via the rescue environment.

ssh into your Xen Shell

$ ssh slacktest1@slacktest1.console.bitfolk.com

Launch rescue environment

xen-shell v1.48bitfolk20 - type 'help' for help.
xen-shell> rescue
Booting rescue instance: slacktest1
Using config file "/etc/xen/slacktest1.conf".
Started domain slacktest1
                         [    0.000000] Reserving virtual address space above 0xf5800000
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 2.6.32-5-686-bigmem (Debian 2.6.32-41) (ben@decadent.org.uk) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Mon Jan 16 16:42:05 UTC 2012           
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   NSC Geode by NSC
[    0.000000]   Cyrix CyrixInstead
[    0.000000]   Centaur CentaurHauls
[    0.000000]   Transmeta GenuineTMx86
[    0.000000]   Transmeta TransmetaCPU
[    0.000000]   UMC UMC UMC UMC
[    0.000000] ACPI in unprivileged domain disabled
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 00000000000a0000 (usable)
[    0.000000]  Xen: 00000000000a0000 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 000000001e000000 (usable)
[    0.000000] DMI not present or invalid.
[    0.000000] last_pfn = 0x1e000 max_arch_pfn = 0x1000000
[    0.000000] init_memory_mapping: 0000000000000000-000000001e000000
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] RAMDISK: 01629000 - 02ea6000
[    0.000000] 0MB HIGHMEM available.
[    0.000000] 480MB LOWMEM available.
.
.
.
****************************************
Resetting user password to random value:
        New user password: kiefeeYi
****************************************
              
BitFolk Rescue Environment - https://tools.bitfolk.com/wiki/Rescue
              
This virtual machine is running read-only over NFS with a unionfs ramdisk to
allow changes. This means:
              
- anything you write to its filesystem will not survive a reboot
- you only have about half your RAM size as writable space
              
If you need to write more, or you need it to persist past a reboot, you'll need
to use your VPS's storage. Please see:
              
    https://tools.bitfolk.com/wiki/Rescue#Persistence
              
for more information.
              
Your user account is called 'user' and its password has been randomly-generated
(see above). Be careful what you do with it as networking is now active and
sshd is running. The 'user' account has full sudo access.
              
rescue login:

At this point you're at the login prompt of the rescue environment, a Debian-based operating system which runs from RAM and gives you access to your VPS's block devices.

You now need to log in with the randomly-generated credentials provided.

Install necessary software

Since we're going to be using LVM in the VPS, we'll need to install the LVM tools in the rescue environment in order to manage things.

user@rescue:~$ sudo apt-get update
Get:1 http://apt-cacher.lon.bitfolk.com squeeze Release.gpg [1,672 B]
Ign http://apt-cacher.lon.bitfolk.com/debian/ftp.uk.debian.org/debian/ squeeze/contrib Translation-en
Ign http://apt-cacher.lon.bitfolk.com/debian/ftp.uk.debian.org/debian/ squeeze/contrib Translation-en_US
Ign http://apt-cacher.lon.bitfolk.com/debian/ftp.uk.debian.org/debian/ squeeze/main Translation-en
Ign http://apt-cacher.lon.bitfolk.com/debian/ftp.uk.debian.org/debian/ squeeze/main Translation-en_US
Get:2 http://apt-cacher.lon.bitfolk.com squeeze/updates Release.gpg [836 B]
Ign http://apt-cacher.lon.bitfolk.com/debian/security.debian.org/ squeeze/updates/contrib Translation-en
Ign http://apt-cacher.lon.bitfolk.com/debian/security.debian.org/ squeeze/updates/contrib Translation-en_US
Ign http://apt-cacher.lon.bitfolk.com/debian/security.debian.org/ squeeze/updates/main Translation-en
Ign http://apt-cacher.lon.bitfolk.com/debian/security.debian.org/ squeeze/updates/main Translation-en_US
Get:3 http://apt-cacher.lon.bitfolk.com squeeze-updates Release.gpg [836 B]
Ign http://apt-cacher.lon.bitfolk.com/debian/ftp.uk.debian.org/debian/ squeeze-updates/contrib Translation-en
Ign http://apt-cacher.lon.bitfolk.com/debian/ftp.uk.debian.org/debian/ squeeze-updates/contrib Translation-en_US
Ign http://apt-cacher.lon.bitfolk.com/debian/ftp.uk.debian.org/debian/ squeeze-updates/main Translation-en
Ign http://apt-cacher.lon.bitfolk.com/debian/ftp.uk.debian.org/debian/ squeeze-updates/main Translation-en_US
Get:4 http://apt-cacher.lon.bitfolk.com squeeze Release [111 kB]
Get:5 http://apt-cacher.lon.bitfolk.com squeeze/updates Release [86.9 kB]
Get:6 http://apt-cacher.lon.bitfolk.com squeeze-updates Release [113 kB]
Get:7 http://apt-cacher.lon.bitfolk.com squeeze/main i386 Packages [6,568 kB]
Get:8 http://apt-cacher.lon.bitfolk.com squeeze/contrib i386 Packages [54.1 kB]
Get:9 http://apt-cacher.lon.bitfolk.com squeeze/updates/main i386 Packages [252 kB]
Get:10 http://apt-cacher.lon.bitfolk.com squeeze/updates/contrib i386 Packages [674 B]
Hit http://apt-cacher.lon.bitfolk.com squeeze-updates/main i386 Packages/DiffIndex
Get:11 http://apt-cacher.lon.bitfolk.com squeeze-updates/contrib i386 Packages [14 B]
Get:12 http://apt-cacher.lon.bitfolk.com squeeze-updates/main i386 Packages [15.1 kB]
Fetched 7,205 kB in 5s (1,209 kB/s)
Reading package lists... Done
user@rescue:~$ sudo apt-get install lvm2 vim
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libgpm2 libreadline5 vim-runtime
Suggested packages:
  gpm ctags vim-doc vim-scripts
The following NEW packages will be installed:
  libgpm2 libreadline5 lvm2 vim vim-runtime
0 upgraded, 5 newly installed, 0 to remove and 20 not upgraded.
Need to get 7,608 kB of archives.
After this operation, 29.2 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://apt-cacher.lon.bitfolk.com/debian/ftp.uk.debian.org/debian/ squeeze/main libgpm2 i386 1.20.4-3.3 [33.7 kB]
Get:2 http://apt-cacher.lon.bitfolk.com/debian/ftp.uk.debian.org/debian/ squeeze/main libreadline5 i386 5.2-7 [135 kB]
Get:3 http://apt-cacher.lon.bitfolk.com/debian/ftp.uk.debian.org/debian/ squeeze/main lvm2 i386 2.02.66-5 [435 kB]
Get:4 http://apt-cacher.lon.bitfolk.com/debian/ftp.uk.debian.org/debian/ squeeze/main vim-runtime all 2:7.2.445+hg~cb94c42c0e1a-1 [6,207 kB]
Get:5 http://apt-cacher.lon.bitfolk.com/debian/ftp.uk.debian.org/debian/ squeeze/main vim i386 2:7.2.445+hg~cb94c42c0e1a-1 [798 kB]
Fetched 7,608 kB in 1s (7,489 kB/s)
Selecting previously deselected package libgpm2.
(Reading database ... 20955 files and directories currently installed.)
Unpacking libgpm2 (from .../libgpm2_1.20.4-3.3_i386.deb) ...
Selecting previously deselected package libreadline5.
Unpacking libreadline5 (from .../libreadline5_5.2-7_i386.deb) ...
Selecting previously deselected package lvm2.
Unpacking lvm2 (from .../lvm2_2.02.66-5_i386.deb) ...
Selecting previously deselected package vim-runtime.
Unpacking vim-runtime (from .../vim-runtime_2%3a7.2.445+hg~cb94c42c0e1a-1_all.deb) ...
Adding 'diversion of /usr/share/vim/vim72/doc/help.txt to /usr/share/vim/vim72/doc/help.txt.vim-tiny by vim-runtime'
Adding 'diversion of /usr/share/vim/vim72/doc/tags to /usr/share/vim/vim72/doc/tags.vim-tiny by vim-runtime'
Selecting previously deselected package vim.
Unpacking vim (from .../vim_2%3a7.2.445+hg~cb94c42c0e1a-1_i386.deb) ...
Processing triggers for man-db ...
Setting up libgpm2 (1.20.4-3.3) ...
Setting up libreadline5 (5.2-7) ...
Setting up lvm2 (2.02.66-5) ...
Setting up LVM Volume Groups[  471.274425] device-mapper: uevent: version 1.0.3
[  471.275586] device-mapper: ioctl: 4.15.0-ioctl (2009-04-01) initialised: dm-devel@redhat.com
  Reading all physical volumes.  This may take a while...
  No volume groups found
  No volume groups found
  No volume groups found
.
I: update-initramfs is disabled (live system is running on read-only media).
Setting up vim-runtime (2:7.2.445+hg~cb94c42c0e1a-1) ...
Processing /usr/share/vim/addons/doc
Setting up vim (2:7.2.445+hg~cb94c42c0e1a-1) ...
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vim (vim) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vimdiff (vimdiff) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rvim (rvim) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rview (rview) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vi (vi) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/view (view) in auto mode.
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/ex (ex) in auto mode.

Create boot partition

In order to correctly boot a BitFolk VPS, the first partition on the first block device must contain a GRUB menu.lst file. Normally a BitFolk VPS has a single partition across the whole disk, with the root filesystem on it. If intending to do anything more complicated (like LVM) then it is easiest to explicitly create a first partition to use as /boot/. 512MiB should be plenty; it is best to be generous here as it will be difficult to resize this partition later.

user@rescue:~$ sudo fdisk -uc /dev/xvda
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xc438cc0b.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First sector (2048-20971519, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +512M

Create LVM partition

The next partition on xvda will span the rest of the disk and will be the physical volume used for LVM. The partition type will be changed to 8e to mark it as being LVM, though this is optional.

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First sector (1050624-20971519, default 1050624): 
Using default value 1050624
Last sector, +sectors or +size{K,M,G} (1050624-20971519, default 20971519): 
Using default value 20971519

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 8e
Changed system type of partition 2 to 8e (Linux LVM)

Using p to display the partition table should now show something like this:

Disk /dev/xvda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc438cc0b

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1            2048     1050623      524288   83  Linux
/dev/xvda2         1050624    20971519     9960448   8e  Linux LVM

Use w to save the new partition table and exit.

Create swap

user@rescue:~$ sudo fdisk -uc /dev/xvdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel             
Building a new DOS disklabel with disk identifier 0x74b4d79e.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
               
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
               
Command (m for help): n
Command action 
   e   extended
   p   primary partition (1-4)
p              
Partition number (1-4): 1
First sector (2048-983039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-983039, default 983039):
Using default value 983039

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap / Solaris)
               
Command (m for help): w
The partition table has been altered!
               
Calling ioctl() to re-read partition table.
[  421.752602]  xvdb: xvdb1
Syncing disks. 
user@rescue:~$ sudo mkswap -L SWAP /dev/xvdb1
Setting up swapspace version 1, size = 490492 KiB
LABEL=SWAP, UUID=cb2cad51-61e5-44fd-8ea9-4e8b330dc13d

Create a filesystem on the boot partition

BitFolk currently only supports booting from ext2 and ext3 filesystems. We'll go with ext3 and use a filesystem label of boot. We'll also disable time-based fsck as this can severely delay boot up of your VPS when the host node is rebooted.

user@rescue:~$ sudo mkfs.ext3 -Lboot /dev/xvda1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=boot
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
32768 inodes, 131072 blocks
6553 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=134217728
4 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304

Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
user@rescue:~$ sudo tune2fs -i 0 /dev/xvda1
tune2fs 1.41.12 (17-May-2010)
Setting interval between checks to 0 seconds

Create LVM volumes and filesystem

Now we will define the LVM setup and create the volumes and filesystems inside it for the rest of our system. We'll continue to stick with ext3 as a filesystem, though for these filesystems anything that the Linux kernel supports should be fine.

user@rescue:~$ sudo pvcreate /dev/xvda2
  Physical volume "/dev/xvda2" successfully created
user@rescue:~$ sudo vgcreate slackware /dev/xvda2
  Volume group "slackware" successfully created
user@rescue:~$ sudo lvcreate -L5G -n root slackware
  The link /dev/slackware/root should had been created by udev but it was not found. Falling back to direct link creation.
  Logical volume "root" created
user@rescue:~$ sudo lvcreate -L1G -n home slackware
  The link /dev/slackware/home should had been created by udev but it was not found. Falling back to direct link creation.
  Logical volume "home" created
user@rescue:~$ sudo lvcreate -L1G -n var slackware
  The link /dev/slackware/var should had been created by udev but it was not found. Falling back to direct link creation.
  Logical volume "var" created
user@rescue:~$ sudo mkfs.ext3 -L root /dev/slackware/root
mke2fs 1.41.12 (17-May-2010)
Filesystem label=root
OS type: Linux 
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks
39321 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=805306368
24 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912
               
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
               
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
user@rescue:~$ sudo tune2fs -i 0 /dev/slackware/root
tune2fs 1.41.12 (17-May-2010)
Setting interval between checks to 0 seconds
user@rescue:~$ sudo mkfs.ext3 -L home /dev/slackware/home
mke2fs 1.41.12 (17-May-2010)
Filesystem label=home
OS type: Linux 
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups 
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376
               
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
               
This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
user@rescue:~$ sudo tune2fs -i 0 /dev/slackware/home
tune2fs 1.41.12 (17-May-2010)
Setting interval between checks to 0 seconds
user@rescue:~$ sudo mkfs.ext3 -L var /dev/slackware/var
mke2fs 1.41.12 (17-May-2010)
Filesystem label=var
OS type: Linux 
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups 
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376
               
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
               
This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
user@rescue:~$ sudo tune2fs -i 0 /dev/slackware/var
tune2fs 1.41.12 (17-May-2010)
Setting interval between checks to 0 seconds

Mount target filesystems

The filesystems that have just been created must now be mounted inside /mnt so that we can install Slackware onto them

user@rescue:~$ sudo mkdir -vp /mnt/slackware
mkdir: created directory `/mnt/slackware'
user@rescue:~$ sudo mount /dev/slackware/root /mnt/slackware
[ 2322.643729] kjournald starting.  Commit interval 5 seconds
[ 2322.644158] EXT3 FS on dm-0, internal journal
[ 2322.644171] EXT3-fs: mounted filesystem with ordered data mode.
user@rescue:~$ sudo mkdir -vp /mnt/slackware/boot /mnt/slackware/home /mnt/slackware/var
mkdir: created directory `/mnt/slackware/boot'
mkdir: created directory `/mnt/slackware/home'
mkdir: created directory `/mnt/slackware/var'
user@rescue:~$ sudo mount /dev/slackware/home /mnt/slackware/home
[ 2380.543744] kjournald starting.  Commit interval 5 seconds
[ 2380.543950] EXT3 FS on dm-1, internal journal
[ 2380.543961] EXT3-fs: mounted filesystem with ordered data mode.
user@rescue:~$ sudo mount /dev/slackware/var /mnt/slackware/var
[ 2387.182691] kjournald starting.  Commit interval 5 seconds
[ 2387.182836] EXT3 FS on dm-2, internal journal
[ 2387.182846] EXT3-fs: mounted filesystem with ordered data mode.
user@rescue:~$ sudo mount /dev/xvda1 /mnt/slackware/boot
[ 2468.068603] kjournald starting.  Commit interval 5 seconds
[ 2468.068823] EXT3 FS on xvda1, internal journal
[ 2468.068836] EXT3-fs: mounted filesystem with ordered data mode.

Install Slackware

Finally we can get to the part where we download Slackware and install its packages.

Slackware's installpkg expects to find du at /bin/du directly, whereas the (Debian-based) rescue environment has it at /usr/bin/du, so it removes some unnecessary warnings if we symlink this into place first.

user@rescue:~$ sudo apt-get install lftp
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  lftp
0 upgraded, 1 newly installed, 0 to remove and 20 not upgraded.
Need to get 645 kB of archives.
After this operation, 1,720 kB of additional disk space will be used.
Get:1 http://apt-cacher.lon.bitfolk.com/debian/ftp.uk.debian.org/debian/ squeeze/main lftp i386 4.0.6-1 [645 kB]
Fetched 645 kB in 0s (816 kB/s)              
Selecting previously deselected package lftp.
(Reading database ... 22623 files and directories currently installed.)
Unpacking lftp (from .../archives/lftp_4.0.6-1_i386.deb) ...
Processing triggers for man-db ...
Setting up lftp (4.0.6-1) ...
user@rescue:~$ sudo lftp slackware.org.uk
lftp slackware.org.uk:~> mirror /slackware/slackware-14.0/slackware/a /mnt/slackware/tmp/a
Total: 1 directory, 320 files, 0 symlinks                                      
New: 320 files, 0 symlinks
92741083 bytes transferred in 10 seconds (8.78M/s)
lftp slackware.org.uk:~> mirror /slackware/slackware-14.0/slackware/ap /mnt/slackware/tmp/ap
Total: 1 directory, 218 files, 0 symlinks                                      
New: 218 files, 0 symlinks
70537620 bytes transferred in 11 seconds (6.35M/s)
lftp slackware.org.uk:~> mirror /slackware/slackware-14.0/slackware/d /mnt/slackware/tmp/d
Total: 1 directory, 140 files, 0 symlinks                                      
New: 140 files, 0 symlinks
119803850 bytes transferred in 11 seconds (9.96M/s)
lftp slackware.org.uk:~> mirror /slackware/slackware-14.0/slackware/k /mnt/slackware/tmp/k
Total: 1 directory, 140 files, 0 symlinks                                      
New: 140 files, 0 symlinks
119803850 bytes transferred in 11 seconds (9.96M/s)
lftp slackware.org.uk:~> mirror /slackware/slackware-14.0/slackware/l /mnt/slackware/tmp/l
Total: 1 directory, 593 files, 0 symlinks                                      
New: 593 files, 0 symlinks
205878159 bytes transferred in 22 seconds (8.89M/s)
lftp slackware.org.uk:~> mirror /slackware/slackware-14.0/slackware/n /mnt/slackware/tmp/n
Total: 1 directory, 410 files, 0 symlinks                                   
New: 410 files, 0 symlinks
66940245 bytes transferred in 9 seconds (7.50M/s)
lftp slackware.org.uk:/> exit
user@rescue:~$ cd /usr/local/sbin/
user@rescue:/usr/local/sbin$ sudo wget ftp://ftp.slackware.org.uk/slackware/slackware-13.37/source/a/pkgtools/scripts/installpkg
--2012-07-25 03:19:46--  ftp://ftp.slackware.org.uk/slackware/slackware-13.37/source/a/pkgtools/scripts/installpkg
           => “installpkg”
Resolving ftp.slackware.org.uk... 83.170.96.167
Connecting to ftp.slackware.org.uk|83.170.96.167|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /slackware/slackware-13.37/source/a/pkgtools/scripts ... done.
==> SIZE installpkg ... 20490
==> PASV ... done.    ==> RETR installpkg ... done.
Length: 20490 (20K) (unauthoritative)

100%[======================================>] 20,490      --.-K/s   in 0.02s   

2012-07-25 03:19:46 (822 KB/s) - “installpkg” saved [20490]

user@rescue:/usr/local/sbin$ sudo chmod +x ./installpkg
user@rescue:/usr/local/sbin$ sudo ln -s /usr/bin/du /bin/du
user@rescue:/usr/local/sbin$ sudo ./installpkg --root /mnt/slackware/ /mnt/slackware/tmp/*/*.t?z
.
.
[vast amounts of output scrolls by]
.
.

Chroot into Slackware install

You'll now chroot into your Slackware install to finish off the rest of the process.

user@rescue:/usr/local/sbin$ sudo cp -v /etc/resolv.conf /mnt/slackware/etc/
`/etc/resolv.conf' -> `/mnt/slackware/etc/resolv.conf'
user@rescue:/usr/local/sbin$ sudo mount -o bind /proc /mnt/slackware/proc/
user@rescue:/usr/local/sbin$ sudo mount -o bind /dev /mnt/slackware/dev/
user@rescue:/usr/local/sbin$ sudo mount -o bind /sys /mnt/slackware/sys/
user@rescue:/usr/local/sbin$ cd /mnt/slackware
user@rescue:/usr/local/sbin$ sudo chroot .
bash-4.1#


Remove Packages what are not Required

There are a few packages what require X and are not required. This makes the boot process clean.

bash-4.1# removepkg gtk+-1.2.10-i486-5.txz
bash-4.1# removepkg gtk+2-2.24.10-i486-2.txz
bash-4.1# removepkg gtk+3-3.4.4-i486-1.txz
bash-4.1# removepkg pango-1.30.1-i486-1.txz
bash-4.1# removepkg gdk-pixbuf2-2.26.1-i486-2.txz

Configure console

Xen's default console runs on hvc0. You need to make sure that a getty is started on hvc0 otherwise you'll see no login prompt.

You'll also want to add hvc0 to the list of secure terminals, otherwise a root login won't be accepted from your console.

Edit /etc/inittab and comment out the following lines:

c1:12345:respawn:/sbin/agetty 38400 tty1 linux
c2:12345:respawn:/sbin/agetty 38400 tty2 linux
c3:12345:respawn:/sbin/agetty 38400 tty3 linux
c4:12345:respawn:/sbin/agetty 38400 tty4 linux
c5:12345:respawn:/sbin/agetty 38400 tty5 linux
c6:12345:respawn:/sbin/agetty 38400 tty6 linux

Now add a co: beneath them:

co:12345:respawn:/sbin/agetty 38400 hvc0 linux

So this section should end up looking like:

#c1:12345:respawn:/sbin/agetty 38400 tty1 linux
#c2:12345:respawn:/sbin/agetty 38400 tty2 linux
#c3:12345:respawn:/sbin/agetty 38400 tty3 linux
#c4:12345:respawn:/sbin/agetty 38400 tty4 linux
#c5:12345:respawn:/sbin/agetty 38400 tty5 linux
#c6:12345:respawn:/sbin/agetty 38400 tty6 linux
co:12345:respawn:/sbin/agetty 38400 hvc0 linux

Append hvc0 to /etc/securetty:

bash-4.1# echo "hvc0" >> /etc/securetty

sysctl.conf

Add the following to /etc/sysctl.conf

bash-4.1# vim /etc/sysctl.conf
vm.swappiness = 60
vm.lower_zone_protection = 100
vm.vfs_cache_pressure = 200
vm.min_free_kbytes = 65536
vm.zone_reclaim_mode = 0

Compile a custom kernel

You'll need to build a custom kernel that boots under Xen.

bash-4.1# cd /usr/src/linux
bash-4.1# make menuconfig

Make sure these Kernel options are selected:

CONFIG_HIGHMEM64G Processor type and features → High Memory Support (64GB) Needed to enable PAE kernel, which is the only form of 32-bit kernel supported by Xen

CONFIG_XEN Processor type and features → Paravirtualized guest support (NEW) → Xen guest support

CONFIG_KERNEL_GZIP General setup → Kernel compression mode (Gzip) Xen can only boot gzipped kernels, not LZMA.

bash-4.1# make all -j2
bash-4.1# make modules_install -j2
bash-4.1# cp -va arch/x86/boot/bzImage /boot/
bash-4.1# cp -va .config /boot/config
bash-4.1# cp -va System.map /boot/

GRUB

Now it's time to configure the bootloader. You don't need to actually install GRUB, as GRUB is never actually executed. Its configuration file is simply parsed by BitFolk's pygrub.

bash-4.1# mkdir -vp /boot/grub
mkdir: created directory `/boot/grub'
bash-4.1# cd /boot/grub
bash-4.1# cat > menu.lst
default         0
timeout         2
title           Slackware 13.37
root            (hd0,1)
kernel          /bzImage root=/dev/mapper/slackware-root ro
initrd          /initrd.img

Hit Ctrl+d.

Initial ramdisk

Build an initial ramdisk suitable for your setup. vgscan and vgchange are first used to ensure that the LVM environment is correctly set up.

bash-4.1# vgscan --mknodes
  Reading all physical volumes.  This may take a while...
  Found volume group "slackware" using metadata type lvm2
bash-4.1# vgchange -ay
  3 logical volume(s) in volume group "slackware" now active
bash-4.1# mkinitrd -v -k 2.6.37.6 -f ext3 -r /dev/slackware/root -m ehci-hcd:uhci-hcd:jbd2:mbcache:ext3 -L -R -u -o /boot/initrd.img
14838 blocks
/boot/initrd.img created.
Be sure to run lilo again if you use it.

/etc/fstab

The below /etc/fstab is correct for this particular layout and choice of filesystems. If you made other choices you'll need to make alterations.

In most cases relatime reduces access time writes to almost nothing while still allowing access times to be recorded, so is a decent choice unless you know you don't care about access time.

Barriers are disabled because they aren't guaranteed to work anyway down through the many layers virtualised IO will go through.

bash-4.1# cat > /etc/fstab
/dev/xvda1           /boot     ext3    noatime,errors=remount-ro,barrier=0            0  1
/dev/slackware/root  /         ext3    relatime,errors=remount-ro,barrier=0           0  1
/dev/slackware/home  /home     ext3    relatime,errors=remount-ro,barrier=0           0  1
/dev/slackware/var   /var      ext3    relatime,errors=remount-ro,barrier=0           0  1
devpts               /dev/pts  devpts  barrier=0,gid=5,mode=620                       0  0
proc                 /proc     proc    barrier=0,defaults                             0  0
LABEL=SWAP           swap      swap    defaults                                       0  0

Hit Ctrl+d.

Network settings

Basic network settings.

bash-4.1# cat > /etc/rc.d/rc.inet1.conf
# Config information for eth0:
IPADDR[0]="85.119.84.12"
NETMASK[0]="255.255.248.0"
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""

# Config information for eth1:
IPADDR[1]=""
NETMASK[1]=""
USE_DHCP[1]=""
DHCP_HOSTNAME[1]=""

# Config information for eth2:
IPADDR[2]=""
NETMASK[2]=""
USE_DHCP[2]=""
DHCP_HOSTNAME[2]=""

# Config information for eth3:
IPADDR[3]=""
NETMASK[3]=""
USE_DHCP[3]=""
DHCP_HOSTNAME[3]=""

# Default VPS gateway IP address:
GATEWAY="85.119.80.1"

DEBUG_ETH_UP="no"

Hit Ctrl+d.

Root password

Your root password is currently empty. You should set a new one.

bash-4.1# passwd root
Changing password for root
Enter the new password (minimum of 5 characters)
Please use a combination of upper and lower case letters and numbers.
New password: 
Re-enter new password: 
passwd:
password changed.

Exit chroot, shutdown and boot

Time to get out of the chroot and rescue environment and actually boot your Slackware.

bash-4.1# exit
user@rescue:/usr/local/sbin$ sudo halt

Broadcast message from root@rescue (hvc0) (Wed Jul 25 05:02:58 2012):

The system is going down for system halt NOW!
INIT: Switching to runlevel: 0
INIT: user@rescue:/usr/local/sbin$ Sending processes the TERM signal
Using makefile-style concurrent boot in runlevel 0.
Asking all remaining processes to terminate...done.
All processes ended within 2 seconds....done.
Stopping enhanced syslogd: rsyslogd.
Deconfiguring network interfaces...done.
Cleaning up ifupdown....
Deactivating swap...done.
Shutting down LVM Volume Groups  Can't deactivate volume group "slackware" with 3 open logical volume(s)
 failed!
live-boot is resyncing snapshots and caching reboot files...Will now halt.
[ 9400.560708] xenbus_dev_shutdown: device/console/0: Initialising != Connected, skipping
[ 9400.571137] System halted.
xen-shell> boot                                
Booting instance: slacktest1                   
Using config file "/etc/xen/slacktest1.conf".
    pyGRUB  version 0.6                        
 ┌────────────────────────────────────────────────────────────┐
 │ Slackware 13.37                                                        │
 │                                                                        │
 │                                                                        │
 │                                                                        │
 │                                                                        │
 │                                                                        │
 │                                                                        │
 │                                                                        │
 └────────────────────────────────────────────────────────────┘
     Use the ^ and v keys to select which entry is highlighted.
     Press enter to boot the selected OS. 'e' to edit the
     commands before booting, 'a' to modify the kernel arguments
     before booting, or 'c' for a command line.
                                               
                                               
                                               
                                               
     Will boot selected entry in  1 seconds    
                                               
Started domain slacktest1
                         [    0.000000] Reserving virtual address space above 0xf5800000
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 2.6.37.6 (root@rescue) (gcc version 4.5.2 (GCC) ) #1 SMP Wed Jul 25 04:45:59 Local time zone must be set--see zic
[    0.000000] ACPI in unprivileged domain disabled
[    0.000000] released 0 pages of unused memory
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 00000000000a0000 (usable)
[    0.000000]  Xen: 00000000000a0000 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 000000001e800000 (usable)
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI not present or invalid.
[    0.000000] last_pfn = 0x1e800 max_arch_pfn = 0x1000000
[    0.000000] init_memory_mapping: 0000000000000000-000000001e800000
[    0.000000] RAMDISK: 01a41000 - 02181000
[    0.000000] 0MB HIGHMEM available.
[    0.000000] 488MB LOWMEM available.
[    0.000000]   mapped low ram: 0 - 1e800000
[    0.000000]   low ram: 0 - 1e800000
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   Normal   0x00001000 -> 0x0001e800
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[2] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x000000a0
[    0.000000]     0: 0x00000100 -> 0x0001e800
[    0.000000] Using APIC driver default
[    0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs
[    0.000000] Local APIC disabled by BIOS -- you can enable it with "lapic"
[    0.000000] APIC: disable apic facility
[    0.000000] APIC: switched to apic NOOP
[    0.000000] PM: Registered nosave memory: 00000000000a0000 - 0000000000100000
[    0.000000] Allocating PCI resources starting at 1e800000 (gap: 1e800000:e1800000)           
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 3.2-1
[    0.000000] setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:1 nr_node_ids:1             
[    0.000000] PERCPU: Embedded 13 pages/cpu @ddc1e000 s29824 r0 d23424 u53248
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 123840      
[    0.000000] Kernel command line: root=/dev/mapper/slackware-root ro
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Initializing CPU#0
[    0.000000] Initializing HighMem for node 0 (00000000:00000000)
[    0.000000] Memory: 469752k/499712k available (4561k kernel code, 29512k reserved, 2322k data, 416k init, 0k highmem)
[    0.000000] virtual kernel memory layout:
[    0.000000]     fixmap  : 0xf5715000 - 0xf57ff000   ( 936 kB)
[    0.000000]     pkmap   : 0xf5400000 - 0xf5600000   (2048 kB)
[    0.000000]     vmalloc : 0xdf000000 - 0xf53fe000   ( 355 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xde800000   ( 488 MB)
[    0.000000]       .init : 0xc16ba000 - 0xc1722000   ( 416 kB)
[    0.000000]       .data : 0xc14746f2 - 0xc16b91e0   (2322 kB)
[    0.000000]       .text : 0xc1000000 - 0xc14746f2   (4561 kB)
[    0.000000] SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1          
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  RCU-based detection of stalled CPUs is disabled.
[    0.000000] NR_IRQS:2304 nr_irqs:256 16
[    0.000000] Console: colour dummy device 80x25
[    0.000000] console [tty0] enabled
[    0.000000] console [hvc0] enabled
[    0.000000] installing Xen timer for CPU 0
[    0.000000] Detected 1995.000 MHz processor.
[    0.000999] Calibrating delay loop (skipped), value calculated using timer frequency.. 3990.00 BogoMIPS (lpj=1995000)
[    0.000999] pid_max: default: 32768 minimum: 301
[    0.000999] Security Framework initialized
[    0.000999] SELinux:  Initializing.
[    0.000999] Mount-cache hash table entries: 512
[    0.000999] Initializing cgroup subsys ns
[    0.000999] ns_cgroup deprecated: consider using the 'clone_children' flag without the ns_cgroup.
[    0.000999] Initializing cgroup subsys cpuacct
[    0.000999] Initializing cgroup subsys freezer
[    0.000999] CPU: Physical Processor ID: 0
[    0.000999] CPU: Processor Core ID: 1
[    0.000999] Performance Events:
[    0.000999] no APIC, boot with the "lapic" boot parameter to force-enable it.
[    0.000999] no hardware sampling interrupt available.
[    0.000999] Broken PMU hardware detected, software events only.
[    0.001315] SMP alternatives: switching to UP code
[    0.034740] Freeing SMP alternatives: 12k freed
[    0.034881] cpu 0 spinlock event irq 254
[    0.035227] MCE: In-kernel MCE decoding enabled.
[    0.035413] Brought up 1 CPUs
[    0.035645] kworker/u:0 used greatest stack depth: 7140 bytes left
[    0.036029] Grant table initialized
[    0.056017] Time: 165:165:165  Date: 165/165/65
[    0.056131] NET: Registered protocol family 16
[    0.057033] PCI: setting up Xen PCI frontend stub
[    0.069912] bio: create slab <bio-0> at 0
[    0.070142] ACPI: Interpreter disabled.
[    0.070447] xen_balloon: Initialising balloon driver.
[    0.071117] last_pfn = 0x1e800 max_arch_pfn = 0x1000000
[    0.092294] vgaarb: loaded
[    0.092558] SCSI subsystem initialized
[    0.093624] usbcore: registered new interface driver usbfs
[    0.093707] usbcore: registered new interface driver hub
[    0.093895] usbcore: registered new device driver usb
[    0.094442] Advanced Linux Sound Architecture Driver Version 1.0.23.
[    0.094452] PCI: System does not support PCI
[    0.094459] PCI: System does not support PCI
[    0.095139] cfg80211: Calling CRDA to update world regulatory domain
[    0.095546] NetLabel: Initializing
[    0.095554] NetLabel:  domain hash size = 128
[    0.095560] NetLabel:  protocols = UNLABELED CIPSOv4
[    0.095581] NetLabel:  unlabeled traffic allowed by default
[    0.095706] Switching to clocksource xen
[    0.097345] pnp: PnP ACPI: disabled
[    0.103805] NET: Registered protocol family 2
[    0.103891] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.104205] TCP established hash table entries: 16384 (order: 5, 131072 bytes)               
[    0.104291] TCP bind hash table entries: 16384 (order: 5, 131072 bytes)
[    0.104373] TCP: Hash tables configured (established 16384 bind 16384)
[    0.104382] TCP reno registered
[    0.104390] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.104403] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.104562] NET: Registered protocol family 1
[    0.104708] RPC: Registered udp transport module.
[    0.104717] RPC: Registered tcp transport module.
[    0.104724] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.192160] Trying to unpack rootfs image as initramfs...
[    0.214978] Freeing initrd memory: 7424k freed
[    0.220976] platform rtc_cmos: registered platform RTC device (no PNP device found)          
[    0.222324] microcode: microcode: CPU0: AMD CPU family 0xf not supported
[    0.222607] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[    0.223215] audit: initializing netlink socket (disabled)
[    0.223499] type=2000 audit(1345706442.130:1): initialized
[    0.241812] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    0.247137] kworker/u:0 used greatest stack depth: 6792 bytes left
[    0.247901] VFS: Disk quotas dquot_6.5.2
[    0.248361] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.250145] msgmni has been set to 932
[    0.251195] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)             
[    0.251313] io scheduler noop registered
[    0.251320] io scheduler deadline registered
[    0.251411] io scheduler cfq registered (default)
[    0.251747] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    0.253486] Event-channel device installed.
[    0.254521] Non-volatile memory driver v1.3
[    0.254538] Linux agpgart interface v0.103
[    0.254739] [drm] Initialized drm 1.1.0 20060810
[    0.254750] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.258615] brd: module loaded
[    0.260185] loop: module loaded
[    0.421696] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
[    0.421713] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    0.421785] e1000e: Intel(R) PRO/1000 Network Driver - 1.2.7-k2
[    0.421794] e1000e: Copyright (c) 1999 - 2010 Intel Corporation.
[    0.421926] e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
[    0.421935] e100: Copyright(c) 1999-2006 Intel Corporation
[    0.422398] sky2: driver version 1.28
[    0.422537] Initialising Xen virtual ethernet driver.
[    0.463366] blkfront: xvda: barriers disabled
[    0.483589] console [netcon0] enabled
[    0.483602] netconsole: network logging started
[    0.483855] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.483941] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.484030] uhci_hcd: USB Universal Host Controller Interface driver
[    0.484196] usbcore: registered new interface driver usblp
[    0.484205] Initializing USB Mass Storage driver...
[    0.484275] usbcore: registered new interface driver usb-storage
[    0.484284] USB Mass Storage support registered.
[    0.484355] usbcore: registered new interface driver libusual
[    0.484590] PNP: No PS/2 controller found. Probing ports directly.
[    0.485451] i8042.c: No controller found.
[    0.485536] mice: PS/2 mouse device common for all mice
[    0.485873] rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0
[    0.485969] rtc_cmos: probe of rtc_cmos failed with error -38
[    0.486540] device-mapper: ioctl: 4.18.0-ioctl (2010-06-29) initialised: dm-devel@redhat.com 
[    0.486691] cpuidle: using governor ladder
[    0.486700] cpuidle: using governor menu
[    0.488215] usbcore: registered new interface driver usbhid
[    0.488225] usbhid: USB HID core driver
[    0.490425] ALSA device list:
[    0.490439]   No soundcards found.
[    0.490504] Netfilter messages via NETLINK v0.30.
[    0.490534] nf_conntrack version 0.5.0 (7456 buckets, 29824 max)
[    0.490814] ctnetlink v0.93: registering with nfnetlink.
[    0.491535] ip_tables: (C) 2000-2006 Netfilter Core Team
[    0.491587] TCP cubic registered
[    0.491593] Initializing XFRM netlink socket
[    0.492051] NET: Registered protocol family 10
[    0.493265] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    0.493340] IPv6 over IPv4 tunneling driver
[    0.494303] NET: Registered protocol family 17
[    0.494331] Registering the dns_resolver key type
[    0.494364] Using IPI No-Shortcut mode
[    0.494626] registered taskstats version 1
[    0.502086]  xvda: xvda1 xvda2
[    0.502645] Setting capacity to 20971520
[    0.502656] xvda: detected capacity change from 0 to 10737418240
[    0.503584] blkfront: xvdb: barriers disabled
[    0.541454]  xvdb: xvdb1
[    0.542073] Setting capacity to 983040
[    0.542086] xvdb: detected capacity change from 0 to 503316480
[    0.694066] XENBUS: Device with no driver: device/console/0
[    0.694129]   Magic number: 1:252:3141
[    0.694347] Freeing unused kernel memory: 416k freed
[    0.696849] Write protecting the kernel text: 4564k
[    0.697773] Write protecting the kernel read-only data: 1800k
[    0.700747] cat used greatest stack depth: 6544 bytes left
/boot/initrd.img:  Loading kernel modules from initrd image:
[    1.744393] udevd used greatest stack depth: 6460 bytes left
[    1.895087] blkid used greatest stack depth: 6412 bytes left
[    1.904268] blkid used greatest stack depth: 6372 bytes left
[    1.905598] blkid used greatest stack depth: 6268 bytes left
mdadm: No arrays found in config file or automatically
  3 logical volume(s) in volume group "slackware" now active
[    2.697875] EXT3-fs (dm-0): recovery required on readonly filesystem
[    2.697896] EXT3-fs (dm-0): write access will be enabled during recovery
[    2.708699] EXT3-fs: barriers not enabled
[    2.744019] kjournald starting.  Commit interval 5 seconds
[    2.744077] EXT3-fs (dm-0): recovery complete
[    2.847461] EXT3-fs (dm-0): mounted filesystem with writeback data mode
[    3.122038] udevd used greatest stack depth: 5968 bytes left
/boot/initrd.img:  exiting
INIT: version 2.86 booting
Triggering udev events:  /sbin/udevadm trigger --action=add
Initializing LVM (Logical Volume Manager):
  Reading all physical volumes.  This may take a while...
  Found volume group "slackware" using metadata type lvm2
  File-based locking initialisation failed.
  3 logical volume(s) in volume group "slackware" now active
[    8.305225] Adding 490492k swap on /dev/xvdb1.  Priority:-1 extents:1 across:490492k SS      
Loading fuse module failed!
grep: /etc/hardwareclock: No such file or directory
Setting system time from the hardware clock (localtime).
Testing root filesystem status:  read-only filesystem
Checking root filesystem:
fsck from util-linux 2.19
root: clean, 202121/327680 files, 1078783/1310720 blocks
Remounting root device with read-write enabled.
[    9.293477] EXT3-fs (dm-0): using internal journal
/dev/mapper/slackware-root on / type ext3 (rw,relatime,errors=remount-ro,barrier=0)             
Running /etc/rc.d/rc.modules-2.6.37.6:
Module dependencies up to date (no new kernel modules found).
Checking non-root filesystems:
fsck from util-linux 2.19
boot: recovering journal
boot has been mounted 38 times without being checked, check forced.
boot: 619/32768 files (1.3% non-contiguous), 16723/131072 blocks
home: recovering journal
home: clean, 13/65536 files, 12647/262144 blocks
var: recovering journal
var: clean, 2236/65536 files, 18595/262144 blocks
Mounting non-root local filesystems:
[   14.196906] udevd used greatest stack depth: 5888 bytes left
[   14.248420] EXT3-fs: barriers not enabled
[   14.248927] kjournald starting.  Commit interval 5 seconds
[   14.249301] EXT3-fs (xvda1): using internal journal
[   14.249315] EXT3-fs (xvda1): mounted filesystem with writeback data mode
/dev/xvda1 on /boot type ext3 (rw,noatime,errors=remount-ro,barrier=0)
[   14.252532] EXT3-fs: barriers not enabled
[   14.252977] kjournald starting.  Commit interval 5 seconds
[   14.253164] EXT3-fs (dm-1): using internal journal
[   14.253178] EXT3-fs (dm-1): mounted filesystem with writeback data mode
/dev/mapper/slackware-home on /home type ext3 (rw,relatime,errors=remount-ro,barrier=0,usrquota)
[   14.255767] EXT3-fs: barriers not enabled
[   14.256171] kjournald starting.  Commit interval 5 seconds
[   14.256340] EXT3-fs (dm-2): using internal journal
[   14.256352] EXT3-fs (dm-2): mounted filesystem with writeback data mode
/dev/mapper/slackware-var on /var type ext3 (rw,relatime,errors=remount-ro,barrier=0)           
Using /etc/random-seed to initialize /dev/urandom.
INIT: Entering runlevel: 3
Going multiuser...
Updating shared library links:  /sbin/ldconfig &
cannot (un)set powersave mode
Starting sysklogd daemons:  /usr/sbin/syslogd /usr/sbin/klogd -c 3 -x
Updating X font indexes:  /usr/bin/fc-cache -f &
Triggering udev events:  /sbin/udevadm trigger --type=failed
Starting Internet super-server daemon:  /usr/sbin/inetd
Starting OpenSSH SSH daemon:  /usr/sbin/sshd
Updating MIME database:  /usr/bin/update-mime-database /usr/share/mime &
Starting system message bus:  /usr/bin/dbus-uuidgen --ensure ; /usr/bin/dbus-daemon --system    
Starting ConsoleKit daemon:  /usr/sbin/console-kit-daemon
Starting HAL daemon:  /usr/sbin/hald --daemon=yes
Updating gtk.immodules for i486-slackware-linux:
  /usr/bin/gtk-query-immodules-2.0-32 \
  > /etc/gtk-2.0/i486-slackware-linux/gtk.immodules
Updating gdk-pixbuf.loaders for i686-slackware-linux:
  /usr/bin/gdk-pixbuf-query-loaders-32 --update-cache
Updating pango.modules for i486-slackware-linux:
  /usr/bin/pango-querymodules-32 \
  > /etc/pango/i486-slackware-linux/pango.modules
Checking filesystem quotas:  /sbin/quotacheck -avugm
quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.
quotacheck: Scanning /dev/mapper/slackware-home [/home] done
quotacheck: Old group file not found. Usage will not be substracted.
quotacheck: Checked 4 directories and 3 files
Activating filesystem quotas:  /sbin/quotaon -avug
/dev/mapper/slackware-home [/home]: user quotas turned on
Setting default ALSA mixer settings.
amixer: Mixer attach default error: No such file or directory
Storing default ALSA mixer settings:  /usr/sbin/alsactl store
/usr/sbin/alsactl: save_state:1519: No soundcards found...
                
                
Welcome to Linux 2.6.37.6 (hvc0)
                
darkstar login:

Success!