Browse Source

Update the utility scripts and README.md file for the new X230 Tablet release

pull/150/head
Tom 4 years ago
parent
commit
3779bcebae
9 changed files with 36 additions and 325 deletions
  1. +11
    -11
      x230t/README.md
  2. +3
    -3
      x230t/build.sh
  3. +1
    -1
      x230t/compile.sh
  4. +2
    -2
      x230t/external_install_bottom.sh
  5. +2
    -2
      x230t/external_install_top.sh
  6. +4
    -4
      x230t/release.sh
  7. +0
    -162
      x230t/x230_heads.sh
  8. +0
    -127
      x230t/x230_heads_extract_blobs.sh
  9. +13
    -13
      x230t/x230t_skulls.sh

+ 11
- 11
x230t/README.md View File

@ -1,4 +1,4 @@
# Skulls - [Thinkpad X230](https://pcsupport.lenovo.com/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x230) and X230T
# Skulls - [Thinkpad X230 Tablet](https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-x-series-tablet-laptops/thinkpad-x230-tablet)
![seabios_bootmenu](front.jpg) ![seabios_bootmenu](front.jpg)
@ -12,10 +12,10 @@ Get it from our [release page](https://github.com/merge/coreboot-x230/releases)
We release multiple different, but _very similar_ images you can choose from. We release multiple different, but _very similar_ images you can choose from.
They all should work on all versions of the X230/X230T. These are the They all should work on all versions of the X230/X230T. These are the
differences; (xxxxxxxxxx stands for random characters in the filename): differences; (xxxxxxxxxx stands for random characters in the filename):
* `x230_coreboot_seabios_xxxxxxxxxx_top.rom` includes the _proprietary_
* `x230t_coreboot_seabios_xxxxxxxxxx_top.rom` includes the _proprietary_
[VGA BIOS](https://en.wikipedia.org/wiki/Video_BIOS) from [Intel](https://www.intel.com/content/www/us/en/intelligent-systems/intel-embedded-graphics-drivers/faq-bios-firmware.html) [VGA BIOS](https://en.wikipedia.org/wiki/Video_BIOS) from [Intel](https://www.intel.com/content/www/us/en/intelligent-systems/intel-embedded-graphics-drivers/faq-bios-firmware.html)
which is non-free software. It is executed in "secure" mode. which is non-free software. It is executed in "secure" mode.
* `x230_coreboot_seabios_free_xxxxxxxxxx_top.rom` includes the
* `x230t_coreboot_seabios_free_xxxxxxxxxx_top.rom` includes the
[VGA BIOS](https://en.wikipedia.org/wiki/Video_BIOS) [VGA BIOS](https://en.wikipedia.org/wiki/Video_BIOS)
[SeaVGABIOS](https://www.seabios.org/SeaVGABIOS) which is free software. [SeaVGABIOS](https://www.seabios.org/SeaVGABIOS) which is free software.
While technically more interesting, visually this is currently not as While technically more interesting, visually this is currently not as
@ -33,13 +33,13 @@ beautiful:
* [How to rebuild](#how-to-reproduce-the-release-images) * [How to rebuild](#how-to-reproduce-the-release-images)
## TL;DR ## TL;DR
1. run `sudo ./x230_skulls.sh` on your current X230 Linux system
1. run `sudo ./x230t_skulls.sh` on your current X230 Linux system
2. Power down, remove the battery. Remove the keyboard and palmrest. Connect 2. Power down, remove the battery. Remove the keyboard and palmrest. Connect
a hardware flasher to an external PC (or a Raspberry Pi with a SPI 8-pin chip clip a hardware flasher to an external PC (or a Raspberry Pi with a SPI 8-pin chip clip
can directly be used), and run can directly be used), and run
`sudo ./external_install_bottom.sh` on the lower chip `sudo ./external_install_bottom.sh` on the lower chip
and `sudo ./external_install_top.sh` on the top chip of the two. and `sudo ./external_install_top.sh` on the top chip of the two.
3. For updating later, run `./x230_skulls.sh`. No need to disassemble.
3. For updating later, run `./x230t_skulls.sh`. No need to disassemble.
And always use the latest [released](https://github.com/merge/coreboot-x230/releases) And always use the latest [released](https://github.com/merge/coreboot-x230/releases)
package. This will be tested. The git master package. This will be tested. The git master
@ -47,15 +47,15 @@ branch is _not_ meant to be stable. Use it for testing only.
## First-time installation ## First-time installation
#### before you begin #### before you begin
Run Linux on your X230, install `dmidecode` and run
`sudo ./x230_skulls.sh`. It simply prints system information and
Run Linux on your X230 Tablet, install `dmidecode` and run
`sudo ./x230t_skulls.sh`. It simply prints system information and
helps you to be up to date. helps you to be up to date.
Make sure you have the latest skulls-x230 package release by running
`./x230_skulls.sh -U`.
Make sure you have the latest skulls-x230t package release by running
`./x230t_skulls.sh -U`.
#### original BIOS update / EC firmware (optional) #### original BIOS update / EC firmware (optional)
If the script, `sudo ./x230_skulls.sh` says "The installed original BIOS is very
If the script, `sudo ./x230t_skulls.sh` says "The installed original BIOS is very
old.", it means that you have a BIOS version that may include an EC version old.", it means that you have a BIOS version that may include an EC version
older than 1.14. older than 1.14.
@ -71,7 +71,7 @@ further firmware patching.
You have 2 options: You have 2 options:
* use [the latest original CD](https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x230/downloads/ds029187) and burn it, or
* use [the latest original CD](https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-x-series-tablet-laptops/thinkpad-x230-tablet/downloads/DS029683) and burn it, or
* use the same, only with a patched EC firmware that allows using any aftermarket-battery: * use the same, only with a patched EC firmware that allows using any aftermarket-battery:
(this is only possible up to EC Firmware 1.14) (this is only possible up to EC Firmware 1.14)
By default, only original Lenovo batteries are allowed. By default, only original Lenovo batteries are allowed.


+ 3
- 3
x230t/build.sh View File

@ -7,7 +7,7 @@ have_config=0
usage() usage()
{ {
echo "Skulls for the X230"
echo "Skulls for the X230 Tablet"
echo " Run this script to rebuild a released image" echo " Run this script to rebuild a released image"
echo "" echo ""
echo "Usage: $0 [-c <config_file>]" echo "Usage: $0 [-c <config_file>]"
@ -77,5 +77,5 @@ CONFIGFILE_READY=$(echo $CONFIGFILE | cut -d'-' -f2-)
cp $CONFIGFILE $CONFIGFILE_READY cp $CONFIGFILE $CONFIGFILE_READY
cd .. cd ..
./build.sh --clean-slate --commit $(ls -1 x230/defconfig-* | cut -d'-' -f2-) x230
rm -f x230/defconfig-*
./build.sh --clean-slate --commit $(ls -1 x230t/defconfig-* | cut -d'-' -f2-) x230t
rm -f x230t/defconfig-*

+ 1
- 1
x230t/compile.sh View File

@ -11,7 +11,7 @@ source /home/coreboot/common_scripts/config_and_make.sh
## MODEL VARIABLES ## MODEL VARIABLES
################################################################################ ################################################################################
MAINBOARD="lenovo" MAINBOARD="lenovo"
MODEL="x230"
MODEL="x230t"
################################################################################ ################################################################################


+ 2
- 2
x230t/external_install_bottom.sh View File

@ -20,9 +20,9 @@ rpi_frequency=0
usage() usage()
{ {
echo "Skulls for the X230"
echo "Skulls for the X230 Tablet"
echo " Run this script on an external computer with a flasher" echo " Run this script on an external computer with a flasher"
echo " connected to the X230's bottom chip (farther away from"
echo " connected to the X230T's bottom chip (farther away from"
echo " the display, closer to you)." echo " the display, closer to you)."
echo "" echo ""
echo "Usage: $0 [-m] [-k <backup_filename>] [-l] [-f <flasher>] [-b <spispeed>] [-c <chip>]" echo "Usage: $0 [-m] [-k <backup_filename>] [-l] [-f <flasher>] [-b <spispeed>] [-c <chip>]"


+ 2
- 2
x230t/external_install_top.sh View File

@ -15,7 +15,7 @@ rpi_frequency=0
usage() usage()
{ {
echo "Skulls for the X230"
echo "Skulls for the X230 Tablet"
echo " Run this script on an external computer with a flasher" echo " Run this script on an external computer with a flasher"
echo " connected to the X230's top chip (closer to the display" echo " connected to the X230's top chip (closer to the display"
echo " and farther from you)" echo " and farther from you)"
@ -83,7 +83,7 @@ command -v flashrom >/dev/null 2>&1 || { echo -e >&2 "${RED}Please install flash
command -v mktemp >/dev/null 2>&1 || { echo -e >&2 "${RED}Please install mktemp (coreutils)${NC}."; exit 1; } command -v mktemp >/dev/null 2>&1 || { echo -e >&2 "${RED}Please install mktemp (coreutils)${NC}."; exit 1; }
if [ ! "$have_input_image" -gt 0 ] ; then if [ ! "$have_input_image" -gt 0 ] ; then
image_available=$(ls -1 | grep x230_coreboot_seabios || true)
image_available=$(ls -1 | grep x230t_coreboot_seabios || true)
if [ -z "${image_available}" ] ; then if [ -z "${image_available}" ] ; then
echo "No image file found. Please add -i <file>" echo "No image file found. Please add -i <file>"
echo "" echo ""


+ 4
- 4
x230t/release.sh View File

@ -115,7 +115,7 @@ if [ ! "$filesize" -eq "$reference_filesize" ] ; then
exit 1 exit 1
fi fi
RELEASE_DIR="skulls-x230-${version}"
RELEASE_DIR="skulls-x230t-${version}"
rm -rf "$RELEASE_DIR" rm -rf "$RELEASE_DIR"
mkdir -p "$RELEASE_DIR" mkdir -p "$RELEASE_DIR"
@ -132,9 +132,9 @@ sha256sum ${RELEASE_DIR}/${RELEASE_IMAGE_FILE_2} > "${RELEASE_DIR}/${RELEASE_IMA
cp ../SOURCE.md "$RELEASE_DIR" cp ../SOURCE.md "$RELEASE_DIR"
cp -a ../util "$RELEASE_DIR" cp -a ../util "$RELEASE_DIR"
# copy in x230 stuff
# copy in x230t stuff
cp -a README.md NEWS LICENSE* \ cp -a README.md NEWS LICENSE* \
x230_skulls.sh x230_heads.sh \
x230t_skulls.sh \
external_install_bottom.sh external_install_top.sh \ external_install_bottom.sh external_install_top.sh \
"$RELEASE_DIR" "$RELEASE_DIR"
@ -143,7 +143,7 @@ tar -cJf "$RELEASE_DIR".tar.xz "$RELEASE_DIR"
rm -rf "$RELEASE_DIR" rm -rf "$RELEASE_DIR"
git commit -a -m "update to ${version}" git commit -a -m "update to ${version}"
git tag -s "${version}" -m "skulls-x230 ${version}"
git tag -s "${version}" -m "skulls-x230t ${version}"
sha256sum "$RELEASE_DIR".tar.xz > "$RELEASE_DIR".tar.xz.sha256 sha256sum "$RELEASE_DIR".tar.xz > "$RELEASE_DIR".tar.xz.sha256
sha512sum "$RELEASE_DIR".tar.xz > "$RELEASE_DIR".tar.xz.sha512 sha512sum "$RELEASE_DIR".tar.xz > "$RELEASE_DIR".tar.xz.sha512


+ 0
- 162
x230t/x230_heads.sh View File

@ -1,162 +0,0 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-3.0+
# Copyright (C) 2018, Martin Kepplinger <martink@posteo.de>
set -e
cd "$(dirname "$0")"
source "util/functions.sh"
have_input_image=0
extended_mode=0
usage()
{
echo "Skulls for the X230"
echo " Run this script on the X230 directly."
echo ""
echo " This flashes Heads to your BIOS, see http://osresearch.net"
echo " Heads is a different project. No image is included."
echo " Read https://github.com/osresearch/heads for how to build it"
echo " Make sure you booted Linux with iomem=relaxed"
echo ""
echo "Usage: $0 -i <heads_image>.rom"
echo ""
echo " (EXPERIMENTAL) Extended Bios:"
echo " -x use extended mode"
echo ""
echo "Usage example:"
echo "Flash an extended Heads image: $0 -x -i <heads_image>.rom"
}
args=$(getopt -o xi:h -- "$@")
if [ $? -ne 0 ] ; then
usage
exit 1
fi
eval set -- "$args"
while [ $# -gt 0 ]
do
case "$1" in
-i)
INPUT_IMAGE_PATH=$2
have_input_image=1
shift
;;
-x)
extended_mode=1
;;
-h)
usage
exit 1
;;
--)
shift
break
;;
*)
echo "Invalid option: $1"
exit 1
;;
esac
shift
done
force_x230_and_root
if [ ! "$have_input_image" -gt 0 ] ; then
image_available=$(ls -1 | grep rom || true)
if [ -z "${image_available}" ] ; then
echo "No image file found. Please add -i <file>"
echo ""
usage
exit 1
fi
prompt="file not specified. Please select a file to flash:"
options=( $(find -maxdepth 1 -name "*rom" -print0 | xargs -0) )
PS3="$prompt "
select INPUT_IMAGE_PATH in "${options[@]}" "Quit" ; do
if (( REPLY == 1 + ${#options[@]} )) ; then
exit
elif (( REPLY > 0 && REPLY <= ${#options[@]} )) ; then
break
else
echo "Invalid option. Try another one."
fi
done
fi
OUTPUT_PATH=output
INPUT_IMAGE_NAME=$(basename "${INPUT_IMAGE_PATH}")
OUTPUT_IMAGE_NAME=${INPUT_IMAGE_NAME%%.*}_prepared.rom
echo -e "input: ${INPUT_IMAGE_NAME}"
echo -e "output: ${OUTPUT_PATH}/${OUTPUT_IMAGE_NAME}"
input_filesize=$(wc -c <"$INPUT_IMAGE_PATH")
reference_filesize=12582912
if [ ! "$input_filesize" -eq "$reference_filesize" ] ; then
echo "Error: input file must be 12MB of size"
exit 1
fi
rm -rf ${OUTPUT_PATH}
mkdir ${OUTPUT_PATH}
cp "${INPUT_IMAGE_PATH}" "${OUTPUT_PATH}/${OUTPUT_IMAGE_NAME}"
LAYOUT_FILENAME="x230-layout-heads.txt"
if [ ! "$extended_mode" -gt 0 ] ; then
echo "0x00000000:0x00000fff ifd" > ${OUTPUT_PATH}/${LAYOUT_FILENAME}
echo "0x00001000:0x00002fff gbe" >> ${OUTPUT_PATH}/${LAYOUT_FILENAME}
echo "0x00003000:0x004fffff me" >> ${OUTPUT_PATH}/${LAYOUT_FILENAME}
echo "0x00500000:0x00bfffff bios" >> ${OUTPUT_PATH}/${LAYOUT_FILENAME}
else
echo -e "${YELLOW}EXPERIMENTAL: extended flash image${NC}"
echo "0x00000000:0x00000fff ifd" > ${OUTPUT_PATH}/${LAYOUT_FILENAME}
echo "0x00001000:0x00002fff gbe" >> ${OUTPUT_PATH}/${LAYOUT_FILENAME}
echo "0x00003000:0x0001afff me" >> ${OUTPUT_PATH}/${LAYOUT_FILENAME}
echo "0x0001b000:0x00bfffff bios" >> ${OUTPUT_PATH}/${LAYOUT_FILENAME}
fi
echo -e "${YELLOW}WARNING${NC}: Make sure not to power off your computer or interrupt this process in any way!"
echo -e " Interrupting this process may result in irreparable damage to your computer!"
check_battery
while true; do
read -r -p "Flash the BIOS now? y/N: " yn
case $yn in
[Yy]* )
if [ ! "$extended_mode" -gt 0 ] ; then
cd ${OUTPUT_PATH} && ${FLASHROM} --force --noverify-all -p internal --layout ${LAYOUT_FILENAME} --image bios -w "${OUTPUT_IMAGE_NAME}"
else
cd ${OUTPUT_PATH} && ${FLASHROM} -p internal --layout ${LAYOUT_FILENAME} --image ifd -w "${OUTPUT_IMAGE_NAME}"
${FLASHROM} -p internal --layout ${LAYOUT_FILENAME} --image me -w "${OUTPUT_IMAGE_NAME}"
${FLASHROM} -p internal --layout ${LAYOUT_FILENAME} --image bios -w "${OUTPUT_IMAGE_NAME}"
fi
break
;;
[Nn]* )
exit
;;
* )
exit
;;
esac
done
rm -rf ${OUTPUT_PATH}
while true; do
read -r -p "Power off now? (please do!) Y/n: " yn
case $yn in
[Yy]* ) poweroff ;;
[Nn]* ) exit;;
* ) poweroff ;;
esac
done

+ 0
- 127
x230t/x230_heads_extract_blobs.sh View File

@ -1,127 +0,0 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-3.0+
# Copyright (C) 2019, Martin Kepplinger <martink@posteo.de>
set -e
cd "$(dirname "$0")"
IFDTOOL=./util/ifdtool/ifdtool
ME_CLEANER=./util/me_cleaner/me_cleaner.py
have_input_image=0
usage()
{
echo "EXPERIMENTAL"
echo ""
echo "This generates files for building Heads from your original 12M backup:"
echo " (cat bottom.bin top.bin > full_backup_image.rom)"
echo " ifd/me will be shrinked by me_cleaner and unlocked"
echo ""
echo " http://osresearch.net"
echo ""
echo "Usage: $0 -f <full_backup_image>.rom -i <ifdtool>(optional) -m <me_cleaner.py(optional)"
}
args=$(getopt -o f:m:i:h -- "$@")
if [ $? -ne 0 ] ; then
usage
exit 1
fi
eval set -- "$args"
while [ $# -gt 0 ]
do
case "$1" in
-f)
INPUT_IMAGE_PATH=$2
have_input_image=1
shift
;;
-m)
ME_CLEANER=$2
shift
;;
-i)
IFDTOOL=$2
shift
;;
-h)
usage
exit 1
;;
--)
shift
break
;;
*)
echo "Invalid option: $1"
exit 1
;;
esac
shift
done
if [ ! "$have_input_image" -gt 0 ] ; then
echo "No image file specified. Please add -f <file>"
echo ""
usage
exit 1
fi
if [ ! -e ${IFDTOOL} ] ; then
if [ ! -d util/ifdtool ] ; then
echo "Please specify -i <ifdtool>"
exit 1
fi
make -C util/ifdtool
if [ ! -e ${IFDTOOL} ] ; then
echo "Failed to build ifdtool"
exit 1
fi
fi
if [ ! -e ${ME_CLEANER} ] ; then
mkdir -p util/me_cleaner
curl -L https://raw.githubusercontent.com/corna/me_cleaner/v1.2/me_cleaner.py -o util/me_cleaner/me_cleaner.py
if [ ! -e ${ME_CLEANER} ] ; then
echo "Failed to download me_cleaner"
exit 1
fi
fi
OUTPUT_PATH=output
INPUT_IMAGE_NAME=$(basename "${INPUT_IMAGE_PATH}")
WORK_IMAGE_NAME=${INPUT_IMAGE_NAME%%.*}_prepared.rom
input_filesize=$(wc -c <"$INPUT_IMAGE_PATH")
reference_filesize=12582912
if [ ! "$input_filesize" -eq "$reference_filesize" ] ; then
echo "Error: input file must be 12MB of size"
exit 1
fi
rm -rf ${OUTPUT_PATH}
mkdir ${OUTPUT_PATH}
cp "${INPUT_IMAGE_PATH}" "${OUTPUT_PATH}/${WORK_IMAGE_NAME}"
${IFDTOOL} -x "${OUTPUT_PATH}/${WORK_IMAGE_NAME}"
mv flashregion*bin "${OUTPUT_PATH}/"
cp "${OUTPUT_PATH}/flashregion_3_gbe.bin" "${OUTPUT_PATH}/gbe.bin"
rm ${OUTPUT_PATH}/flashregion*bin
python ${ME_CLEANER} -r -t -d -S -O "${OUTPUT_PATH}/unneeded_cleaned_image.bin" -D "${OUTPUT_PATH}/ifd_shrinked.bin" -M "${OUTPUT_PATH}/me.bin" "${OUTPUT_PATH}/${WORK_IMAGE_NAME}"
rm "${OUTPUT_PATH}/unneeded_cleaned_image.bin"
${IFDTOOL} -u "${OUTPUT_PATH}/ifd_shrinked.bin"
mv "${OUTPUT_PATH}/ifd_shrinked.bin.new" "${OUTPUT_PATH}/descriptor.bin"
rm "${OUTPUT_PATH}/ifd_shrinked.bin"
rm "${OUTPUT_PATH}/${WORK_IMAGE_NAME}"
echo "done. this is what a layout file should look like:"
echo "0x00000000:0x00000fff ifd"
echo "0x00001000:0x00002fff gbe"
echo "0x00003000:0x0001afff me"
echo "0x0001b000:0x00bfffff bios"
mv ${OUTPUT_PATH}/* . && rm -rf ${OUTPUT_PATH}

x230t/x230_skulls.sh → x230t/x230t_skulls.sh View File

@ -14,8 +14,8 @@ verbose=0
usage() usage()
{ {
echo "Skulls for the X230"
echo " Run this script on the X230 directly."
echo "Skulls for the X230 Tablet"
echo " Run this script on the X230 Tablet directly."
echo "" echo ""
echo " This flashes the BIOS with the given image." echo " This flashes the BIOS with the given image."
echo " Make sure you booted Linux with iomem=relaxed" echo " Make sure you booted Linux with iomem=relaxed"
@ -76,9 +76,9 @@ if [ "$request_update" -gt 0 ] ; then
UPSTREAM_VERSION=$(curl -s https://api.github.com/repos/merge/skulls/releases/latest | grep browser_download_url | cut -d'"' -f4 | cut -d'/' -f9 | head -n 1 | egrep -o "([0-9]{1,}\.)+[0-9]{1,}") UPSTREAM_VERSION=$(curl -s https://api.github.com/repos/merge/skulls/releases/latest | grep browser_download_url | cut -d'"' -f4 | cut -d'/' -f9 | head -n 1 | egrep -o "([0-9]{1,}\.)+[0-9]{1,}")
UPSTREAM_X230=$(echo ${UPSTREAM_FILE} | grep x230)
if [[ -z "$UPSTREAM_X230" ]] ; then
echo "The latest release didn't include the X230"
UPSTREAM_X230T=$(echo ${UPSTREAM_FILE} | grep x230t)
if [[ -z "$UPSTREAM_X230T" ]] ; then
echo "The latest release didn't include the X230 Tablet"
exit 0 exit 0
fi fi
@ -87,10 +87,10 @@ if [ "$request_update" -gt 0 ] ; then
fi fi
if [[ "$CURRENT_VERSION" = "$UPSTREAM_VERSION" ]] ; then if [[ "$CURRENT_VERSION" = "$UPSTREAM_VERSION" ]] ; then
echo -e "${GREEN}You are using the latest version of Skulls for the X230${NC}"
echo -e "${GREEN}You are using the latest version of Skulls for the X230 Tablet${NC}"
exit 0 exit 0
elif [[ "$CURRENT_VERSION" < "$UPSTREAM_VERSION" ]] ; then elif [[ "$CURRENT_VERSION" < "$UPSTREAM_VERSION" ]] ; then
echo -e "${RED}You have ${CURRENT_VERSION} but there is version ${UPSTREAM_VERSION} available for the X230. Please update.${NC}"
echo -e "${RED}You have ${CURRENT_VERSION} but there is version ${UPSTREAM_VERSION} available for the X230 Tablet. Please update.${NC}"
read -r -p "Download it to the parent directory now? [y/N] " response read -r -p "Download it to the parent directory now? [y/N] " response
case "$response" in case "$response" in
[yY][eE][sS]|[yY]) [yY][eE][sS]|[yY])
@ -100,9 +100,9 @@ if [ "$request_update" -gt 0 ] ; then
curl -LO ${UPSTREAM_URL} curl -LO ${UPSTREAM_URL}
curl -LO ${UPSTREAM_URL_SHA256} curl -LO ${UPSTREAM_URL_SHA256}
sha256sum -c ${UPSTREAM_FILE}.sha256 sha256sum -c ${UPSTREAM_FILE}.sha256
mkdir skulls-x230-${UPSTREAM_VERSION}
tar -xf ${UPSTREAM_FILE} -C skulls-x230-${UPSTREAM_VERSION}/
echo "Version ${UPSTREAM_VERSION} extracted to ../skulls-x230-${UPSTREAM_VERSION}/"
mkdir skulls-x230t-${UPSTREAM_VERSION}
tar -xf ${UPSTREAM_FILE} -C skulls-x230t-${UPSTREAM_VERSION}/
echo "Version ${UPSTREAM_VERSION} extracted to ../skulls-x230t-${UPSTREAM_VERSION}/"
echo "Please continue in the new directory." echo "Please continue in the new directory."
;; ;;
*) *)
@ -110,7 +110,7 @@ if [ "$request_update" -gt 0 ] ; then
;; ;;
esac esac
else else
echo "You seem to use a development version. Please use release package skulls-x230 ${UPSTREAM_VERSION} for flashing."
echo "You seem to use a development version. Please use release package skulls-x230t ${UPSTREAM_VERSION} for flashing."
fi fi
exit 0 exit 0
@ -145,7 +145,7 @@ if [[ "$verbose" -gt 0 ]] ; then
fi fi
if [ ! "$have_input_image" -gt 0 ] ; then if [ ! "$have_input_image" -gt 0 ] ; then
image_available=$(ls -1 | grep x230_coreboot_seabios || true)
image_available=$(ls -1 | grep x230t_coreboot_seabios || true)
if [ -z "${image_available}" ] ; then if [ -z "${image_available}" ] ; then
echo "No image file found. Please add -i <file>" echo "No image file found. Please add -i <file>"
echo "" echo ""
@ -154,7 +154,7 @@ if [ ! "$have_input_image" -gt 0 ] ; then
fi fi
prompt="file not specified. Please select a file to flash. Please read the README for details about the differences:" prompt="file not specified. Please select a file to flash. Please read the README for details about the differences:"
options=( $(find -maxdepth 1 -name "x230_coreboot_seabios*rom" -print0 | xargs -0) )
options=( $(find -maxdepth 1 -name "x230t_coreboot_seabios*rom" -print0 | xargs -0) )
PS3="$prompt " PS3="$prompt "
select INPUT_IMAGE_PATH in "${options[@]}" "Quit" ; do select INPUT_IMAGE_PATH in "${options[@]}" "Quit" ; do

Loading…
Cancel
Save