Unsolved
This post is more than 5 years old
23 Posts
0
91032
October 22nd, 2015 08:00
Cross Post: PXE Boot into OME ?
Hi,
I know I can build and maintain an ISO to update systems but was wondering if anyone has setup and environment to PXE boot a Linux kernel and register the device with OME for firmware updates?
This is a provisioning, spare pool VLAN where machines DHCP into for firmware updates, inventory etc..
Anything you have to share would be appreciated.
3000 PowerEdge 2950 to R-class servers.
No Events found!
DELL-Martijn G
291 Posts
0
October 22nd, 2015 09:00
Right now there is not really a way to do what you want with OME as far as I know.
You could take a look at these whitepapers that micght help you do some of it through the iDRAC but only for 12G and newer servers.
The come from the great iDRAC TechCenter site: http://delltechcenter.com/idrac
cameronredux
2 Intern
•
615 Posts
0
October 22nd, 2015 10:00
I thought you used to be able to create an update task that ran against a group on a schedule but I no longer see this option in 2.1
a1lw
5 Posts
0
November 8th, 2015 22:00
Hi @sneedy
I did it and its working quit nice.
All you need is nfs serever/share.
My configuration:
pxelinux.cfg/default
DEFAULT menu.c32
PROMPT 0
TIMEOUT 200
MENU TITLE MAIN_MENU menu
LABEL DELL Sub Menu
MENU LABEL ^DELL Firmware Upgrade
KERNEL menu.c32
APPEND dell/isolinux.cfg
ls tftpboot/dell/
isolinux.cfg SA.1 SA.2
where SA.1(vmlinuz) and SA.2(kernel), isolinux.cfg you take from any iso generated from Dell Repository Manager, mount it under windows and copy these files
cat isolinux.cfg
MENU TITLE DELL Firmware for PowerEdge Servers
default 1
prompt 1
timeout 100
label Main Menu
MENU LABEL ^Return to Main Menu
KERNEL menu.c32
APPEND pxelinux.cfg/default
label Firmware Upgrade
MENU LABEL ^Firmware Upgrade
kernel dell/SA.1
append initrd=dell/SA.2 ramdisk_size=72399 Stage3_type=cdrom DEBUG=0 quiet BUILD=955 vmalloc=256M share_type=nfs share_location=192.168.0.1:/path_to_your_firmware/drm_files share_script=apply_bundles.sh share_opts=nolock selinux=0
modify script apply_bundles.sh also taken from iso.
I added this line after echo and before exit, so it looks like:
echo "apply_bundles.sh end time:$MY_TIME" | tee -a /bundleapplicationlogs/apply_components.log
echo "Powercycle server..." | tee -a /bundleapplicationlogs/apply_components.log
/opt/dell/toolkit/bin/syscfg --powerctl powercycle
exit "$STATUS"
My checksysid.sh script look like hits (cause i have lots of dell PE servers)
#!/bin/sh
MATCHEDBUNDLE=""
TMPSTRING=$(/opt/dell/toolkit/bin/syscfg --sysid)
SYSID=${TMPSTRING##*=}
if [ "$SYSID" == "0601" ]
then
MATCHEDBUNDLE="OME bundle for PowerEdge R630"
elif [ "$SYSID" == "0528" ]
then
MATCHEDBUNDLE="OME bundle for PowerEdge R720xd"
elif [ "$SYSID" == "04CE" ]
then
MATCHEDBUNDLE="OME bundle for PowerEdge R620"
elif [ "$SYSID" == "0235" ]
then
MATCHEDBUNDLE="OME bundle for PowerEdge R710"
else
MATCHEDBUNDLE=""
fi
Finally you have to change atribut for all of the file in drm_files katalog to be executable
ls drm_files/
apply_bundles.sh repository reserved
ls reserved/
checksysid.sh
ls repository/
OME bundle for PowerEdge FC630 OME bundle for PowerEdge R430 OME bundle for PowerEdge R610 OME bundle for PowerEdge R630 OME bundle for PowerEdge R720xd
OME bundle for PowerEdge FX2S OME bundle for PowerEdge R510 OME bundle for PowerEdge R620 OME bundle for PowerEdge R710 OME bundle for PowerEdge R730xd
The repository catalog contains firmwre you can generate from dell repostiory manager, option Create Light Weight Deployment Scripts. If there is a new version of the firmwar for your bundle you just copy whole catalog with the firmware and change permitions of files to be executable.
Write if sth i wrote is unclear.
Regards,
C4r7m4n
DaddyGoofball
1 Message
1
February 3rd, 2016 12:00
I found a couple of bugs in the apply_bundles.sh Script.
the "/path_to_your_firmware/drm_files" is mounted to "/opt/dell/toolkit/systems"
ISSUE#1
In the apply_bundles.sh script line 3:
you need to change:
SCRIPT_DIR="/opt/dell/toolkit/systems/drm_files/repository/"
To:
SCRIPT_DIR="/opt/dell/toolkit/systems/repository/"
ISSUE#2 (Same issue but different part of the code)
Change the following code
# preset matched bundle location
MATCHEDBUNDLE=""
# execute check sysid script if the script is found
if [ -f "/opt/dell/toolkit/systems/drm_files/reserved/checksysid.sh" ]
then
. "/opt/dell/toolkit/systems/drm_files/reserved/checksysid.sh"
fi
TO:
# preset matched bundle location
MATCHEDBUNDLE=""
# execute check sysid script if the script is found
if [ -f "/opt/dell/toolkit/systems/reserved/checksysid.sh" ]
then
. "/opt/dell/toolkit/systems/reserved/checksysid.sh"
fi
Now when you pXe to the firmware it will properly detect your SYSID and apply the correct bundle.
Enjoy