From cd14ab78c9ba5a2913be52970fd99385222a1564 Mon Sep 17 00:00:00 2001 From: digmorepaka Date: Wed, 25 Mar 2020 00:07:51 +0100 Subject: [PATCH 1/8] L430 support L430 support, latest vulnerable version known: 2.54 --- start.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/start.sh b/start.sh index 6fa6208..85d8428 100644 --- a/start.sh +++ b/start.sh @@ -44,6 +44,8 @@ case $machine in if [ "260" -gt "$version" ]; then valid="true"; fi ;; W530) if [ "259" -gt "$version" ]; then valid="true"; fi ;; + L430) + if [ "255" -gt "$version" ]; then valid="true"; fi ;; esac if [ $valid == "false" ]; then From c5ec30a125fba1c845d6279891d8ba262e46e3ad Mon Sep 17 00:00:00 2001 From: digmorepaka Date: Sun, 12 Apr 2020 11:59:46 +0200 Subject: [PATCH 2/8] Rev 5 L430 disabled due to missing patches for fw, fixed padding *once again, sigh*. --- start.sh | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/start.sh b/start.sh index 85d8428..c567823 100644 --- a/start.sh +++ b/start.sh @@ -13,8 +13,7 @@ echo " 888 " echo " Y8b d88P " echo " \`Y88P\` " echo "Software-based jailbreak for IvyBridge (xx30) series ThinkPads" -echo "Revision 4" - +echo "Revision 5" # Give the network time to come online if ! ping -q -c 1 -W 1 8.8.8.8 >/dev/null; then echo -e "\e[1;32mWaiting 10 seconds for Network...\e[0m" && sleep 10; fi @@ -32,6 +31,8 @@ valid="false" flashsize=$(/root/flashrom/flashrom -p internal:laptop=force_I_want_a_brick --ifd -i bios -N -r /tmp/backup.rom > /dev/null && du /tmp/backup.rom | sed "s/[^0-9]//g") padding=$(expr $flashsize - 4096) +echo "You may see an error about flash regions being locked, this is expected and should not be a concern." + # Check if BIOS version is valid case $machine in X230Tablet|X230t) @@ -44,8 +45,9 @@ case $machine in if [ "260" -gt "$version" ]; then valid="true"; fi ;; W530) if [ "259" -gt "$version" ]; then valid="true"; fi ;; - L430) - if [ "255" -gt "$version" ]; then valid="true"; fi ;; +# Flash unlock works, fw patches don't. Temporarily disabled. +# L430) +# if [ "255" -gt "$version" ]; then valid="true"; fi ;; esac if [ $valid == "false" ]; then @@ -83,8 +85,8 @@ elif [ $valid == "false" ]; then fi echo -e "\e[1;32mPlease enter a choice:\e[0m" -$([[ $machine == "X230" ]]) && echo "0) Flash LVDS Modified Lenovo BIOS for X330" $([[ $valid == "true" ]]) && echo "1) Flash Modified Lenovo BIOS" +$([[ $machine == "X230" ]]) && echo "0) Flash LVDS Modified Lenovo BIOS for X330(X230 FHD/QHD)" echo "2) Flash a custom BIOS from URL" echo "3) Shutdown / Abort Procedure" read choice @@ -109,11 +111,12 @@ read -p "Press Enter key to begin flashing your jailbroken BIOS! Do NOT let the echo -e "\e[1;32mFlashing BIOS...\e[0m" # pad the BIOS to 12MB or 16MB before flashing -dd if=/dev/zero of=/root/bios/pad bs=1 count=$padding +dd if=/dev/zero of=/root/bios/pad bs=1K count=$padding cat /root/bios/pad /root/bios/$machine.rom > /root/bios/rom.temp /root/flashrom/flashrom -p internal:laptop=force_I_want_a_brick -w /root/bios/rom.temp --ifd -i bios -N +rm /root/bios/pad rm /root/bios/rom.temp read -p "All done! Press Enter key to restart your ThinkPad or CTRL+C to exit to shell." From b34a44ccf33fe20db3bdf71d1393ed4d3519648a Mon Sep 17 00:00:00 2001 From: digmorepaka Date: Sun, 12 Apr 2020 12:06:55 +0200 Subject: [PATCH 3/8] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 19a3327..0467558 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ d8888 Y8P "Y88P" -### Revision 4 (MD5: `e414677f9bd93f0a7719b846cc763a00`) +### Revision 5 (MD5: `change once image is out`) Software-based "jailbreak" allowing all ivybridge-based xx30 thinkpads to softmod custom bios images. @@ -32,10 +32,10 @@ Updates will be published here in the form of scripts that can be downloaded and - Support for custom bios images (coreboot, skulls, heads) # BIOS Mod Features: -- Overclocking support (37xx, 38xx, 39xx CPUs) +- Overclocking support (35xx, 37xx, 38xx, 39xx CPUs) - Whitelist removal to use any WLAN adapter - Advanced menu (custom fan curve, TDP, etc) -- Intel ME disablement via advanced menu +- Intel ME "Soft Temporary Disable" via advanced menu # Before Installing **Please pay careful attention to this section.** . Ensure you're on a compatible BIOS version before beginning (check compatability [here](https://github.com/gch1p/thinkpad-bios-software-flashing-guide#bios-versions)). Run [IVprep](https://github.com/n4ru/IVprep) if you are not or are unsure. Clear any BIOS passwords or settings prior to flashing, and do a BIOS setting reset if you can. Ensure your ThinkPad is charged and your adapter is plugged in. If you intend to use a custom image, make sure you plug in ethernet prior to boot and that your image is directly accessible via URL. @@ -56,7 +56,7 @@ Please read the [longform FAQ](https://medium.com/@n4ru/1vyrain-an-xx30-thinkpad # Installing -1. Burn the 1vyrain image onto a flash drive. +1. Burn the 1vyrain image onto a flash drive. Validated and recommended tools are: `dd`, `Win32DiskImager`, and `Rufus (note you have to use DD mode)` 2. Boot in UEFI mode from the flash drive, with Secure Boot off. 3. Follow the on-screen instructions. 4. That's it! From 580719f9f071d94c94dbeb631a0b35e98d306f69 Mon Sep 17 00:00:00 2001 From: digmorepaka <26260814+digmorepaka@users.noreply.github.com> Date: Tue, 12 May 2020 21:06:15 +0200 Subject: [PATCH 4/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0467558..9192a06 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ d8888 Y8P "Y88P" -### Revision 5 (MD5: `change once image is out`) +### Revision 5 (MD5: `187739ef2ae55eada6d27c0796f27f45`) Software-based "jailbreak" allowing all ivybridge-based xx30 thinkpads to softmod custom bios images. From c6d9e697b1bebb677221fbc6c2abfc62aa0f38a8 Mon Sep 17 00:00:00 2001 From: digmorepaka <26260814+digmorepaka@users.noreply.github.com> Date: Sat, 8 Aug 2020 21:08:22 +0200 Subject: [PATCH 5/8] Update README.md --- README.md | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 9192a06..fd82199 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ d8888 Y8P "Y88P" -### Revision 5 (MD5: `187739ef2ae55eada6d27c0796f27f45`) +### Revision 5 (MD5: `dd30313a8665e870360920b00cec55c4`) Software-based "jailbreak" allowing all ivybridge-based xx30 thinkpads to softmod custom bios images. @@ -33,7 +33,7 @@ Updates will be published here in the form of scripts that can be downloaded and # BIOS Mod Features: - Overclocking support (35xx, 37xx, 38xx, 39xx CPUs) -- Whitelist removal to use any WLAN adapter +- Whitelist removal to use any WLAN/WWAN adapter - Advanced menu (custom fan curve, TDP, etc) - Intel ME "Soft Temporary Disable" via advanced menu @@ -51,6 +51,7 @@ Updates will be published here in the form of scripts that can be downloaded and *X330 machines are supported but not automatically detected. They are detected as normal X230 machines. The flashing menu has an additional option to flash a BIOS with the LVDS patch for machines detected as an X230.* + # Supporting New Systems and Opening Issues Please read the [longform FAQ](https://medium.com/@n4ru/1vyrain-an-xx30-thinkpad-jailbreak-fd4bb0bdb654) before asking about compatability or reporting an issue to make sure it is not a duplicate. @@ -65,11 +66,21 @@ Don't be alarmed if your ThinkPad/ThinkLight power cycles a few times after a fl **NOTE:** This will NOT modify your EC. You are safe to flash your EC with the battery or keyboard mod at any time as long as you are on a version compatible with the EC mod (check compatibility [here](https://github.com/hamishcoleman/thinkpad-ec#compatibilty-warning)). Both IVprep and 1vyrain will only modify the BIOS region! You can safely use this image to update to the latest modded BIOS without losing your EC mod! -# Custom BIOS Images -By default, the image includes the latest BIOS versions for all models, but you can flash a custom image such as heads, skulls, or a coreboot build. Make sure you have wired ethernet attached on boot, and that your image is *EXACTLY* 4MB and uploaded somewhere that you can grab with a simple `wget` command. When asked what to flash, select "Flash a custom BIOS from URL" (option 2). Input the URL. That's it! +# Custom binaries +By default, the image includes the latest BIOS versions for all models, but you can flash a custom image such as heads, skulls, or a coreboot build. Make sure you have wired ethernet attached on boot, and that your image is *EXACTLY* 4MB and uploaded somewhere that you can grab with a simple `wget` command(http only, https currently not supported.). When asked what to flash, select "Flash a custom BIOS from URL" (option 2). Input the URL. That's it! Don't worry, if your download screws up or the filesize was wrong, the flashing will simply fail. You won't brick. +# Custom splash image +To get a custom splash image follow this procedure: +1. Update with original Lenovo update tool following LOGO.txt instructions +2. Read back the `bios` region with flashrom or FPTW +3. Chop off first 8M of the rom `dd if=backup.rom of=4M.rom bs=1M skip=8` +4. Apply patches from patched-bios repo +5. Downgrade with IVprep +6. Write as a custom binary from liveUSB + + # License I retain all rights to the code found in this repo (excluding the BIOS roms and the patcher binary), and no one may reproduce, distribute, or create derivative works from this repo without including this README.me in its entirety! @@ -97,6 +108,10 @@ Tip me: - ETH 0xB4683485899A654F9DE413FCfDA6ac39d1eB383E - [PayPal.me](https://paypal.me/customthinkpads) +Tip digmorepaka +- BTC bc1qq795vlcjzutl2nc8cclepz50yhvj07esx6vvwy +- ETH 0x3883E27f38f0B7Cd450e56c1b8BD5B699174836d + Hire me: - [Resume](https://n4ru.it/resume.pdf) - [Github](https://github.com/n4ru) From 58c7079776b6d95ba2b308c7cf38eec5d50fa6e5 Mon Sep 17 00:00:00 2001 From: Sid Date: Thu, 13 Aug 2020 16:41:28 +0530 Subject: [PATCH 6/8] Fix minor typos --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 19a3327..01bb5d4 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,9 @@ This repo contains the main script and pre-compiled binary files used in the 1vy The main link to the ready to go live USB image can be found **[here](https://1vyra.in/)**. -Updates will be published here in the form of scripts that can be downloaded and ran on the USB image. +Updates will be published here in the form of scripts that can be downloaded and run on the USB image. -**Although 1vyrain has been very thoroughly tested and there were zero bricks during testing, there are some random quirks associated with bypassing normal flashing methods and things can always go awry randomly. There is no warranty or support guaranteed so please keep this in mind if you intend to use this software. I am not responsible for broken devices. Fortunately, it is impossible to permanently brick a device with this method. Worst case scenario, you can flash a backup or fresh BIOS using a hardware programmer.** +**Although 1vyrain has been very thoroughly tested and there were zero bricks during testing, there are some random quirks associated with bypassing normal flashing methods and things can always randomly go awry. There is no warranty or support guaranteed so please keep this in mind if you intend to use this software. I am not responsible for broken devices. Fortunately, it is impossible to permanently brick a device with this method. Worst case scenario, you can flash a backup or fresh BIOS using a hardware programmer.** ## Read the [long form FAQ](https://medium.com/@n4ru/1vyrain-an-xx30-thinkpad-jailbreak-fd4bb0bdb654) before opening an issue. @@ -38,7 +38,7 @@ Updates will be published here in the form of scripts that can be downloaded and - Intel ME disablement via advanced menu # Before Installing -**Please pay careful attention to this section.** . Ensure you're on a compatible BIOS version before beginning (check compatability [here](https://github.com/gch1p/thinkpad-bios-software-flashing-guide#bios-versions)). Run [IVprep](https://github.com/n4ru/IVprep) if you are not or are unsure. Clear any BIOS passwords or settings prior to flashing, and do a BIOS setting reset if you can. Ensure your ThinkPad is charged and your adapter is plugged in. If you intend to use a custom image, make sure you plug in ethernet prior to boot and that your image is directly accessible via URL. +**Please pay careful attention to this section.** . Ensure you're on a compatible BIOS version before beginning (check compatibility [here](https://github.com/gch1p/thinkpad-bios-software-flashing-guide#bios-versions)). Run [IVprep](https://github.com/n4ru/IVprep) if you are not or are unsure. Clear any BIOS passwords or settings prior to flashing, and do a BIOS setting reset if you can. Ensure your ThinkPad is charged and your adapter is plugged in. If you intend to use a custom image, make sure you plug in ethernet prior to boot and that your image is directly accessible via URL. # Supported Systems - X230 @@ -52,7 +52,7 @@ Updates will be published here in the form of scripts that can be downloaded and *X330 machines are supported but not automatically detected. They are detected as normal X230 machines. The flashing menu has an additional option to flash a BIOS with the LVDS patch for machines detected as an X230.* # Supporting New Systems and Opening Issues -Please read the [longform FAQ](https://medium.com/@n4ru/1vyrain-an-xx30-thinkpad-jailbreak-fd4bb0bdb654) before asking about compatability or reporting an issue to make sure it is not a duplicate. +Please read the [longform FAQ](https://medium.com/@n4ru/1vyrain-an-xx30-thinkpad-jailbreak-fd4bb0bdb654) before asking about compatibility or reporting an issue to make sure it is not a duplicate. # Installing @@ -72,9 +72,9 @@ Don't worry, if your download screws up or the filesize was wrong, the flashing # License -I retain all rights to the code found in this repo (excluding the BIOS roms and the patcher binary), and no one may reproduce, distribute, or create derivative works from this repo without including this README.me in its entirety! +I retain all rights to the code found in this repo (excluding the BIOS roms and the patcher binary), and no one may reproduce, distribute, or create derivative works from this repo without including this README.md file in its entirety! -This project is not permitted to be shared on the ThinkPad subreddit. +You are not permitted to share this project on the ThinkPad subreddit. ### Join the ThinkPad discord where research happens - https://discord.gg/xVFx9vM From 192b07195e4019df53a259ffb2bd317d86ac660b Mon Sep 17 00:00:00 2001 From: digmorepaka <26260814+digmorepaka@users.noreply.github.com> Date: Thu, 13 Aug 2020 16:38:34 +0200 Subject: [PATCH 7/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9ab28b5..af2b6b4 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ Updates will be published here in the form of scripts that can be downloaded and - Intel ME "Soft Temporary Disable" via advanced menu # Before Installing -**Please pay careful attention to this section.** . Ensure you're on a compatible BIOS version before beginning (check compatibility [here](https://github.com/gch1p/thinkpad-bios-software-flashing-guide#bios-versions)). Run [IVprep](https://github.com/n4ru/IVprep) if you are not or are unsure. Clear any BIOS passwords or settings prior to flashing, and do a BIOS setting reset if you can. Ensure your ThinkPad is charged and your adapter is plugged in. If you intend to use a custom image, make sure you plug in ethernet prior to boot and that your image is directly accessible via URL. +**Please pay careful attention to this section.** . Ensure you're on a compatible BIOS version before beginning (check compatibility [here](https://github.com/gch1p/thinkpad-bios-software-flashing-guide#bios-versions)). Run [IVprep](https://github.com/n4ru/IVprep) if you are not or are unsure. Clear any BIOS passwords or settings prior to flashing, and do a BIOS setting reset if you can. Ensure your ThinkPad is charged and your adapter is plugged in. If you intend to use a custom binary, make sure you plug in ethernet prior to boot and that your binary is directly accessible via URL. # Supported Systems - X230 From b30a1d21f085bc3d2a92faf45dc42650adeb8dab Mon Sep 17 00:00:00 2001 From: digmorepaka <> Date: Mon, 24 Aug 2020 23:57:48 +0200 Subject: [PATCH 8/8] update patched fw repo link --- patched-bios | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patched-bios b/patched-bios index 84dc0b5..b91aaf3 160000 --- a/patched-bios +++ b/patched-bios @@ -1 +1 @@ -Subproject commit 84dc0b5bfaa95fccada26deb8eebd19943dd7d11 +Subproject commit b91aaf3febc871a23201933c718df0777be267c1