#!/bin/sh for arg in "$@" do if [ -f $arg ] then retry=0 until [ ! $num = '0' ] do sleep 1 num=$(cat /sys/devices/platform/efi_capsule_user_helper/capsule_ticket) if [ $retry -le 130 ] then retry=$((retry + 1)) else echo "Failed to acquire capsule ticket" exit 1 fi done oldtime=$(date +%S) oldtime=$(((time + 2) % 60)) until [ -f /sys/class/firmware/efi-capsule-file/loading ] do newtime=$(date +%S) if [ $newtime -eq $oldtime ] then echo "Failed to expose user helper interface" exit 1 fi done echo 1 > /sys/class/firmware/efi-capsule-file/loading cat $arg > /sys/class/firmware/efi-capsule-file/data echo 0 > /sys/class/firmware/efi-capsule-file/loading until [ -n "$result" ] do result=$(cat /sys/devices/platform/efi_capsule_user_helper/capsule_report | grep $num) done echo $result " (" $arg ")" else echo "File $arg not found !!" fi done exit 0