This is an old revision of the document!
Table of Contents
Introduction
Dynamic remastering is about assembling 1+ initrd payload files (CPIO.GZ archives for initramfs; herein referred to as CGZs) to allow one to upgrade the core.gz without a full repacking. Dynamic MultiMaster takes this one step further to create a set of modular CGZs that allow component swap/addition from the boot loader without repeating files.
Prerequisites
- An understanding of dynamic remastering
Overview
- Examine what extensions you would like in each target boot
- Fetch extensions their .dep files, and dependent extentions & .dep files.
- .tree files help to broadly examine all dependencies for an extension
- Determine how to modularly group the extensions into CGZs to eliminate duplicated extensions.
Details
- Extensions and their .deps should be located in [boot-tce-dir]/optional/. As of 4.7.5, that becomes /tmp/builtin/optional/ but was in another directory before version 4.2.
- Multiple CGZs function to overwrite files (and directory permissions).
- An onboot.lst in [boot-tce-dir] is needed to load files on boot. As of 4.7.5, that becomes /tmp/builtin/onboot.lst
Examples
TinyCore-like with XVesa, Xfb or X.Org
This is one of the quickest modularization examples.
tcxdep.cgz
The extensions TinyCore uses other than any X-specifics
- fltk-1.1.10.tcz flwm_topside.tcz wbar.tcz Xlibs.tcz Xprogs.tcz
- fltk-1.1.10.tcz and Xlibs.tcz are the dependencies for the others
tcxv.cgz
- Xvesa.tcz
tcxfb.cgz
- Xfbdev.tcz
tcxorgdep.cgz
Break out some dependencies since they are shared with other extensions since we may want those but not X.org
- expat2.tcz fontconfig.tcz pixman.tcz Xorg-7.6-lib.tcz
tcxorgdrv.cgz
This can be trimmed as needed, based on desired hardware.
- firmware-radeon.tcz xf86-video-all.tcz xf86-video-apm.tcz xf86-video-ark.tcz xf86-video-ast.tcz xf86-video-ati.tcz xf86-video-chips.tcz xf86-video-cirrus.tcz xf86-video-geode.tcz xf86-video-glint.tcz xf86-video-i128.tcz xf86-video-i740.tcz xf86-video-intel.tcz xf86-video-mach64.tcz xf86-video-mga.tcz xf86-video-neomagic.tcz xf86-video-newport.tcz xf86-video-nv.tcz xf86-video-openchrome.tcz xf86-video-r128.tcz xf86-video-rendition.tcz xf86-video-s3.tcz xf86-video-s3virge.tcz xf86-video-savage.tcz xf86-video-siliconmotion.tcz xf86-video-sis.tcz xf86-video-sisusb.tcz xf86-video-tdfx.tcz xf86-video-tga.tcz xf86-video-trident.tcz xf86-video-tseng.tcz xf86-video-v4l.tcz xf86-video-vmware.tcz xf86-video-voodoo.tcz xf86-video-xgi.tcz xf86-video-xgixp.tcz
tcxorg.cgz
- Xorg-7.6-bin.tcz Xorg-7.6.tcz Xorg-fonts.tcz
Command line
Syslinux
- XVesa: initrd=core.gz,tcxdep.cgz,tcxv.cgz
- Xfbdev: initrd=core.gz,tcxdep.cgz,tcxfb.cgz
- X.org: initrd=core.gz,tcxdep.cgz,tcxorgdep.cgz,tcxorgdrv.cgz,tcxorg.cgz