Welcome to the Tiny Core Linux Wiki at tinycorelinux.net!

Putting tce on an existing RAID or LVM

Starting with V 4.1 you can have your tce directory on a RAID or an LVM. To accomplish this, we need to be able to load RAID or LVM drivers before tc-config scans for the tce directory.

The bootcode pretce=dev/dir will allow us to preload a set of extensions. This bootcode does not have a default directory name. If you omit the /dir portion, tc/mc will look for onboot.lst and optional/ in the partition's root directory.

The following steps assume that the boot partition is /dev/sda1, the directory to use is /pre and that the logical volume we will be using is dm-0. This has also been tested with md126 RAID 1 device. It is based on my CentOS 5 installation that boots off /dev/sda1 and has 2 logical volumes ( root and swap ).

Initial Setup

We need to know the boot partition and directory where we are going to store the LVM extensions. Here we are going to be booting out of /dev/sda1 and loading the lvm2 extensions out of /mnt/sda1/pre:

  • Boot with the options: tce=sda1/pre.
  • Run tce-load -iw mdadm.
  • Run tce-load -iw lvm2.
  • Run vgchange -ay.
  • Identify the RAID volume or LVM name in /mnt that contains the filesystem you want to contain the tce directory. Mine is dm-0 or md126.
  • Reboot.

Create mdadm-boot.tcz

Starting with dCore and Core 5.1 mdadm-boot.sce is no longer needed. Instead, you can put the line mdadm -A –scan ; sleep 2 into an executable shell script named onpre.sh in the pretce directory. The shell script onpre.sh is run after all the pretce packages are loaded.

We need an extension that activates the RAID volumes. The following script will create it.

#!/bin/sh
WORK=work-mdadm-boot
DIR=$WORK/usr/local/tce.installed
PKG=mdadm-boot
FILE=$PKG.tcz
cd /tmp
rm -rf $WORK $FILE
mkdir -p $DIR
echo -e "#!/bin/sh\n/usr/local/sbin/mdadm -A --scan ; sleep 1" > $DIR/$PKG
chmod -R 775 $WORK
chown -R root:staff $WORK
mksquashfs $WORK/ $FILE
  • Run tce-load -iw squashfs-tools.
  • Run mount /mnt/sda1.
  • Save the above script to /tmp/mkmdadm-boot.
  • Run cd /tmp.
  • Run sh mkmdadm-boot.
  • Mv mdadm-boot.tcz to /mnt/sda1/pre/optional/.
  • Add the line mdadm-boot.tcz to the end of /mnt/sda1/pre/onboot.lst.
  • If you do not want the pretce device to remain mounted, be sure to add the copy2fs.flg file to the pretce directory.

Create lvm2-boot.tcz

Starting with dCore and core 5.1 lvm2-boot.sce is no longer needed. Instead, you can put the line vgchange -ay ; sleep 2 into an executable shell script named onpre.sh in the pretce directory. The shell script onpre.sh is run after all the pretce packages are loaded.

We need an extension that activates the lvm2 volumes. The following script will create it.

#!/bin/sh
WORK=work-lvm2-boot
DIR=$WORK/usr/local/tce.installed
PKG=lvm2-boot
FILE=$PKG.tcz
cd /tmp
rm -rf $WORK $FILE
mkdir -p $DIR
echo -e "#!/bin/sh\nsleep 1\n/usr/local/sbin/vgchange -ay\nsleep 1" > $DIR/$PKG
chmod -R 775 $WORK
chown -R root:staff $WORK
mksquashfs $WORK/ $FILE
  • Run tce-load -iw squashfs-tools.
  • Run mount /mnt/sda1.
  • Save the above script to /tmp/mklvm2-boot.
  • Run cd /tmp.
  • Run sh mklvm2-boot.
  • Mv lvm2-boot.tcz to /mnt/sda1/pre/optional/.
  • Add the line lvm2-boot.tcz to the end of /mnt/sda1/pre/onboot.lst.
  • If you do not want the pretce device to remain mounted, be sure to add the copy2fs.flg file to the pretce directory.

Boot Entry

I am not going to instruct you here on how to add a boot entry to your boot loader config file. You need to be able to boot tc/mc from your hard drive before you can add additional boot options. The format of this entry will depend on the bootloader you are currently using.

For RAID, add the boot options pretce=sda1/pre tce=md126.

For LVM, add the boot options pretce=sda1/pre tce=dm-0.

Reboot and verify that /opt/.tce_dir contains /mnt/md126/tce, or /mnt/dm-0/tce , or whatever is correct for your machine.

Print/export
QR Code
QR Code wiki:pretce (generated for current page)