Tuesday, June 14, 2011

Booting BackTrack 5 GNOME Live from HDD

Objective: Booting a BT5 Gnome live session directly from HDD with GRUB2

Problem: iso-scan/filename from lupin-casper scripts for casper are missing from the BT5 Gnome iso image.

Additionals: ORDER.sh

Walkthrough:
1 - Extract /casper/initrd.gz from the BT5.iso to a child folder.

2 - Since it's a .gz compressed file. We will use @1 script, it assumes that initrd.gz file is in the parent folder and you are in a child folder.
@1 $zcat ../initrd.gz | cpio -i -d
@2 $lzma -dc -S .lz ../initrd.lz | cpio -imvd --no-absolute-filenames

3 - Extract & merge /lupin/casper/scripts/ folder from lupin-casper files with the child folder.
(https://launchpad.net/ubuntu/+archive/primary/+files/lupin_0.32.tar.gz)

4 - Use [ORDER.sh] script with ./ORDER.sh inside the /scripts/ folder of the child folder.
### Begin file [ORDER.sh]
MainDIR=$(find . -type d)
for childDir in $MainDIR
do
echo $childDir
rm $childDir/ORDER > /dev/null 2>&1
childDirFiles=$(find $childDir -type f | sort -u)
for scripts in $childDirFiles
do
echo "/scripts/"`basename $childDir`"/"`basename $scripts` >> $childDir/ORDER
echo "[ -e /conf/param.conf ] && . /conf/param.conf" >> $childDir/ORDER
done
done
### End of file [ORDER.sh]
4.1 - This file recreate the ORDER file inside the scripts folders to add the lupin-casper scripts.

5 - Inside the child folder execute @3 to create the new initrdiso.gz in the parent folder.
@3 $find . | cpio -o -H newc | gzip -9 > ../initrdiso.gz

6 - Editing /boot/grub/grub.cfg [not recommended :3]
### Begin grub.cfg
menuentry "BackTrack 5 - GNOME" {
loopback loop (hd0,2)/home/galtzer/BT5-GNOME-64.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/home/galtzer/BT5-GNOME-64.iso text
initrd (hd0,2)/home/galtzer/Desktop/initrdiso.gz
##initrd (loop)/casper/initrd.gz
}
### End of file

No comments:

Post a Comment