Tiny Core Linux
General TC => Remasters / Remixes - Unofficial => Topic started by: Dacicus on October 28, 2025, 11:02:26 AM
-
My goal is to make a bootable CD that lets me choose between two different versions of Tiny Core. I have programs in each version that I use under different circumstances. The problem is that extensions are loaded from the cde/optional directory, and I can't have multiple files with the same name in that directory (e.g., Xorg-7.7.tcz for each version that I want to boot). My solution, which doesn't work, was to edit /usr/bin/tce-setup with a new bootcode that allows me to specify a subdirectory:
- Insert another case after the lst=*) line: cdv=*) CDV=${i#*=} ;;
- Insert $CDV in the process_CD() function: LOADFROM="$CD"/cde/optional/"$CDV"
I put the extensions into cde/optional/16, for example, and add cde cdv=16 lst=whatever.lst to the appropriate append line in isolinux.cfg. This fails. When I try booting the disc, I get a message about the extensions in the lst file not being found. I can load them manually via tce-load, so I know that they were written to the disc properly.
Did I make some obvious mistake? Or is there another way to accomplish what I want? Thank you in advance for any input.
-
Hi Dacicus
I don't think there was ever any intent for multiple cde directories
the way you can have multiple tce directories.
The simplest thing to try is to cheat by lying. Use tce directories.
Try setting up something like this:
For the first version
KERNEL /Version1/boot/vmlinuz
INITRD /Version1/boot/core.gz
APPEND loglevel=3 tce=/Version1/tce
For the first version
KERNEL /Version2/boot/vmlinuz
INITRD /Version2/boot/core.gz
APPEND loglevel=3 tce=/Version2/tce
-
Thank you for the suggestion, Rich. I did that, but it produces these error messages when trying to load extensions during boot:
mkdir: can't create directory '/11/tce/optional': No such file or directory
chown: /11/tce: No such file or directoryThose directories definitely exist.
I also tried to put the full path to each extension in the lst file, but that produced this error:/usr/bin/tce-load: cd: line 263: can't cd to /cde/16: No such file or directory
I guess I can try to use the iso bootcode next and put one set of extensions in an ISO file on the CD, lol.
-
i get one page of search results when i search the forum for "cde"(no quotation marks) and ask for the "most recent topics first" and checkmark the box for "Search in topic subjects only"
a brief review of this results page appears to offer some definite possibilities for further investigation and experimentation
also, the same search without the "Search in topic subjects only" box checkmarked yields 17 pages of fun(just sayin')
-
Thanks for the input, gadget42. I read through the "topic subjects only" results and did not find a solution. I plan to read through the 17 pages when I have more time. For now, the method with the iso bootcode and an ISO on the CD does work.
-
had another thought and so searched "multiboot iso"(no quotation marks) and this was one of the results:
https://forum.tinycorelinux.net/index.php/topic,24082.0.html
-
had another thought and so searched "multiboot iso"(no quotation marks) and this was one of the results:
https://forum.tinycorelinux.net/index.php/topic,24082.0.html
Yes, that's basically what I'm doing. I have an ISO file that only contains a /cde directory with an onboot.lst file and the necessary extensions in the /cde/optional subdirectory. That ISO file is within another ISO file that actually has the various core.gz and vmlinuz files and isolinux configuration files, as well at its own /cde directory tree for the other Tiny Core version that I need to boot.
-
Hi Dacicus
I figured it out.
This is the directory structure I created:
MkISO/
|-- ISO/
| |-- V10/
| | |-- boot/
| | | |-- core.gz
| | | `-- vmlinuz
| | `-- tce/
| | |-- copy2fs.lst
| | |-- onboot.lst
| | `-- optional/
| |-- V15/
| | |-- boot/
| | | |-- core.gz
| | | `-- vmlinuz
| | `-- tce/
| | |-- copy2fs.lst
| | |-- onboot.lst
| | `-- optional/
| `-- boot/
| `-- isolinux/
| |-- boot.cat
| |-- boot.msg
| |-- f1
| |-- f2
| |-- f3
| |-- f4
| |-- isolinux.bin
| |-- isolinux.cfg
| `-- menu.c32
|-- MkISO*
|-- RecordCD*
`-- TC10TC15.iso
TC10TC15.iso will let you boot either Tinycore10.1 or Tinycore15.0 (32 bit, Xvesa).
The MkISO script creates TC10TC15.iso from the contents of the ISO/ directory.
The RecordCD script is used to burn the image to a CD. It also contains comments
on how to identify your CD drives dev address.
Everything under the V10/ directory is the contents of the Tinycore 10.1 CD minus the isolinux/ subdirectory.
Everything under the V15/ directory is the contents of the Tinycore 15.0 CD minus the isolinux/ subdirectory.
The optional/ directories are populated. I told the tree command to only go 4 directories deep.
The isolinux/ directory under the /boot/ directory was copied from the Tinycore 15.0 CD.
isolinux.bin needs to be writable so that mkisofs can update it (chmod 600 isolinux.bin).
isolinux.cfg needs to be writable if you wish to edit it (chmod 600 isolinux.cfg).
This is the isolinux.cfg file:
DEFAULT Version10
UI menu.c32
PROMPT 0
TIMEOUT 600
ONTIMEOUT Version10
F1 f1
F2 f2
F3 f3
F4 f4
MENU TITLE TinyCore
MENU MARGIN 10
MENU VSHIFT 5
MENU ROWS 5
MENU TABMSGROW 14
MENU TABMSG Press ENTER to boot, TAB to edit, or press F1 for more information.
MENU HELPMSGROW 15
MENU HELPMSGENDROW -3
MENU AUTOBOOT BIOS default device boot in # second{,s}...
LABEL Version10
MENU LABEL Boot TinyCore-10.1
TEXT HELP
Boot TinyCore with Embedded X/GUI extensions.
ENDTEXT
KERNEL /V10/boot/vmlinuz
INITRD /V10/boot/core.gz
APPEND loglevel=3 tce=LABEL=TC10TC15/V10/tce waitusb=5:LABEL=TC10TC15
LABEL Version15
MENU LABEL Boot TinyCore-15.0
TEXT HELP
Boot TinyCore with Embedded X/GUI extensions.
ENDTEXT
KERNEL /V15/boot/vmlinuz
INITRD /V15/boot/core.gz
APPEND loglevel=3 tce=LABEL=TC10TC15/V15/tce waitusb=5:LABEL=TC10TC15
TC10TC15.iso, MkISO, and RecordCD are available for download here:
http://tinycorelinux.net/15.x/x86/TestISO/
If you want to modify TC10TC15.iso:
mkdir Work
cd work
mkdir ISO mnt
# Copy TC10TC15.iso, MkISO, and RecordCD to the Work directory.
sudo mount TC10TC15.iso mnt/
cp -a mnt/* ISO/
sudo umount mnt
# Make your changes in the ISO/ directory.
# Then, cd back into your Work directory.
# Create the new ISO file.
MkISO
# To burn a CD
RecordCD
Some error messages when booting that xwbar.lst can't be written to the tce directory.
This is expected since tce is on a CD and read only. This message is harmless.
Hope this helps.
-
and this is why THIS forum(and tcl) are absolutely awesome indeed!
huge kudos Rich!
-
Thank you very much, Rich! I will study this.
-
Hi Dacicus
You are welcome. :)