Tiny Core Linux
Tiny Core Base => TCB Q&A Forum => Topic started by: AITap on January 07, 2012, 11:48:45 AM
-
I'm building a multiboot CD/USB image. Previousely, TCL was very easy to include, because it booted from only two files (kernel and initramfs), which could be placed anywhere I would like.
Now TinyCore consists of kernel, core.gz and some extensions.
The question is: how can I specify the path to the extensions to look on every possible device (both CD and USB drives)? I tried putting /cde/ from original image to /tinycore/ and adding "tce=/tinycore/" kernel parameter, but it didn't help (it shouldn't, as I understood after reading /usr/bin/tce-setup).
My multiboot CD image can be installed to USB-drive by simply copying everything to the root of USB drive partition and running "syslinux -d isolinux /dev/sdXY", and I'd like not to change this (e.g. to add anything TCL-specific to the installation script).
// Sorry if my English is not very good.
-
Do not use a cde directory.
Core will scan all drives looking for a tce directory.
When it finds the tce directory, it looks for a onboot.lst file, and loads listed extensions from tce/optional/.
If you want it to scan USB drives you need a 'waitusb=5' boot option.
Read the installation instructions linked on the top of the main page.
http://distro.ibiblio.org/tinycorelinux/install.html (http://distro.ibiblio.org/tinycorelinux/install.html)
-
Core will scan all drives looking for a tce directory.
When it finds the tce directory, it looks for a onboot.lst file, and loads listed extensions from tce/optional/.
Thanks for your reply!
I'm using this tinycore.cfg to boot TinyCore:
MENU BEGIN tinycore
F1 tinycore1.msg
F2 tinycore2.msg
F3 tinycore3.msg
F4 tinycore4.msg
<...>
LABEL tinycore
MENU LABEL Start Tiny Core (default)
KERNEL /tce/vmlinuz
APPEND quiet
INITRD /tce/core.gz
TEXT HELP
Press F1..F4 to get additional information
ENDTEXT
LABEL tinycore-wait
MENU LABEL Wait 10s for slow USB devices
KERNEL /tce/vmlinuz
APPEND quiet waitusb=10
INITRD /tce/core.gz
<...>
...and this Makefile target to build my installation:
tinycore: tinycore-latest
@echo -e '\e[1m*** tinycore: installing\e[0m'
$(MOUNT) -o loop $(DOWNLOAD)/tinycore.iso $(MOUNTPOINT)
rm -rvf $(CONTENTS)/tce
mkdir -pv $(CONTENTS)/tce
set -e; for file in vmlinuz core.gz; do cp -v $(MOUNTPOINT)/boot/$$file $(CONTENTS)/tce; done
cp -rv $(MOUNTPOINT)/cde/* $(CONTENTS)/tce
@echo -e '\e[1m*** tinycore: copying configs\e[0m'
cp -v $(CONFIGS)/tinycore* $(CONTENTS)/isolinux/
$(UMOUNT) $(MOUNTPOINT)
touch tinycore
...so I get these files in my ISO image/on my USB drive:
$ find tce/
tce/
tce/vmlinuz
tce/core.gz
tce/copy2fs.lst
tce/onboot.lst
tce/optional
tce/optional/fltk-1.10.tcz
tce/optional/fltk-1.10.tcz.md5.txt
tce/optional/flwm_topside.tcz
tce/optional/flwm_topside.tcz.md5.txt
tce/optional/wbar.tcz
tce/optional/wbar.tcz.md5.txt
tce/optional/Xlibs.tcz
tce/optional/Xlibs.tcz.md5.txt
tce/optional/Xprogs.tcz
tce/optional/Xprogs.tcz.md5.txt
tce/optional/Xvesa.tcz
tce/optional/Xvesa.tcz.md5.txt
tce/xbase.lst
But when I build the ISO image and try to boot from it (qemu -cdrom image.iso), TinyCore won't load any extensions. Booting from USB with the same file structure, however, works normally.
What am I doing wrong?
-
mv xbase.lst onboot.lst
-
A tce dir on read-only media is skipped, IIRC. Make a symlink tce->cde?
Though then you'd need to remove the cde bootcode from an usb boot.
-
Thanks for your help!
I made a symlink $(CONTENTS)/tce -> "cde" and added a special menu entry for booting from CD (special USB entry already exists, as long as my thumbdrive requires some time to initialise, so this decision is not completely wrong), and everything seems to work now. Even more, TinyCore boots from my USB-stick with the "cde" option too.
-
cde should only be used with a CD.