General TC > General TC Talk

[iso remaster] Storing TCE extensions for transport in TC v3.3

<< < (2/3) > >>

goossbears:
Thanks for replies and hints!
First of all, I see that this thread was moved from the TC Extensions Tips & Tricks section to this (current) General TC Talk section, along with an appended [iso remaster] in the subject line. Okay. :)

Second of all, I wish to re-iterate that my goal was (and is) to store TCE extensions for portable use.
Storage could be via a CD-R (a "mini" 180mb one in my case) or a USB drive for the future; not necessarily on hard disk drives.
Storage for such portability is through using TC 3.x TCE extensions in .tcz format .

Third of all, the remastering I wish to carry out is at the isolinux stage (for CD-R's), and not at the kernel-remastering or tinycore.gz unpacking/packing stages. In other words, for me, this would mean carrying out all steps mentioned at  http://wiki.tinycorelinux.com/Remastering up to the steps  "extract tinycore.gz for adding/removing something:" yet continuing with the "Creating an iso" section.
Using TC itself for this , I would probably at least download and store the cdrtools.tcz and mkisofs-tools.tcz extensions for CLI usage instead of using the suggested ISO Master GUI tool.

Fourth, tinypoodle wrote:

--- Quote ---I have created an additional initrd with extensions in /opt/tce/optional according to instructions in wiki for dynamic remastering.
--- End quote ---
This wiki is at http://wiki.tinycorelinux.com/Dynamic+root+filesystem+remastering
No desire to use the EXTLINUX bootloader along with the "additional initrd with extensions in /opt/tce/optional".....there might be FAT-based filesystems requiring the SYSLINUX bootloader and don't want the RAM cost of being forced to using any given .tcz extensions that I've downloaded and that get compiled into a heavier initrd.
Besides, the ISOLINUX bootloader is typically used for "El Torrito" CD-Rs and the SYSLINUX bootloader the same for USB drives. ---- see my second point above.
One option that might make some sense here, though, is to create a top-level /syslinux directory for the remastery-level I'm attempting and download the latest syslinux tarball from http://www.kernel.org/pub/linux/utils/boot/syslinux/ into this /syslinux directory for future unpacking and usage. Yes, this would have a RAM "cost" penalty, but this does give me the helpful flexibility to extract and use whichever SYSLINUX, PXELINUX, ISOLINUX, and/or EXTLINUX lightweight bootloader(s) I would require for future 2nd-level remasterings.

Fifth, Guy wrote

--- Quote ---if you use /opt/tce you can have a regular /tce directory on the hard drive or usb drive as well. So you can download additional applications
--- End quote ---
I have reviewed http://wiki.tinycorelinux.com/Integrating+Extensions , and Guy's suggestion would be ideal if correct. As this wiki directly states for the operation of adding extensions to a new ISO image into /tmp/newiso/tce/optional :

--- Quote ---Doing this operation might prevent using a tce directory outside of the CD; if it is not explicitly specified, the boot process uses the first tce directory found.
--- End quote ---
Essentially, incorporating these two methods could enable the desired dual application-loading capability:
1. Maintaining the default RAM-loading /tce directory of the boot process for downloading+running .tcz extensions from the Internet repositories on an as-needed basis through Appbrowser, and with no further files necessarily added outside of the base. The boot process would first use this /tce directory.
2. Creating a top-level /opt/tce/optional directory which would store onto an ISO CD or USB only those .tcz extensions that could not be downloaded+run otherwise.
Yes,
--- Quote ---An ISO created this way can not achieve application persistence for the user (no extensions can be loaded by the user, beyond re-loading those on the ISO)
--- End quote ---
And yet this second capability without persistence is precisely useful for my desired purposes of portability, e.g., for those times when an Internet connection remains unavailable.
I could then copy needed extensions on-the-fly from /opt/tce/optional into the default /tce/optional directory

In this latter case of 2 when remastering with a /opt/tce/optional directory, I could then store a much more limited subset of .tcz apps.
E.g. off the top-of-my-head,

* the previously mentioned cdrtools.tcz and mkisofs-tools.tcz
* the .tcz extensions for full bash and perl scripting capability
* tcz. extensions for other small and/or CLI-specific apps
* the module for my e100 and epro100 NICs and then insmod (or modprobe) either one when needed, rather than the non-loading defaultWould need to purposefully omit browser and ftp app extensions under this concept.

Corrections or further feedback?
-goossbears

tinypoodle:
You seem to confuse certain things...

I created an additional initrd.gz to be loaded, and that does basically what you describe at the end of your post, extract extensions into /opt/tce/optional, while I then could still download extensions to /tmp/tce/optional (which is the default location of TC for extensions).

I never mentioned anything about bootloaders.
Personally I use mostly linld to boot from FAT* or pxelinux to boot over net. With both I just specified both initrd's instead of one.

Not sure if you really need any modules not in base for your NICs, but firmware perhaps.

goossbears:
Thanks for helping to clear up any confusion.
I think that I was unclear about my fifth point above.
Maybe this will help clear things up.

1. Pair of key TC websites

* the File Architecture Diagram, http://tinycorelinux.com/architecture.html
* the Concepts page, http://tinycorelinux.com/concepts.html
2. As you can see from these two key websites,

a. In the Mount Mode of Operation:

--- Quote ---    * Applications are stored locally in a directory named tce on a persistent store, .e..g, a supported disk partition (ext2,ext3.ext4,vfat, or fat)
    * Applications are optionally mounted on reboot (see onboot.lst in forum and wiki).
    * Mounting applications saves RAM for other uses.
 applications are stored locally in a directory named /tce on a persistent store.  

--- End quote ---
Although stored .tcz extensions are only optionally mounted on reboot --- thus saving RAM for other uses -- still, this persistent extensions' storage mode using the default /tce verifiably requires a writable partition of type ext2,ext3.ext4,vfat, or fat.
Typical writable partitions include those ext2,ext3.ext4,vfat, or fat types found on hard-disk drives and on USB drives, but exclude the read-only partition found on iso9660-type CD-Rs.

b. In the Copy Mode of Operation, "Application Extensions are copied into RAM instead of mounted."
The "cost" of this extra RAM-copying thus rises as more and more application extensions are preloaded into RAM, whether these extensions are files on CDROM / HDD /tce directories or whether these are squashfs-compressed extension files residing in /usr/local.
In all cases here, the Copy Mode of Operation copies and merges these extension directories into the overall filesystem structure upon booting a Running Tiny Core System [tinycore.gz, initrd], as depicted in the File Architecture Diagram.

3. Well, I really don't need either of these two options; 2a or 2b above.
Instead, I prefer to store a subset of downloaded and unmounted .tcz extensions onto a read-only, iso9660-type CD-R (for now).
This specifically excludes the Mount Mode with its "Applications [that] are stored locally in a directory named tce on a persistent store".
I also wish to avoid any RAM-cost performance-hits from placing any downloaded .tcz application extensions into top-level /tce or squashfs-compressed /usr/local directories before remastering.
This specifically excludes the Copy Mode with its resulting action of all extensions "copied into RAM instead of mounted".

Maybe an extraneous tce directory excluded from a Running Tiny Core System's file structure is what I need for separately storing such .tcz's and copying them to the /opt/tce/optional or /tmp/tce/optional directories on the revised initrd once these latter directories are loaded in RAM (and yes, I did review the prior post!  :) )
Maybe something like a default-unmounted but populated /supertce that lies outside any directory listed in the File Architecture Diagram ?? :-\

-goossbears

Guy:

--- Quote ---Storage could be via a CD-R (a "mini" 180mb one in my case) or a USB drive
--- End quote ---

The simplest method is to use USB Install, to install on a USB drive. Then install extensions on the USB drive.

You can run Tiny Core from the USB drive.

The USB is writable, so you can install additional extensions.

You can use the USB drive to install Tiny Core on other computers.


If you want to use a CD. The simplest way, is as I said above:

http://wiki.tinycorelinux.com/Integrating+Extensions

After writing the CD, you cannot install additional extensions, or save changes.

You can write to other CDs, with additional extensions.

Jason W:
If the tce directory is on the base of the cd image, then you can install extra extensions for the current session by using this command after booting:

sudo echo "/tmp/tce" > /opt/.tce_dir

But any installed extensions of course get lost on a reboot, but it does allow you to add more as needed for per session use.

A cd made this way does break some of the base functions regarding extensions, but I have found it is useful for special purposes. 

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version