This is an old revision of the document!


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

onboot.lst

The following will attempt to load everything (and yield a warning on files not present; blank lines used to separate content from different CGZs):

fltk-1.1.10.tcz
flwm_topside.tcz
wbar.tcz
Xlibs.tcz
Xprogs.tcz

Xvesa.tcz

Xfbdev.tcz

expat2.tcz
fontconfig.tcz
pixman.tcz
Xorg-7.6-lib.tcz

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

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
Print/export
QR Code
QR Code wiki:dynamic_multimaster (generated for current page)