-
-
Notifications
You must be signed in to change notification settings - Fork 189
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
Swap Fn and Ctrl key #1087
Comments
Through nvramtool from your OS (debian deploys it) or by building it yourself inside of the coreboot tree. You can do this from EC, or through coreboot. For your two other questions, those should be separate issues, linked to documentation, not code. Better suited for heads-wiki. Still:
|
@tlaurion Thanks for your reply. Could you please write a step by step instruction on what to do (which files to modify where and when) for building process? As I understand I can rebuild heads with specific options and flash it again via external programmer? |
@copyvar Using unapproved batteries is unsupported by Heads. thinkpad-ec project covers it. For your use case of swapping FN and Ctrl keys, you can build normally, and then use nvramtool from OS, or modify built ROM with CMOS overrides prior of building the ROM. So as you can see there, you could patch build/coreboot-4.13/src/mainboard/lenovo/x230/cmos.default That means doing a first But recommended way is to modify CMOS config through nvramtool if coreboot is not configured to load only the defaults CMOS at each boot. For your additional question here on how to build ROMs, please open additional issues. This one is for swap of FN and Ctrl key. Let's keep issues separated otherwise nobody but you will find answer to their questions. |
@tlaurion Thanks again. And thank you a lot for the hint using nvramtool. Could you please add a step by step instruction on how to do that? That would be great, if I would not have to flash it again, but I do not have the skills to understand how to apply nvramtool properly. I tried to understand, but I lack a lot of background knowledge I guess. |
Btw: how can I find out, which EC options I flashed (to the BIOS/to the mainboard?)? You see I am still confused a bit about how everything works together. |
@copyvar : I do not use it. Doc should be written by community members having filled their own needs and writeup for documentation (heads-wiki). Unfortunately, I do not have time to answer all use cases and customizations and can only link to previous known issues and traces that touched subjects in the past. Again, please open other issues. This should be in heads-wiki (doc related) since not code/heads functionality related. You could hijack t430 issue and ask users there to complete your understanding, or referred ticket to skulls to do the same, from above provided links. As for nvramtool: Option to modify: |
@copyvar : I do not understand the question. Flashing EC (Embedded Controller. Controls power, fan and other laptop specifics, keyboard etc) currently can only happen only through Lenovo BIOS upgrade over original firmware. If you are under Heads, you would have to flash back original Lenovo firmware backups, use thinkpad-ec tool to modify EC as needed, flash, and then flash back Heads. That would be needed for removing battery whitelist. |
@copyvar (replying here for your #711 (comment) comment)
will modify the cmos.default to be included in a local coreboot build... Which in what you are doing, have nothing to do with Heads locally used coreboot version, which is found under heads/build/coreboot-VERSION/src/mainboard/lenovo/x230/cmos.default after having build the board at least once with make BOARD=x230-VARIANT
Not sure what is attempted there, since there is no git tracking of change there. As a result, i'm pretty sure
Results in an invalid patch under 0061-cmos-settings.patch (path for patched file is necessary invalid) From what I understand, you want to local build a rom containing cmos.default with the swap of FN and CTRL keys, by modifying x230 board. You should then do:
By doing so, you are changing the defaults values that coreboot reverts to in case CMOS memory is wiped (CMOS battery being dead for example), and its default. The better way is through nvramtool as said #1087 (comment) and #711 (comment) Unfortunately, there is no way to modify heads/build/coreboot-4.13/src/mainboard/lenovo/x230/cmos.default only for one heads' board. (we could not create a x230-maximized-fn_ctrl_swap board, since that file is shared across all x230 board builds). If you want to use Heads upstream without modification, you should :
Short:
Why are you taking 1 as being the best solution for you?
Actually, Heads is right: your build environment is dirty. You mixed two ideas/goals here. Wanting to build nvramtool and patching Heads' coreboot' cmos.default file to contain proper defaults containing your key swap, valid only for this local build. Patches are applied right after decompression of an downloaded archive per Heads build system into its relative module decompressed directory. So here on future builds, your modified cmos.default will be taken into consideration in building a rom. I would still recommend going 2 or 3 above, not 1. |
@copyvar ? This is not really related to Heads. Can we close? |
I successfully built heads x230-hotp-maximized for my X230. I installed classic keyboard (see https://www.thinkwiki.org/wiki/Install_Classic_Keyboard_on_xx30_Series_ThinkPads). I want to swap the Fn and Ctrl key. How can I do this?
Does heads support all types of authentic batteries or do I have to allow the use of "non official" batteries via thinkpad-ec beforehand? If so, is there an easy way to apply later on (after Heads building and external flashing)?
I am confused about this, because thinkpad-ec is not responsible for allowing the free use of any wifi card (Heads is). At least, that is my understanding.
The text was updated successfully, but these errors were encountered: