@@ -10,7 +10,8 @@ isChromeOS=true
1010isChromiumOS=false
1111isCloudready=false
1212flashromcmd=" "
13- flashrom_params=" -p host"
13+ flashrom_params=" "
14+ flashrom_programmer=" -p internal"
1415cbfstoolcmd=" "
1516gbbutilitycmd=" "
1617preferUSB=false
@@ -37,6 +38,7 @@ isCmlBox=false
3738isZen2=false
3839isJsl=false
3940isTgl=false
41+ isAdl=false
4042isUnsupported=false
4143firmwareType=" "
4244isStock=true
@@ -53,7 +55,6 @@ hasLAN=false
5355hasCR50=false
5456kbl_use_rwl18=false
5557useAltfwStd=false
56- runsWindows=false
5758
5859hsw_boxes=(' mccloud' ' panther' ' tricky' ' zako' )
5960hsw_books=(' falco' ' leon' ' monroe' ' peppy' ' wolf' )
@@ -247,7 +248,7 @@ if [ ! -f ${flashromcmd} ]; then
247248 else
248249 # have to use partition 12 (27 for cloudready) on rootdev due to noexec restrictions
249250 rootdev=$( rootdev -d -s)
250- [[ " ${rootdev} " =~ " mmcblk" || " ${rootdev} " =~ " nvme" ]] && part_pfx=" p" || part_pfx=" "
251+ [[ " ${rootdev} " =~ " mmcblk" || " ${rootdev} " =~ " nvme" ]] && part_pfx=" p" || part_pfx=" "
251252 [[ " $isCloudready " = " true" && -b ${rootdev}${part_pfx} 27 ]] \
252253 && part_num=" ${part_pfx} 27" || part_num=" ${part_pfx} 12"
253254 boot_mounted=$( mount | grep " ${rootdev} " " ${part_num} " )
@@ -271,15 +272,15 @@ if [ ! -f ${flashromcmd} ]; then
271272 # needed to avoid dependencies not found on older ChromeOS
272273 $CURL -sLo " flashrom.tar.gz" " ${util_source} flashrom_old.tar.gz"
273274 else
274- $CURL -sLO " ${util_source} flashrom .tar.gz"
275+ $CURL -sLO " ${util_source} flashrom_20230202 .tar.gz"
275276 fi
276277 if [ $? -ne 0 ]; then
277278 echo_red " Error downloading flashrom; cannot proceed."
278279 # restore working dir
279280 cd ${working_dir}
280281 return 1
281282 fi
282- tar -zxf flashrom .tar.gz --no-same-owner
283+ tar -zxf flashrom_20230202 .tar.gz --no-same-owner
283284 if [ $? -ne 0 ]; then
284285 echo_red " Error extracting flashrom; cannot proceed."
285286 # restore working dir
@@ -288,8 +289,6 @@ if [ ! -f ${flashromcmd} ]; then
288289 fi
289290 # set +x
290291 chmod +x flashrom
291- # add params
292- flashromcmd=" ${flashromcmd} ${flashrom_params} "
293292 # restore working dir
294293 cd ${working_dir}
295294fi
@@ -414,11 +413,15 @@ if [ $? -ne 0 ]; then
414413 echo_red " Unable to download flashrom utility; cannot continue"
415414 return 1
416415fi
416+ # append programmer type
417+ flashromcmd=" ${flashromcmd} ${flashrom_programmer} "
418+
417419get_cbfstool
418420if [ $? -ne 0 ]; then
419421 echo_red " Unable to download cbfstool utility; cannot continue"
420422 return 1
421423fi
424+
422425get_gbb_utility
423426if [ $? -ne 0 ]; then
424427 echo_red " Unable to download gbb_utility utility; cannot continue"
427430
428431# get device firmware info
429432echo -e " \nGetting device/system info..."
430- # try reading only flash descriptor
431- if ${flashromcmd} --ifd -i fd -r /tmp/bios.bin > /dev/null 2>&1 ; then
432- # we can flash only BIOS region later
433- flashrom_params=" --ifd -i bios"
433+ # try reading only BIOS region
434+ [[ " $isChromeOS " = " false" ]] && test_params=" :ich_spi_mode=hwseq" || test_params=" "
435+ if ${flashromcmd}${test_params} --ifd -i bios -r /tmp/bios.bin > /dev/null 2>&1 ; then
436+ flashromcmd=" ${flashromcmd}${test_params} "
437+ flashrom_params=" --ifd -i bios"
438+ else
439+ # read entire firmware
440+ ${flashromcmd} -r /tmp/bios.bin > /dev/null 2>&1
434441fi
435- # read entire firmware
436- ${flashromcmd} -r /tmp/bios.bin > /dev/null 2>&1
437442if [ $? -ne 0 ]; then
438443 echo_red " \nUnable to read current firmware; cannot continue."
439444 echo_red " Either add 'iomem=relaxed' to your kernel parameters,\nor trying running from a Live USB with a more permissive kernel (eg, Ubuntu)."
0 commit comments