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 /opt/tce/ 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.

  • xf86-video-all.tcz xf86-video-apm.tcz xf86-video-ark.tcz xf86-video-ast.tcz xf86-video-ati.tcz firmware-radeon.tcz graphics-3.0.21-tinycore.tcz i2c-3.0.21-tinycore.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

xf86-video-all.tcz
xf86-video-apm.tcz
xf86-video-ark.tcz
xf86-video-ast.tcz
xf86-video-ati.tcz
firmware-radeon.tcz
graphics-3.0.21-tinycore.tcz
i2c-3.0.21-tinycore.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

VMware View Client

VMware's recent release of its full View client is of interest to some since TC could be lighter than other distros.

  • tcxdep.cgz, tcxv.cgz, and tcxorgdep.cgz as above. This is an excellent example of why I removed the extensions in tcxorgdep.cgz to another CGZ.

tcgtk.cgz

  • atk.tcz cairo.tcz gdk-pixbuf2.tcz glib2.tcz graphics-libs-1.tcz gtk2.tcz libffi.tcz liblzma.tcz libxcb.tcz libxml2.tcz pango.tcz shared-mime-info.tcz

tcrdsk.cgz

  • libao.tcz libusb.tcz pcsc-lite.tcz rdesktop.tcz

tcssl.cgz

  • libssl-0.9.8.tcz openssl-1.0.0.tcz

tcvmview.cgz

  • udev-lib.tcz
  • a choice of vmware-view-client-mk.tcz or vmware-view-client.tcz; Note that the EULA of the VMware View Client appears to prohibit redistribution. This would imply Canonical and its partners are likely under an alternate license.

Command Line

Syslinux

initrd=core.gz,tcxdep.cgz,tcxv.cgz,tcgtk.cgz,tcrdsk.cgz,tcxorgdep.cgz,tcssl.cgz,tcvmview.cgz

Print/export
QR Code
QR Code wiki:dynamic_multimaster (generated for current page)