Initial commit
This commit is contained in:
Executable
+10
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Write GUID to eeprom
|
||||
After=xyz.openbmc_project.Settings.service
|
||||
After=com.luxshare.eeprom.service
|
||||
Wants=xyz.openbmc_project.Settings.service
|
||||
ConditionPathExists=/run/initramfs/read-guid-from-eeprom.done
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/write-guid-to-eeprom.sh
|
||||
Executable
+55
@@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
SETTINGS_SERVICE="xyz.openbmc_project.Settings"
|
||||
GUID_OBJPATH="/xyz/openbmc_project/inventory/item/bmc"
|
||||
GUID_INTERFACE="xyz.openbmc_project.Common.UUID"
|
||||
BMC_INTERFACE="xyz.openbmc_project.Inventory.Item.Bmc"
|
||||
SYSTEM_GUID_PROPERTY="UUID"
|
||||
DEVICE_GUID_PROPERTY="DeviceGUID"
|
||||
|
||||
EEPROM_SERVICE="com.luxshare.eeprom"
|
||||
EEPROM_OBJPATH="/com/luxshare/eeprom/baseboard"
|
||||
EEPROM_INTERFACE="com.luxshare.eeprom"
|
||||
EEPROM_SYSTEM_GUID_PROPERTY="SystemGUID"
|
||||
EEPROM_DEVICE_GUID_PROPERTY="DeviceGUID"
|
||||
|
||||
creat_GUID_str()
|
||||
{
|
||||
GUID=$1
|
||||
for((i=0;i<4;i++));
|
||||
do
|
||||
data[i]=${GUID:i*2+1:2}
|
||||
done
|
||||
|
||||
for((i=4;i<6;i++));
|
||||
do
|
||||
data[i]=${GUID:i*2+2:2}
|
||||
done
|
||||
|
||||
for((i=6;i<8;i++));
|
||||
do
|
||||
data[i]=${GUID:i*2+3:2}
|
||||
done
|
||||
|
||||
for((i=8;i<10;i++));
|
||||
do
|
||||
data[i]=${GUID:i*2+4:2}
|
||||
done
|
||||
|
||||
for((i=10;i<16;i++));
|
||||
do
|
||||
data[i]=${GUID:i*2+5:2}
|
||||
done
|
||||
}
|
||||
|
||||
system_GUID=$(busctl get-property ${SETTINGS_SERVICE} ${GUID_OBJPATH} ${GUID_INTERFACE} ${SYSTEM_GUID_PROPERTY} | awk '{print $2}')
|
||||
creat_GUID_str "${system_GUID}"
|
||||
echo "Write system GUID to eeprom : ${system_GUID}"
|
||||
busctl set-property ${EEPROM_SERVICE} ${EEPROM_OBJPATH} ${EEPROM_INTERFACE} ${EEPROM_SYSTEM_GUID_PROPERTY} ay 16 0x"${data[0]}" 0x"${data[1]}" 0x"${data[2]}" 0x"${data[3]}" 0x"${data[4]}" 0x"${data[5]}" 0x"${data[6]}" 0x"${data[7]}" 0x"${data[8]}" 0x"${data[9]}" 0x"${data[10]}" 0x"${data[11]}" 0x"${data[12]}" 0x"${data[13]}" 0x"${data[14]}" 0x"${data[15]}"
|
||||
|
||||
device_GUID=$(busctl get-property ${SETTINGS_SERVICE} ${GUID_OBJPATH} ${BMC_INTERFACE} ${DEVICE_GUID_PROPERTY} | awk '{print $2}')
|
||||
creat_GUID_str "${device_GUID}"
|
||||
echo "Write device GUID to eeprom : ${device_GUID}"
|
||||
busctl set-property ${EEPROM_SERVICE} ${EEPROM_OBJPATH} ${EEPROM_INTERFACE} ${EEPROM_DEVICE_GUID_PROPERTY} ay 16 0x"${data[0]}" 0x"${data[1]}" 0x"${data[2]}" 0x"${data[3]}" 0x"${data[4]}" 0x"${data[5]}" 0x"${data[6]}" 0x"${data[7]}" 0x"${data[8]}" 0x"${data[9]}" 0x"${data[10]}" 0x"${data[11]}" 0x"${data[12]}" 0x"${data[13]}" 0x"${data[14]}" 0x"${data[15]}"
|
||||
Reference in New Issue
Block a user