OMSA
From Glee
Skeleton Usage for Firmware Tool
Here are instructions on how to update all firmwares in your Dell servers, using any GNU/Linux distribution.
Advantages :
- For Red Hat Enterprise Linux (RHEL) or clones, you don't clutter your base OS with all of the Dell packages and services.
- Works with non-RHEL distributions : Tested with SystemRescueCd and Gentoo, and should work with Debian, Ubuntu, Slackware, Arch Linux, etc.
Requirements :
- Non-monolithic kernel, with the IPMI and Dell drivers compiled as modules.
- About 500MB of disk space
- Dell Server or Workstation supported by the official OMSA software repository.
- EL6 Skeleton prepared for Firmware Tool. See below on how to create one, or download from http://dl.marmotte.net/dell/.
Quick commands :
SKEL=el6-x86_64-dell_ft tar xzf ${SKEL}-*.tar.gz sysctl -w kernel.panic=3 mount -t proc none ${SKEL}/proc mount -t sysfs none ${SKEL}/sys mount --bind /dev ${SKEL}/dev modprobe ipmi_si modprobe ipmi_devintf modprobe ipmi_msghandler modprobe dcdbas modprobe dell_rbu chroot ${SKEL} /bin/bash
yum install $(bootstrap_firmware) inventory_firmware update_firmware update_firmware --yes
exit umount ${SKEL}/proc umount ${SKEL}/sys umount ${SKEL}/dev
...reboot!
Skeleton Creation
- Install a minimal RHEL6 or clone.
- rsync the entire system tree to a directoy to chroot to
rsync -avHPSx / remote:/mnt/el6-x86_64-dell_ft
SKEL=el6-x86_64-dell_ft sysctl -w kernel.panic=3 mount -t proc none ${SKEL}/proc mount -t sysfs none ${SKEL}/sys mount --bind /dev ${SKEL}/dev modprobe ipmi_si modprobe ipmi_devintf modprobe ipmi_msghandler modprobe dcdbas modprobe dell_rbu chroot ${SKEL} /bin/bash
- Check what large-ish packages could be removed, then remove them and update the remaining packages :
rpm -qa --qf '%{size}\t%{name}\n' | sort -n
yum remove kernel kernel-firmware grub 'selinux-policy*' policycoreutils redhat-logos 'nfs*' 'iscsi*' 'system-config-*' xfsprogs rsyslog slang yum remove util-linux-ng libcgroup '*firmware' yum-presto libsemanage rsync iptables checkpolicy rpcbind libuser shadow-utils yum remove MAKEDEV libutempter device-mapper-multipath-libs procps ustr e2fsprogs findutils kbd-misc audit net-tools vim-minimal libnih upstart yum remove logrotate plymouth-scripts grubby libuuid libblkid libaio mingetty libgssglue libtirpc libcap-ng libhbaapi libhbalinux libusb yum remove file bridge-utils libselinux-utils keyutils libss efibootmgr libudev libpciaccess sysvinit-tools dash tcp_wrappers-libs attr yum remove libconfig plymouth-core-libs libedit deltarpm acl dhcp-common ethtool psmisc libevent dbus-libs dbus-glib libnih e2fsprogs-libs yum remove libnl m4 diffutils cpio rpm -e --noscripts kernel yum update
- Bootstrap the OS to use the OMSA software repository and install the Firmware Tools :
yum install wget perl wget -q -O - http://linux.dell.com/repo/hardware/OMSA_7.1/bootstrap.cgi | bash yum install dell_ft_install
- Clean up and snapshot :
echo "nameserver 8.8.8.8" > ./${SKEL}/etc/resolv.conf rpm --rebuilddb yum clean all exit rm -rf ./${SKEL}/boot/grub rm -rf ./${SKEL}/root/{.bash_history,.gnupg,.ssh} rm -rf ./${SKEL}/tmp/{*,.ICE-unix} rm -rf ./${SKEL}/var/log/[a-t]* umount ${SKEL}/proc umount ${SKEL}/sys umount ${SKEL}/dev tar czvf ${SKEL}-$(date +%Y%m%d).tar.gz ${SKEL}