Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

T430s port #723

Closed
wants to merge 8 commits into from
Closed

T430s port #723

wants to merge 8 commits into from

Conversation

Siproqu
Copy link

@Siproqu Siproqu commented May 19, 2020

No description provided.

@tlaurion
Copy link
Collaborator

@Siproqu : I agree with @SebastianMcMillan, d4eed84 shout be dropped

@Siproqu
Copy link
Author

Siproqu commented May 23, 2020

Guess you are right. Though I won't drop it yet, but will look for a way in which the patch can be applied in the board config.

@tlaurion
Copy link
Collaborator

tlaurion commented May 24, 2020

@Siproqu the same debate happened for x230 and nvram. The decision that happened there was that if a user wants to change NVRAM values, he could build nvram payload and change at runtime. The new commited board changes for x230 reflects the required changes. Those values should be changeable from the nvram payload. (See #670)

I would advise creating the t430s and t430s-nvramtool boards if you want, and document in the board configuration file that the linked coreboot config for t430s-nvramtool includes the nvramtool tool to permit the XYZ changes you intended to apply to the board following your use case. Those boards, for example, require the nvramtol to deactivate second GPU and keep the integrated GPU alive only. So there is examples and documentation in issues toward a similar implementation for a different use case. Hope that helps!

@Siproqu Siproqu force-pushed the t430s-port branch 2 times, most recently from 6e19100 to 3deac32 Compare June 3, 2020 16:36
@Siproqu
Copy link
Author

Siproqu commented Jun 3, 2020

Half successfully tested. Coreboot and Heads work as fine (no serious problems).
But the factory reset failed and I had to do all steps via the emergency shell.

First problem: The gpg-card couldn't be reset (I use a Nitrokey start). Though this is probably a problem with the Nitrokey. I had to generate new keys on it and export the key manually to make the reset work again.
Second problem: The freshly signed coreboot.rom file could not be flashed to the chip via the GUI. Using flashrom from the shell works fine.

Is there any way to read the logs/printed text of the commands before the GUI comes up again?

@alex-nitrokey
Copy link
Contributor

First problem: The gpg-card couldn't be reset (I use a Nitrokey start). Though this is probably a problem with the Nitrokey. I had to generate new keys on it and export the key manually to make the reset work again.

The Nitrokey Start (and Gnuk devices) working a bit differently regarding key generation and PIN chaning etc. You may run into this problem (see here) If this is not the problem here, more information would be necessary to decide if it is more suitable on NK Start repo or here.

@tlaurion
Copy link
Collaborator

Now requires this addition in board config:
https://github.com/osresearch/heads/pull/776/files#diff-7e9abf6ddbc48cef5d1b1e08a9ad0afcR3

@tlaurion
Copy link
Collaborator

tlaurion commented Nov 2, 2020

@Siproqu : do you have a disassembly tutorial?
What I found is not really informative:
"This information is valid for all supported models, except T430s, T431s and X230s."

@Siproqu
Copy link
Author

Siproqu commented Nov 3, 2020

I mainly followed this page which has basic information about the flash layout and two pictures where the SOIC-8 chip is located.

The pin layout for the chip I have on my board (MX25L12835F/MX25L12845E/MX25L12865E) can be found here or in the board view file (I will push it later this day). One can open the file with Open Board View.

When it comes to the actual disassembling of the laptop, I mainly followed the official repair manual. It won't cover the removal of the main board though. Maybe I will add some pictures later where the screws are located. Back then I removed all screws on the main board which were marked with an little arrow/triangle. Now you can remove the main board and flip it around. The SOIC-8 chip is located under the black foil.
You can also search for the chip location in the board view.

Hope this helps.
I planned to write a tutorial for the whole process. From building Heads, flashing it and install Qubes etc. Unfortunately I have to wait with this until I have more time again.

@tlaurion
Copy link
Collaborator

tlaurion commented Nov 3, 2020

I mainly followed this page which has basic information about the flash layout and two pictures where the SOIC-8 chip is located.

The pin layout for the chip I have on my board (MX25L12835F/MX25L12845E/MX25L12865E) can be found here or in the board view file (I will push it later this day). You can open the file with Open Board View.

When it comes to the actual disassembling of the laptop, I mainly followed the official repair manual. It won't cover the removal of the main board though. Maybe I will add some pictures later where the screws are located. Back then I removed all screws on the main board which were marked with an little arrow/triangle. Now you can remove the main board and flip it around. The SOIC-8 chip is located under the black foil.
You can also search for the chip location in the board view.

@Siproqu That would be awesome information for a PR to this page!

Hope this helps.
I planned to write a tutorial for the whole process. From building Heads, flashing it and install Qubes etc. Unfortunately I have to wait with this until I have more time again.

Most of it is already done per @Thrilleratplay work and merged under http://osresearch.net/Install-and-Configure

Copy link
Collaborator

@tlaurion tlaurion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please review! :)


If you do not want to use the extract.sh script for blob extraction, you can also extract the blobs with _dd_:
```
$ dd if=eprom_read_1.bin of=gbe.bin skip=8 count=16
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is done per ifdtool, you can look at x220 and t420 extract scripts. To maximize space of BIOS region, you can look at #877

cd "$extractdir"
$IFDTOOL -x $bioscopy
cp "$extractdir/flashregion_3_gbe.bin" "$BLOBDIR/gbe.bin"
$MECLEAN -O "$BLOBDIR/me.bin" -r -t "$extractdir/flashregion_2_intel_me.bin"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep. Please look at #877

@@ -0,0 +1,15851 @@
dd:1.3?,r?-=bb
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this binary redistributable?

@@ -0,0 +1,286 @@
#
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please generate this config with
cp config/coreboot-t430s.config build/coreboot-ver/.config
cd build/coreboot-ver/
make savedefconfig
cp defconfig ../../config/coreboot-t430s.config
git add ../../config/coreboot-t430s.config

So that it contains only deviations from std coreboot config

export CONFIG_BOOT_KERNEL_REMOVE="quiet"
export CONFIG_BOOT_DEV="/dev/sda1"
export CONFIG_BOOT_GUI_MENU_NAME="ThinkPad T430s Heads Boot Menu"
export CONFIG_WARNING_BG_COLOR="--background-gradient 0 0 0 150 125 0"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Those are not necessary anymore

@tlaurion
Copy link
Collaborator

tlaurion commented Nov 3, 2020

Also adding t430s #692 and adding your name as a tester/contributor unless you ask me to remove you there.

@Siproqu
Copy link
Author

Siproqu commented Nov 26, 2020

Please review! :)

I will review it during weekend.

Also adding t430s #692 and adding your name as a tester/contributor unless you ask me to remove you there.

No problem at all. I am happy to help where I can.

@Siproqu
Copy link
Author

Siproqu commented Mar 17, 2022

Is replaced with coreboot 4.12 version.

@Siproqu Siproqu closed this Mar 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants