Hi everyone.

First of all, congratulations to BT team, amzing distro.

This How-to is for install BT5 ARM in your Samsung Galaxy S(SGS - Captivate), but could be work in many other devices.

Prerequisites for your SGS

1. A new microSD, 8 GB or more. We need to format it.
2. Root, I recommend z4root only for samsung galaxy s
3. Busybox, (if you install titanium backup you get busybox)
4. Terminal Emulator for your Android(I recommend ConnectBot)
5. VNC client


1. First we need to get device file used to mount the microSD.
Insert your microSD in your SGS, and using ConnectBot, connect to your SGS.
The Android system automatically mount the microSD
Now we need to check what file device is used.
Search what device file is used to mount the microSD card, this could be variable from your ROM. I am using Cognition 3.03

With my SGS I got:

Using your PC
Now use a PC with Linux
2. Insert your microSD into PC with Linux
I am using a usb-microSD adapter so my microSD device is /dev/sdb1

3. Format microSD with ext2 filesystem
Format your microSD with ext2 filesystem

mkfs.ext2 /dev/sdb1

4. Mount microSD
mkdir /mnt/sdb1
mount -t ext2 /dev/sdb1 /mnt/sdb1
5. Create BT5 directory and uncompres 7z

mkdir /mnt/sdb1/BT5
cp bt5-arm.7z /mnt/sdb1/BT5
cd /mnt/sdb1/BT5
7z e bt5-arm.7z
6. Uncompress IMG
gunzip bt5.img.gz
7. Modify bootbt
Now we need to modify bootbt file
Modify line 6 to: export kit=/data/local/sdcard/BT5

If you get a message about some loop device you need to modified line 18: busybox mount -o loop,noatime -t ext2 $kit/bt5.img $mnt

perm=$(id|cut -b 5)

if [ "$perm" != "0" ];then echo "This Script Needs Root! Type : su";exit;fi

mount -o remount,rw /dev/block/mmcblk0p5 /system
export kit=/data/local/sdcard/BT5
export bin=/system/bin
export mnt=/data/local/mnt
mkdir -p $mnt
export PATH=$bin:/usr/bin:/usr/local/bin:/usr/sbin:/bin:/usr/local/sbin:/usr/games:$PATH
export TERM=linux
export HOME=/root
if [ -b /dev/loop2 ]; then
        echo "Loop device exists"
        busybox mknod /dev/loop2 b 7 0
#busybox mount -o loop,noatime -t ext2 $kit/bt5.img $mnt
mount -o loop,noatime -t ext2 $kit/bt5.img $mnt
mount -t devpts devpts $mnt/dev/pts
mount -t proc proc $mnt/proc
mount -t sysfs sysfs $mnt/sys
busybox sysctl -w net.ipv4.ip_forward=1
echo "nameserver" > $mnt/etc/resolv.conf
echo " localhost bt5" > $mnt/etc/hosts
busybox chroot $mnt /bin/bash

echo "Shutting down BackTrack ARM For Xoom"
umount $mnt/dev/pts
umount $mnt/proc
umount $mnt/sys
umount $mnt

Using your Samsung Galaxy S (Captivate)

8. Insert your microSD into SGS
Because the microSD is with ext2, SGS does not detect correctly the microSD

9. Mount your microSD in /data/local/sdcard (mkdir the directory)
Now we need to mount our microSD using the step 1

mkdir /data/local/sdcard
mount -t ext2 /dev/block/vold/179:9 /data/local/sdcard

10. Change to the microSD directory

cd /data/local/sdcard/BT5

11. Boot BackTrack

sh bootbt
If you get something like:
root@localhost / #
you have your BackTrack working. Congratulations

Now the GUI
12. Modify startvnc geometry to 800x480, because this is the resolution of SGS
Once you modify /usr/bin/startvnc , tha content is the next
rm -rf /tmp/.X1*
vncserver -geometry 800x480
13. Get enviroment variables
Now you can execute startvnc, but I got some errors, I recommend:
su -
14. Execute startvnc

export USER=root

If you could not do step 12, do next:
tightvncserver -geometry 800x480
15. Use androidvnc to connect to localhost
Now use androidVNC to connect to our SGS

Nickname: BT5 ARM
Password: ******* (whatever you chose)
Address: localhost
Port: 5901
Colof-Format: 24-bit (Recommended)
16. Remove trayicons from top panel: messaging and shutdown
When I try to use the keyboard with into VNC connection, I could not use some letters, like minus s o minus m. Use your mouse pointer to remove applets from to panel.

17. Enjoy your BT5

Any comment is welcome