appdir.patch 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. From b978cbb651a4bdd84be4a92ae240c8ca99ef21eb Mon Sep 17 00:00:00 2001
  2. From: Leah Rowe <info@minifree.org>
  3. Date: Tue, 24 Sep 2024 16:44:51 +0100
  4. Subject: [PATCH 1/1] Patch to integrate with lbmk
  5. Deguard is a standalone utility, but the way it works
  6. doesn't integrate well with lbmk.
  7. Remove the download logic, because lbmk already downloads
  8. the requisite zip file.
  9. Also not required, but nice, and included in this patch:
  10. Detect what python version is available, and make sure it's
  11. python 3.
  12. Signed-off-by: Leah Rowe <info@minifree.org>
  13. ---
  14. RUNME.sh | 64 +++++++++++++++++++++++++++++++-------------------------
  15. 1 file changed, 36 insertions(+), 28 deletions(-)
  16. diff --git a/RUNME.sh b/RUNME.sh
  17. index 9809f89..7404ba6 100755
  18. --- a/RUNME.sh
  19. +++ b/RUNME.sh
  20. @@ -1,25 +1,33 @@
  21. #!/bin/sh
  22. # SPDX-License-Identifier: GPL-2.0-only
  23. +# This version of deguard is patched to integrate with lbmk.
  24. +# Do not run this version standalone. Please use src/deguard/ instead.
  25. +
  26. set -e
  27. -if [ ! -f "me.bin" ]; then
  28. - wget "https://download.asrock.com/BIOS/1151/H110M-DGS(7.30)ROM.zip"
  29. - unzip "H110M-DGS(7.30)ROM.zip" H11MDGS7.30
  30. - rm "H110M-DGS(7.30)ROM.zip"
  31. - dd if=H11MDGS7.30 of=me.bin skip=1 count=511 bs=4096
  32. - rm H11MDGS7.30
  33. +pyver="2"
  34. +python="python3"
  35. +which python3 || python="python"
  36. +which $python || pyver=""
  37. +[ -n "$pyver" ] && pyver="$($python --version | awk '{print $2}')"
  38. +if [ "${pyver%%.*}" != "3" ]; then
  39. + printf "Wrong python version, or python missing. Must be python 3.\n" 1>&2
  40. + exit 1
  41. fi
  42. +rm -f me.bin MFS.part
  43. +dd if=../H11MDGS7.30 of=me.bin skip=1 count=511 bs=4096
  44. +
  45. dd if=me.bin of=MFS.part skip=168 count=100 bs=4096
  46. # Extract file number 7 (fitc.cfg)
  47. -python3 MFSUtil.py -m MFS.part -x -i 7 -o fitc.cfg
  48. +$python MFSUtil.py -m MFS.part -x -i 7 -o fitc.cfg
  49. # Remove /home/mca/eom
  50. -python3 MFSUtil.py -c fitc.cfg -r -f /home/mca/eom -o fitc.cfg
  51. +$python MFSUtil.py -c fitc.cfg -r -f /home/mca/eom -o fitc.cfg
  52. # Remove /home/bup/ct
  53. -python3 MFSUtil.py -c fitc.cfg -r -f /home/bup/ct -o fitc.cfg
  54. +$python MFSUtil.py -c fitc.cfg -r -f /home/bup/ct -o fitc.cfg
  55. # list off files differing in optiplex 3050 fw vs donor
  56. files="
  57. @@ -39,40 +47,40 @@ secureboot/pubkeyhash
  58. for i in $files
  59. do
  60. - python3 MFSUtil.py -c fitc.cfg -r -f /home/$i -o fitc.cfg
  61. + $python MFSUtil.py -c fitc.cfg -r -f /home/$i -o fitc.cfg
  62. done
  63. # Add /home/mca/eom
  64. dd if=/dev/zero of=eom count=1 bs=1
  65. -python3 MFSUtil.py -c fitc.cfg --add eom --alignment 2 --mode ' --Irw-r-----' \
  66. +$python MFSUtil.py -c fitc.cfg --add eom --alignment 2 --mode ' --Irw-r-----' \
  67. --opt '?!-F' --uid 0 --gid 238 -f /home/mca/eom -o fitc.cfg
  68. # Add /home/bup/ct
  69. -python3 gen_shellcode.py -p H -v 11.6.0.1126 --fake-fpfs=fpfs/optiplex_3050 -o ct
  70. -python3 MFSUtil.py -c fitc.cfg --add ct --alignment 2 --mode ' ---rwxr-----' \
  71. +$python gen_shellcode.py -p H -v 11.6.0.1126 --fake-fpfs=fpfs/optiplex_3050 -o ct
  72. +$python MFSUtil.py -c fitc.cfg --add ct --alignment 2 --mode ' ---rwxr-----' \
  73. --opt '?--F' --uid 3 --gid 351 -f /home/bup/ct -o fitc.cfg
  74. # Add dell files
  75. -python3 MFSUtil.py -c fitc.cfg --add data/emu_fuse_map --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=3 --gid=238 -f /home/bup/bup_sku/emu_fuse_map -o fitc.cfg
  76. -python3 MFSUtil.py -c fitc.cfg --add data/plat_n_sku --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=3 --gid=238 -f /home/bup/bup_sku/plat_n_sku -o fitc.cfg
  77. -python3 MFSUtil.py -c fitc.cfg --add data/fwuoemid --alignment 2 --mode=' ---rw-rw----' --opt='?--F' --uid=32 --gid=238 -f /home/fwupdate/fwuoemid -o fitc.cfg
  78. -python3 MFSUtil.py -c fitc.cfg --add data/prof0 --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=55 --gid=238 -f /home/icc/prof0 -o fitc.cfg
  79. -python3 MFSUtil.py -c fitc.cfg --add data/device_ports --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=73 --gid=238 -f /home/mctp/device_ports -o fitc.cfg
  80. -python3 MFSUtil.py -c fitc.cfg --add data/hdcp_ports --alignment 2 --mode=' -EIrw-r-----' --opt='?!-F' --uid=80 --gid=238 -f /home/pavp/hdcp_ports -o fitc.cfg
  81. -python3 MFSUtil.py -c fitc.cfg --add data/cfg_rules --alignment 2 --mode=' ---rw-rw----' --opt='-!MF' --uid=85 --gid=238 -f /home/policy/cfgmgr/cfg_rules -o fitc.cfg
  82. -python3 MFSUtil.py -c fitc.cfg --add data/bootpolres --alignment 2 --mode=' ---rw-rw----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/bootpolres -o fitc.cfg
  83. -python3 MFSUtil.py -c fitc.cfg --add data/bootpoltype --alignment 2 --mode=' ---rw-rw----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/bootpoltype -o fitc.cfg
  84. -python3 MFSUtil.py -c fitc.cfg --add data/enfpolicy --alignment 2 --mode=' ---rw-rw----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/enfpolicy -o fitc.cfg
  85. -python3 MFSUtil.py -c fitc.cfg --add data/kmid --alignment 2 --mode=' ---rw-r-----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/kmid -o fitc.cfg
  86. -python3 MFSUtil.py -c fitc.cfg --add data/pubkeyhash --alignment 2 --mode=' ---rw-rw-r--' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/pubkeyhash -o fitc.cfg
  87. +$python MFSUtil.py -c fitc.cfg --add data/emu_fuse_map --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=3 --gid=238 -f /home/bup/bup_sku/emu_fuse_map -o fitc.cfg
  88. +$python MFSUtil.py -c fitc.cfg --add data/plat_n_sku --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=3 --gid=238 -f /home/bup/bup_sku/plat_n_sku -o fitc.cfg
  89. +$python MFSUtil.py -c fitc.cfg --add data/fwuoemid --alignment 2 --mode=' ---rw-rw----' --opt='?--F' --uid=32 --gid=238 -f /home/fwupdate/fwuoemid -o fitc.cfg
  90. +$python MFSUtil.py -c fitc.cfg --add data/prof0 --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=55 --gid=238 -f /home/icc/prof0 -o fitc.cfg
  91. +$python MFSUtil.py -c fitc.cfg --add data/device_ports --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=73 --gid=238 -f /home/mctp/device_ports -o fitc.cfg
  92. +$python MFSUtil.py -c fitc.cfg --add data/hdcp_ports --alignment 2 --mode=' -EIrw-r-----' --opt='?!-F' --uid=80 --gid=238 -f /home/pavp/hdcp_ports -o fitc.cfg
  93. +$python MFSUtil.py -c fitc.cfg --add data/cfg_rules --alignment 2 --mode=' ---rw-rw----' --opt='-!MF' --uid=85 --gid=238 -f /home/policy/cfgmgr/cfg_rules -o fitc.cfg
  94. +$python MFSUtil.py -c fitc.cfg --add data/bootpolres --alignment 2 --mode=' ---rw-rw----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/bootpolres -o fitc.cfg
  95. +$python MFSUtil.py -c fitc.cfg --add data/bootpoltype --alignment 2 --mode=' ---rw-rw----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/bootpoltype -o fitc.cfg
  96. +$python MFSUtil.py -c fitc.cfg --add data/enfpolicy --alignment 2 --mode=' ---rw-rw----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/enfpolicy -o fitc.cfg
  97. +$python MFSUtil.py -c fitc.cfg --add data/kmid --alignment 2 --mode=' ---rw-r-----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/kmid -o fitc.cfg
  98. +$python MFSUtil.py -c fitc.cfg --add data/pubkeyhash --alignment 2 --mode=' ---rw-rw-r--' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/pubkeyhash -o fitc.cfg
  99. # Delete file id 7 (fitc.cfg) from the MFS partition
  100. -python3 MFSUtil.py -m MFS.part -r -i 7 -o MFS.part
  101. +$python MFSUtil.py -m MFS.part -r -i 7 -o MFS.part
  102. # Delete file id 8 (home) from the MFS partition
  103. -python3 MFSUtil.py -m MFS.part -r -i 8 -o MFS.part
  104. +$python MFSUtil.py -m MFS.part -r -i 8 -o MFS.part
  105. # Add the modified fitc.cfg into the MFS partition
  106. -python3 MFSUtil.py -m MFS.part -a fitc.cfg --deoptimize -i 7 -o MFS.part
  107. +$python MFSUtil.py -m MFS.part -a fitc.cfg --deoptimize -i 7 -o MFS.part
  108. # Write
  109. dd conv=notrunc if=MFS.part of=me.bin seek=168 count=100 bs=4096
  110. --
  111. 2.39.5