
Dell and Linux: where low-cost and standards-based hardware meets low-cost and standards-based solutions.
| DKMS | EDD | devlabel | efibootmgr | biosdisk | DVD Store | libsmbios | firmware-tools | DRU | biosdevname | libnetdevname | |
DKMS
DKMS stands for Dynamic Kernel Module Support. It is designed to create a framework where kernel
dependent module source can reside so that it is very easy to rebuild modules as you upgrade kernels.
This will allow Linux vendors to provide driver drops without having to wait for new kernel releases
while also taking out the guesswork for customers attempting to recompile modules for new kernels.
For veteran Linux users it also provides some advantages since a separate framework for driver drops will remove kernel releases as a blocking mechanism for distributing code. Instead, driver development should speed up as this separate module source tree will allow quicker testing cycles meaning better tested code can later be pushed back into the kernel at a more rapid pace. Its also nice for developers and maintainers as DKMS only requires a source tarball in conjunction with a small configuration file in order to function correctly. The latest DKMS version is available here. Also, you can read this Linux Journal article or this more recent Power Solutions paper or this even more recent Ottawa Linux Symposium paper about DKMS for more information. You may also participate in the dkms-devel mailing list. This project is maintained by Mario Limonciello, and was formerly maintained by Matt Domsch and Gary Lerhaupt.
EDD
BIOS Enhanced Disk Drive Services 3.0 (EDD) is mechanism to match x86 BIOS device names (e.g. int13
device 80h) to Linux device names (e.g. /dev/sda, /dev/hda). EDD is a project of a
T13 committee. Matt Domsch implemented the EDD specification
under Linux. This code makes real mode int13 EDD BIOS calls very early during kernel startup to
obtain the Master Boot Record signature and physical location (PCI bus/device/function, IDE master/slave, SCSI ID and LUN) of BIOS-seen disks, then exports this information through /proc (2.4.x kernels) or sysfs
(2.6.x kernels). This information may then be used by operating system installers to determine
which disk BIOS will boot from, thus the right place to put GRUB, LILO, and your /boot and /
partitions.
EDD was incorporated into the 2.5.44 kernel, and the 2.4.23-pre6 kernel. It has been included in several Linux distributions, including Red Hat Linux 9 and Red Hat Enterprise Linux 3. It is being used at install time of Red Hat Enteprise Linux 4, and Novell/SuSE Linux Enterprise Server 10. Few BIOSs actually implement the full EDD 3.0 specification today. Matt Domsch created a list of BIOSs reported to be good, almost good, and those who don't try to implement the spec, though the list is not being maintained any longer. This project is maintained by Matt Domsch.
Devlabel
Devlabel is a program which dynamically creates symbolic links to disk/partition names. It uses
the disk's and/or partition's unique identifiers to keep the symlink pointed to the correct location
even if the underlying partition's name has changed. So, regardless if /dev/sdb6 becomes /dev/sdc6,
devlabel figures this all out and points the symlink to your right data. This allows for:
Devlabel is supported on 2.4.x kernels, such as with Red Hat Enteprise Linux 3. For kernel 2.6.x-based products, we recommend using udev, included in your distribution, instead.
Efibootmgr
The efibootmgr project is a Linux user-space application to modify the Intel Extensible Firmware
Interface (EFI) Boot Manager. This application can create and destroy boot entries, change the
boot order, change the next running boot option, and more.
Details on the EFI Boot Manager are available from the EFI Specification, v1.02 or above, available from http://developer.intel.com. Note: efibootmgr requires that the kernel module efivars be loaded prior to use. 'modprobe efivars' should do the trick. Source code is available in the git tree. The latest stable version is located at http://linux.dell.com/efibootmgr with older versions stored in the permalink sub-directory. The latest testing version is located in http://linux.dell.com/efibootmgr/testing. This project is maintained by Matt Domsch.
BIOSdisk
biosdisk simplifies the process of flashing your system BIOS under Linux on Dell desktops and
laptops. The purpose of this utility is to create a bootable BIOS flash image using the raw BIOS
flash executable images (e.g. WS360A05.exe) available from support.dell.com. An RPM, SRPM, and
tarball for this project are available at
http://linux.dell.com/biosdisk.
A git tree is available
at http://linux.dell.com/git.
The project consists of a shell script that, when executed, creates a FreeDOS floppy image at a location of your choosing. This project is intended for Dell desktop and laptop customers and not PowerEdge customers, since Linux BIOS flash packages are already available for PowerEdge systems, and raw executable BIOS flash images are not. To use the biosdisk utility to create a BIOS flash image, first download the latest raw BIOS image for your system from support.dell.com or ftp://ftp.dell.com/bios. You then have one of several options: create a floppy, create a dd floppy image, create a user-installable distribution-specific package (e.g. RPM), or actually install the image for your bootloader. * The mkfloppy action will create the biosdisk image and write it directly to a floppy disk. Usage is the following: biosdisk mkfloppy [-o option] [-d device] [-k baseimage] /path/to/.exe * The mkimage action will create a floppy image on the user's hard drive. Usage is the following: biosdisk mkimage [-o option] [-i destination] [-k baseimage] /path/to/.exe * The mkpkg action will create the floppy image, and use it to create a user-installable package specific to the distribution (example: RPM). When the package is installed, it will use the distribution's built-in tools to update the system's bootloader so that the user can boot to the image from the hard drive to flash the BIOS, without needing a floppy drive. Currently only Red Hat/Fedora RPM packages are supported. Usage is as follows: biosdisk mkpkg [-o option] [--install] [--distro=] [--name=] [--version=] [--release=] /path/to/{.exe | .img} * The install action will create the biosdisk image, copy the image file to /boot, and then update the bootloader with an entry for the image. Then all the user has to do is boot the system and select the image to flash the BIOS; this will load the biosdisk image directly from the hard drive and flash the BIOS. biosdisk install [-o option] [--name=] /path/to/{.exe | .img} This project is maintained by John Hull.
DVD Store
The DVD Store Release 2 (DS2) is now available from
http://linux.dell.com/dvdstore
The DVD Store Version 2 (DS2) is a complete online e-commerce test application, with a backend database component, a web application layer, and driver programs. The goal in designing the database component as well as the midtier application was to utilize many advanced database features (transactions, stored procedures, triggers, referential integity) while keeping the database easy to install and understand. The DS2 workload may be used to test databases or as a stress tool for any purpose. The code is licensed under the GNU General Public License (GPL). The initial distribution includes code for the MySQL database. Code for Oracle and Microsoft SQL Server will follow. Included in the release are data generation programs, shell scripts to build data for 10MB, 1GB and 100 GB versions of the DVD Store, database build scripts and stored procedure, PHP web pages, and a C# driver program. See the readme.txt file and readme's inside the distribution for more details.
This project is maintained by Dave Jaffe.
libsmbios
Libsmbios is a cross OS library intended to be used to obtain common information available in BIOS using a unified API. Currently, it can programmatically access any information in the SMBIOS tables. It also has the ability to obtain Dell system-specific information such as the Dell System ID number, service tag, and asset tag. Future plans include APIs for $PIR, and mptable mapping. Libsmbios is written in C++ and works on Linux (all flavors) and Windows (NT through 2003 SP1). There is a C API for some of the more commonly used functions, plus example binaries to show off most of the facilities. Libsmbios has some unique features. First, it is designed to be utilized at an API level by external programs. Many other programs rely on the user parsing text output rather than the easier-to-use API calls that libsmbios provides. Next, the libsmbios has an optional access method where you can retrieve SMBIOS information by the text names of the structures and fields by using an XML definition of the tables. This means that to add new table definitions, you need not modify code. Most other smbios programs have C code to decode each table. Libsmbios is extensible without having to recompile the code. Next, libsmbios makes extensive use of cppunit for unit testing to ensure a high degree of quality, valgrind for memory leak detection, and gcov for code coverage analysis. All these tools are built into the build system and run for each official release of the code.
DMTF standard for SMBIOS This project is maintained by Michael Brown and has a public mailing list for developers.
firmware-tools
firmware-tools is an open source (dual GPL and OSL licenses) project to make it easy to flash the BIOS and firmware of your devices while running Linux. This project is maintained by Michael Brown and Matt Domsch, and has a public mailing list for developers.
DRU
DRU stands for "Disc Remastering Utility". It is a tool designed to create a customized copy of the Ubuntu Linux Distribution. This project is maintained by Michael Morgan and Michael Brown, and has a public mailing list for developers.
biosdevname
biosdevname is a udev helper application which takes a kernel device name as an argument, and returns the BIOS-given name it "should" be. This is necessary on systems where the BIOS name for a given device (e.g. the label on the chassis is "Gb1") doesn't map directly and obviously to the kernel name (e.g. eth0). It uses data from the system BIOS to figure this out. This project is maintained by Matt Domsch. Issues with biosdevname should be sent to the linux-poweredge public mailing list or the udev mailing list linux-hotplug-devel@lists.sourceforge.net.
libnetdevname
libnetdevname is a library that helps map a meaningful name to a network device like /dev/net/by-port/Embedded_NIC1 to traditional ethernet device names like ethN. This helps ensure that NICs on a machine are ordered based on various criteria like chassis port number, speed, etc. Applications can use this library to enable them to use the meaningful device names in place of the traditional names. This project is maintained by Narendra K. Issues with libnetdevname should be sent to the linux-poweredge public mailing list |
Navigation
Ubuntu on Dell Wiki What's New Mailing Lists White Papers RAID & Storage Hardware Monitoring Distributions Projects Source Code Desktops & Notebooks n-Series Desktops n-Series Notebooks n-Series MobileWorkstations Inspiron Mini Netbooks Related Dell Links DellTechCenter wiki Direct2Dell Blog Direct2Dell: Linux Dell IdeaStorm StudioDell Dell Community Forums Dell CommunityRepository
Disclaimer
This webpage is for informational purposes only, may contain typographical errors, technical inaccuracies, and information about
configurations which are not officially supported by Dell. The content is provided as is, without express or implied warranties of any
kind.
Please send comments/corrections to the linux-poweredge@dell.com public mailing list. |