Donate Share

Diskless Embedded Technology PC

File Release Notes and Changelog

Release Name: 2

Notes:
DIET-PC 2 features the following improvements:

- A two-digit version numbering scheme.  This is really just business as
  usual, except that the implicit "major" version number (1) has been dropped
  (ie. DIET-PC 1.2 == DIET-PC 2).  In practice DIET-PC's minor versions have
  always effectively been major versions, and its patchlevels
  minor-version-and/or-patchlevels.  This new scheme just makes it official.

- DIET-PC 2 permits use of either a Linux 2.4 or a Linux 2.6 kernel (in fact,
  it will even permit use of a 2.2 kernel with a devfs patch).  It supports
  both devfs (all kernel versions) and udev (2.6 only), and both initrd (all
  kernel versions) and initramfs (2.6 only).  Use of a Linux 2.6 kernel is
  strongly recommended.

  I intend to discontinue backward compatibility in the next release (DIET-PC
  3), such that only Linux 2.6 and later will be supported.

- GLibC has been upgraded to 2.3.4, including partial TLS support (full TLS
  support appears not to work on hardware older than 686).

- The discover() function has been generalised to make use of a user-
  configurable resource file (/etc/net.conf), and externalised into a complex
  shell script (/bin/discover).  This makes /etc/rc simpler and easier to
  understand.  Console reports from /etc/rc are now highlighted to visually
  distinguish them from kernel messages.

- The DIET-PC build automation in the skeleton package has been substantially
  overhauled, both to ensure correct operation of the new assembler_installer
  package and to add new features such as squashfs support (in conjunction
  with unionfs only), initial ramfs support (Linux 2.6 only), UPX compression
  (for initramfs only), and experimental support for supplemental non-volatile
  filesystems (eg. mounting the boot medium as a read-only /opt area).  The new
  build tools have better environment checking and produce more useful
  statistics.  Back-ends such as mknbi have been replaced with embedded-
  friendly alternatives.

  IMPORTANT NOTE: the new mknbi-linux only works with Etherboot 5.2.x and
  earlier.  If you wish to use Etherboot 5.3.x or later, build your ROMs with
  PXE support and use PXELinux with them instead.

- The shell package now supports using hard disks as a swap devices.

- A new assembler_installer package has been added.  This allows you to use a
  DIET-PC to assemble and install DIET-PC boot images, in a limited fashion.
  The principal benefits of this are:

  1) To allow you to install DIET-PC using the convenient "make install"
     targets in the skeleton package Makefile, when this would normally not be
     possible (because the installation medium is not local to your Linux
     development platform), eg. local hard disks on old PCs formerly running
     Windows.
  2) As an aid for those unready/unwilling to install and use a complete
     Linux distrubution.  For example, you can install coLinux on Windows and
     build DIET-PC images in this using a prebuilt DIET-PC root filesystem.
  3) To make it easier to create boot images with the ext2 compression
     (e2compr) feature (since this requires a custom kernel on the build host
     as well as the run host).

- A persistfs package has been added, to support assembler_installer, and to
  permit mounting of a non-initrd Ext2/Ext3 root filesystem.  This package
  basically just adds fsck and mkfs capabilities for VFAT and Ext2.

- Packages that implement applications with large disk footprints, such as
  ica and mmedia_xine, have been reconfigured such that they install most
  of their files to locations in /opt (eg. /opt/ICAClient, /opt/xine).
  Installation scripts typically offer a choice between minimal and full
  installation.  This gives the system builder the option of removing bulky
  files from the initrd through use of an external /opt filesystem.

- The rmedia-amount package has been renamed to "storageserver", as it is not
  required merely for media access, and deals with media that are not
  necessarily removeable.  The package has been augmented with a media
  autodetection capability linked to the hotplug system in the shell package,
  such that - for example - a USB thumb drive will become available immediately
  after it is plugged in.  When using Linux 2.6, the package will also use ATA
  rather than SCSI emulation to write CDs/DVDs.

- The rmedia-smount package has been dropped.  I see no substantial benefit in
  maintaining an alternative to automount.  Supermount seems to have
  significant performance problems, and is not well suited to dynamic
  reconfiguration.

- Rdesktop, in the rdp package, has been upgraded to 1.4.0.  The new version
  supports many more RDP 5.x features, and is much better at autodetection of
  available features.  Of particular interest is disk redirection (similar to
  Citrix ICA Client's Client Drive Mapping feature); the rdp package will now
  provide an SMB-like share of all local storage devices
  (\\<diet-pc-name>\storage) if the storageserver package is also present.

- The ica package has been simplified to do much the same thing as the rdp
  package with regard to client drive mapping, ie. map the entire device tree
  to a single drive letter, rather than separate ones.  The ICA client binaries
  have been relocated to /opt/ICAClient so that they may be external to the
  initrd.  The installer now has a choice of full or minimal ICA Client
  installation.

- ica, rdp and rfb packages now manage their dedicated runlevels in a uniform
  way.  Each now has a session script that includes the default destination
  (formerly in /etc/inittab), and options to enable initial Num Lock and/or
  click-to-reconnect dialogs.

- The XFree86 4.4 drivers have been replaced with X.Org 6.8.2 drivers.  Not
  because X.Org is superior, nor because of any objections I have to XFree86
  4.4+ licensing, but simply because so many Linux distributions have adopted
  X.Org (as a result of the licensing furore) that the demise of XFree86 now
  seems inevitable.

- X.Org drivers have been split into a two-level hierarchy (or three-level if
  you count xcommon/xcore).  Instead of multiple standalone packages sharing a
  large amount of common content, there is now a generic core driver
  (equivalent to x440-vesa), and a number of overlays that sit on top of the
  core driver to add hardware acceleration for specific card/chip families.

  The new structure allows inclusion of multiple hardware acceleration overlay
  packages without conflict, with "fall-through" behaviour such that hardware
  specific drivers will be tried successively according to the order listed on
  the COMPONENTS line in the Makefile (reading right to left), followed finally
  by the (mostly-)unaccelerated generic driver (vesa), until a working driver
  is found.  This makes it possible to create a single DIET-PC boot image that
  can cater to variations in graphics hardware on the thin clients.  However,
  the "section cloning" method used to effect this makes it somewhat difficult
  to vary Screen and Device section options on a per-driver basis.

  The generic driver package will attempt to use several different types of
  mouse devices concurrently, which provides a limited kind of mouse
  autodetection also.

  A generic-plus-accel solution is not as space-efficient as a standalone
  driver, as it includes some modules that will never be used on any given PC.
  However, it is more likely to work with less testing.  It also reduces
  content replication and therefore change management and upload/download
  overheads.

- xcore (formerly xcommon) and X driver packages have been restructured to be
  more product-neutral.  DIET-PC 2 will offer a range of X server solutions
  based on different products; all are expected to have some common features
  (XKB, XDMCP and FontServer support).  Some files and deltas formerly in
  xcommon have been moved to the xserver packages.

- A TinyX (a.k.a. KDrive) implementation has been offered as an alternative to
  X.Org and XFree86 3.3.6.  I'm not bothering to document how I built this,
  because it was a difficult hack.  TinyX will find its way back into
  mainstream X.Org eventually.

- An Xvnc X server package has been added.  This should not be confused with
  xserver_xorg_vnc (formerly x440-vnc), which is an overlay package rather than
  a complete X server implementation.  Unlike xserver_xorg + xserver_xorg_vnc,
  xserver_xvnc cannot provide output to any kind of physical display device; it
  implements an RFB server ONLY.  It is intended for use in environments that
  lack graphics hardware, in particular UML and CoLinux.

- The rfbserver package has been reengineered using x0vncserver, from the
  RealVNC 4 distribution.  x0rfbserver is no longer supported, and x0vncserver
  is more lightweight.  The rfbserver package is only useful in conjunction
  with X servers other than Xorg and Xvnc.

- x336-s3 has been dropped, as it no longer serves any distinct purpose.  I
  was only holding onto it because I had hardware that XFree86 4.x didn't
  support, but this support was added in XFree86 4.4 (and therefore X.Org
  6.7.0).

- A new sshserver package, based on Dropbear, has been added.  This is
  convenient for those who require remote shell access to their DIET-PCs
  (without the gross insecurity of traditional rsh).  It doesn't replace
  in.rrshd in the shell package however - this will be retained as an embedded
  application launch mechanism because it is simpler, and because rsh is
  present by default in almost every O/S.

- Many software component version updates.  Almost every component is built
  from the latest version of the source available at the time of release.

- I have made a few concessions to practical necessity.  For example, the
  shell package now includes the pthread library as standard, and xcore
  includes basic X11 internationalisation.  These files are not strictly
  necessary for core functions, but reliance upon them by certain
  applications is increasingly commonplace, and working around these
  occasional requirements is troublesome.

- From this release onward, new binaries will be built with optimisation for
  space rather than speed (-Os rather than -O2) and with the expectation of
  more recent hardware (-mcpu=i686 rather than -mcpu=i586).  DIET-PC 2 will
  continue to run on 80386 and later (and I have a 386 to prove it!), but may
  not perform as well as 1.1 for hardware older than Pentium II.  Binaries
  built for this release will probably not work in the 1.0 or 1.1 releases
  due to glibc 2.3.4 dependencies.

- Package names have been changed to permit better automated parsing (in
  particular by the assembler_installer package).  Hyphens have been replaced
  with underscores.

- Slight binary size reductions in places, through recompilation with a
  newer compiler and more aggressive stripping using "-R .note -R .comment".

==

	Paul A. Whittaker <whitpa@users.sourceforge.net>


Changes: See ChangeLogs in individual packages (in cases where there is an equivalent 1.x package).