Prerequisites:
You can't repartition a hard drive while actually using it so you'll most likely need GParted (ie from SystemRescueCD bootable cd) so that you can repartition / resize to have a spare linux partition... AND use:
mke2fs -t ext3 /dev/hda3 (or wherever it is...)
grub bootloader installed (preferrably to the MBR) tinycore.iso (cd image of tiny core installation/live cd) uniextract or isobuster (to open files from iso's) ext2fsd (winxp application that allows copying files in/out of an ext2/ext3 partition)
tcz files from an FTP repository listed in the section "Install on a Hard Drive Without Being Connected to the Internet" from http://wiki.tinycorelinux.com/tiki-index.php
wireless-2.6.29.1-tinycore.tcz wireless_tools.tcz wpa_supplicant.tcz b43-fwcutter.tcz open-ssl-0.9.8m.tcz
NOTE: hda3 = third partition on the first hard drive, you may need to use fdisk -l or Start -> Control Panel -> Administrative Tools -> Computer Managemt -> Disk Management
Extract the files from the tinycore.iso (using IsoBuster or UniExtract)... OR if you have linux: mount -o loop /path-to-iso/image-filename.iso /mnt/custom
we only need the bzImage and tinycore.gz files... (CAPITAL I ON THE bzImage!)
USING Ext2 Volume Manager (ext2fsd) ... browse to your linux partition and create the following folder
/boot/tinycore
copy the "bzimage" and "tinycore.gz" files into the linux partition /boot/tinycore folder
Also create the following text file: /tce/onboot.lst
wireless-2.6.29.1-tinycore.tcz wireless_tools.tcz b43-fwcutter.tcz openssl-0.9.8m.tcz wpa_supplicant.tcz nano.tcz
BE CAREFUL TO NOT HAVE ANY MISSPELLINGS OR EXTRA SPACES
Create the directory /tce/optional and copy the above .tcz files into it.
TinyCore uses /tce/mydata.tgz to store your files in the /home and /opt directories. (Therefore you could sneak something in if you wanted to...?)
ALSO, it uses .ashrc (e.g. not BASH command prompt) so any aliases are in /tce/mydata.tgz -> home/tc/.ashrc
MODIFY YOUR GRUB (LEGACY) MENU
menu.lst
title tinycore root (hd0,2) kernel /boot/tinycore/bzimage initrd /boot/tinycore/tinycore.gz
BUT my wifi depends on this Linksys wpc54g (v3) pci wireless card AND wpa encryption...
So I've got "wl_apsta.o" from my previous debian kernel 2.6.26 (with all of the linux-header and make and compiling commands to get that binary...)
Without the correct fw5 (b43 firmware) dmesg will contain (ie kernel firmware unhappy with wrong linksys driver)
b43-phy0 ERROR: firmware file "b43/ucode5.fw"
COPY wl_apsta.o into /mnt/hda3/tce (with EXT2FSD or usb stick or whatever)
Rather than hack into my-data.tgz we'll wait until we've booted into Tiny Core...
BOOTING INTO TINY CORE IS VERY FAST... (fingers crossed about the
Right Click -> Control Panel OR funny icon in the middle with screwdriver = Control Panel
First check that our "onboot.lst" hack worked: Apps Audit -> OnBoot -> Maintenance
(could also use: nano /mnt/hda3/tce/onboot.lst )
WHEN YOU CHOOSE TO SAVE/BACKUP (or when prompted when closing to Save a Backup) mydata.tgz is created and it includes any modifications to /opt/bootlocal.sh
since things put in the bootlocal.sh script are run as root... my wifi hack works...
nano bootlocal.sh
mkdir /lib/firmware b43-fwcutter -w /lib/firmware /mnt/hda3/tce/wl_apsta.o wpa_supplicant -B -iwlan0 -c/mnt/hda3/tce/wpa_supplicant.conf udhcpc -H hostname -b -i wlan0
note that for scripts requiring elevated permissions bootlocal.sh should contain
sudo /path/script.sh
the /lib/firmware directory is necessary for the kernel to get the new drivers the b43-fwcutter firmware cutter gets the drivers to the directory wpa_supplicant starts in the background using wlan0 and the config file wpa_supplicant.conf
wpa_passphrase ssid-network-name > wpa_supplicant.conf //prompts for the wireless network password, after you type it in press enter
udhcpc is busybox's dhcp client using "hostname", in the background on wlan0
An alternative configuration in bootlocal.sh for a static ip would be...
ifconfig wlan0 10.0.0.99 netmask 255.255.255.0 up route add default gw 10.0.0.138 echo "nameserver 10.0.0.138" > /etc/resolv.conf
AFTER I REBOOTED ifconfig wlan0 //shows me my ip address ping 10.0.0.138 and ping http://kittyandbear.net //ALL OK!
Of course, now I have to install a browser...
Since tinycore works from the core image and with then added modifications to be as lean and fast as possible you really need to explicitly choose what you want on your hard drive AND what you want started at boot time.
Right Click -> AppsBrowser or funny icon on the bottom right (gears)
File -> Install Local Extension (anything on your hard drive but not in onboot.lst) By default it lists your TCE/optional directory, double click on the one you want...
(If it isn't onboot and it isn't "installed" by above then it's not on your tinycore yet!)
OR File -> AppsBrowser ... when you choose to install something from the "repository" be prepared to wait for about 5 minutes for it to load the hundreds of packages...
RANDOM TINYCORE NOTES:
Right Click -> Shells -> Shell Dark or funny icon on the bottom left (terminal with prompt)
Right Click -> Control Panel -> System Stats OR funny icon in the middle with screwdriver = Panel -> System Stats
dmesg TAB shows you the b43 stuff cpu is cpu type mem is RAM free net is network devices installed...
loadkmap < /usr/share/kmap/uk.kmap