User documentation and guides for products sold on the Libre Tech Shop. https://docs.libretech.shop
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1 lines
32 KiB

{"config":{"lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"Welcome to the Libre Tech Shop Documentation \u00b6 The Libre Tech Shop is a first of its kind online store for products that respect your freedom. Every product you purchase here will be powered by free software, will be accompanied by documentation and will give you the freedom to hack, learn, modify and share. These products will not track you and will respect your freedom and privacy. Products \u00b6 Method Description LC230 Liberated Computer LC230 MHSW Self-hosted, hackable and private Home Automation MHSW LEDC LED Lighting Controller LEDC","title":"Home"},{"location":"#welcome-to-the-libre-tech-shop-documentation","text":"The Libre Tech Shop is a first of its kind online store for products that respect your freedom. Every product you purchase here will be powered by free software, will be accompanied by documentation and will give you the freedom to hack, learn, modify and share. These products will not track you and will respect your freedom and privacy.","title":"Welcome to the Libre Tech Shop Documentation"},{"location":"#products","text":"Method Description LC230 Liberated Computer LC230 MHSW Self-hosted, hackable and private Home Automation MHSW LEDC LED Lighting Controller LEDC","title":"Products"},{"location":"lc230/","text":"LC230 - The Liberated Computer \u00b6 Why LC230? \u00b6 Why does LC230 exist? Some of the most fundamental questions that we need to answer about the hardware that we possess are those of \"ownership\": Question What is the definition of owning a piece of hardware? Are we the owners of the hardware merely because we paid for it and now have possession of it? If we are owners do we have the necessary freedom and opportunity to do what we want with it? How much control does the manufacturer of a device exert after \"selling\" the device to us? If such control does exist, then how do we re-define ownership now? The answers to these questions are not easy, universal or simple. Hence, we might define ownership in the following terms: Info We are the true owners of our hardware if we can do whatever we want with hardware without then permission of the manufacturer . This includes the freedom to change or upgrade hardware components at will, repair and refurbish the hardware and install the software we want (without constraints). The \"Liberated Computer\" project exists to provide users with convenient access to reliable, libre-software friendly and hackable computers. The key to having the freedom to compute in a manner we deem respectful is to first liberate the computers from the locks and constraints imposed by the manufacturer. Failure Even 8 years after the model ceased production, Lenovo's BIOS does not give you the freedom to change the wireless card of the laptop to one that would work without proprietary firmware! This is a classic example of a manufacturer exerting control over the hardware well beyond its intended lifespan. Unless a wireless card that is \"white-listed\" by the BIOS is plugged in, the system will not boot up. The only way to move beyond this limitation is to replace the BIOS and hence, liberate the computer. What is Coreboot? \u00b6 Coreboot is a free/libre software BIOS replacement. It was developed to allow computers users the ability to exert greater control on their computers by being able to control the BIOS. Coreboot is a very modular BIOS and runs on a wide variety of computer mainboards. More details are available at: coreboot.org Coreboot's main advantage is that of software freedom at the BIOS level. It liberates the computer and allows a user to load multiple types of boot payloads while also allowing us to cripple and neuter the Intel ME. Some of the common payloads supported by Coreboot are: SeaBIOS - the default payload that ships with your LC230 Linux - you can embed and load a Linux kernel on the BIOS chip Grub - You can also daisy-chain and boot Grub from Coreboot so that you can perform the rest of the boot process via Grub nvramtui - a utility to configure the Embedded Controller (EC) firmware on thinkpad laptops memtest - perform memory tests at the BIOS level! coreinfo - provides low-level information about Coreboot TINC - play tetris without even booting an OS! Info The TINC Coreboot payload - Tetris at the BIOS level. No Operating System! Introducing Skulls \u00b6 The Skulls Project is a Coreboot distribution . They ship a pre-compiled Coreboot binary for the Lenovo X230 Thinkpad along with a set of scripts that make it it simple to install and use it. The LC230 ships pre-installed with the latest release of Skulls. How is an LC230 assembled? \u00b6 Your LC230 laptop is refurbished and liberated with a mix of new and used components. Here is the process of refurbishing it: We first purchase a used Lenovo x230 Thinkpad laptop Once we inspect it for physical and other defects, the process of liberating it starts. First the laptop is opened up and cleaned - all the internal and external plus the CPU fan. Next using a SIOC-8 clip, coreboot is flashed to SPI flash that is used to store the system firmware. Once the sytem is running coreboot, the default Intel wireless card is replaced with an Atheros one. After that, based on the requested configuration, a new mSATA or SATA SSD is added, more RAM or even a brand new battery. Finally - an OS is installed and the system is tested for heating issues, networking and so on. Now your liberated computer is ready for you to play with ! :-)","title":"(LC230) Overview"},{"location":"lc230/#lc230-the-liberated-computer","text":"","title":"LC230 - The Liberated Computer"},{"location":"lc230/#why-lc230","text":"Why does LC230 exist? Some of the most fundamental questions that we need to answer about the hardware that we possess are those of \"ownership\": Question What is the definition of owning a piece of hardware? Are we the owners of the hardware merely because we paid for it and now have possession of it? If we are owners do we have the necessary freedom and opportunity to do what we want with it? How much control does the manufacturer of a device exert after \"selling\" the device to us? If such control does exist, then how do we re-define ownership now? The answers to these questions are not easy, universal or simple. Hence, we might define ownership in the following terms: Info We are the true owners of our hardware if we can do whatever we want with hardware without then permission of the manufacturer . This includes the freedom to change or upgrade hardware components at will, repair and refurbish the hardware and install the software we want (without constraints). The \"Liberated Computer\" project exists to provide users with convenient access to reliable, libre-software friendly and hackable computers. The key to having the freedom to compute in a manner we deem respectful is to first liberate the computers from the locks and constraints imposed by the manufacturer. Failure Even 8 years after the model ceased production, Lenovo's BIOS does not give you the freedom to change the wireless card of the laptop to one that would work without proprietary firmware! This is a classic example of a manufacturer exerting control over the hardware well beyond its intended lifespan. Unless a wireless card that is \"white-listed\" by the BIOS is plugged in, the system will not boot up. The only way to move beyond this limitation is to replace the BIOS and hence, liberate the computer.","title":"Why LC230?"},{"location":"lc230/#what-is-coreboot","text":"Coreboot is a free/libre software BIOS replacement. It was developed to allow computers users the ability to exert greater control on their computers by being able to control the BIOS. Coreboot is a very modular BIOS and runs on a wide variety of computer mainboards. More details are available at: coreboot.org Coreboot's main advantage is that of software freedom at the BIOS level. It liberates the computer and allows a user to load multiple types of boot payloads while also allowing us to cripple and neuter the Intel ME. Some of the common payloads supported by Coreboot are: SeaBIOS - the default payload that ships with your LC230 Linux - you can embed and load a Linux kernel on the BIOS chip Grub - You can also daisy-chain and boot Grub from Coreboot so that you can perform the rest of the boot process via Grub nvramtui - a utility to configure the Embedded Controller (EC) firmware on thinkpad laptops memtest - perform memory tests at the BIOS level! coreinfo - provides low-level information about Coreboot TINC - play tetris without even booting an OS! Info The TINC Coreboot payload - Tetris at the BIOS level. No Operating System!","title":"What is Coreboot?"},{"location":"lc230/#introducing-skulls","text":"The Skulls Project is a Coreboot distribution . They ship a pre-compiled Coreboot binary for the Lenovo X230 Thinkpad along with a set of scripts that make it it simple to install and use it. The LC230 ships pre-installed with the latest release of Skulls.","title":"Introducing Skulls"},{"location":"lc230/#how-is-an-lc230-assembled","text":"Your LC230 laptop is refurbished and liberated with a mix of new and used components. Here is the process of refurbishing it: We first purchase a used Lenovo x230 Thinkpad laptop Once we inspect it for physical and other defects, the process of liberating it starts. First the laptop is opened up and cleaned - all the internal and external plus the CPU fan. Next using a SIOC-8 clip, coreboot is flashed to SPI flash that is used to store the system firmware. Once the sytem is running coreboot, the default Intel wireless card is replaced with an Atheros one. After that, based on the requested configuration, a new mSATA or SATA SSD is added, more RAM or even a brand new battery. Finally - an OS is installed and the system is tested for heating issues, networking and so on. Now your liberated computer is ready for you to play with ! :-)","title":"How is an LC230 assembled?"},{"location":"lc230/troubleshooting/","text":"Troubleshooting & Common Problems \u00b6 Heating or fan issues \u00b6 One possible challenge with a refurbished laptop is that there can be heating issues. All LC230 units that we sell are well tested for such issues to ensure that the laptop's CPU cools well during heavy CPU usage. This is done by ensuring two things: The CPU fan is clean of dust and other foreign material that might affect its ability to offer good CPU cooling. The CPU fan's heatsink is able to conduct heat properly Check out what a dirty and clean fan looks like. A dirty fan! A very clean fan! If you face any heating issues (or a noisy fan) a few months after purchasing a LC230, one thing that would help is cleaning the fan using an air blower. Here is what a clean CPU fan achieves: As you can see, even under very heavy CPU utilisation (and system load), the CPU fan running at 5380 RPM is able to cool down the CPU to keep the core temperature around +84\u00b0 C. Battery management \u00b6 In case your current LC230 battery does not give you sufficient backup, you can purchase a new 6-cell or 9-cell battery. The part numbers are as follows: Lenovo Thinkpad 6-cell Battery 44+ (Part Number: 0A36306) Lenovo ThinkPad 9-cell Battery 44++ (Part Number: 0A36307) Swapping the keyboard \u00b6 It is possible to use the Lenovo Classic keyboard (last seen on the X220 Thinkpad model) with the X230. This involves three steps: Modifying the keyboard connector Flashing a modified BIOS (over the default Lenovo one) Replacing the palm-rest with an x220 one We will be glad to help you with this modification. The steps are detailed on the Thinkwiki .","title":"(LC230) Troubleshooting"},{"location":"lc230/troubleshooting/#troubleshooting-common-problems","text":"","title":"Troubleshooting & Common Problems"},{"location":"lc230/troubleshooting/#heating-or-fan-issues","text":"One possible challenge with a refurbished laptop is that there can be heating issues. All LC230 units that we sell are well tested for such issues to ensure that the laptop's CPU cools well during heavy CPU usage. This is done by ensuring two things: The CPU fan is clean of dust and other foreign material that might affect its ability to offer good CPU cooling. The CPU fan's heatsink is able to conduct heat properly Check out what a dirty and clean fan looks like. A dirty fan! A very clean fan! If you face any heating issues (or a noisy fan) a few months after purchasing a LC230, one thing that would help is cleaning the fan using an air blower. Here is what a clean CPU fan achieves: As you can see, even under very heavy CPU utilisation (and system load), the CPU fan running at 5380 RPM is able to cool down the CPU to keep the core temperature around +84\u00b0 C.","title":"Heating or fan issues"},{"location":"lc230/troubleshooting/#battery-management","text":"In case your current LC230 battery does not give you sufficient backup, you can purchase a new 6-cell or 9-cell battery. The part numbers are as follows: Lenovo Thinkpad 6-cell Battery 44+ (Part Number: 0A36306) Lenovo ThinkPad 9-cell Battery 44++ (Part Number: 0A36307)","title":"Battery management"},{"location":"lc230/troubleshooting/#swapping-the-keyboard","text":"It is possible to use the Lenovo Classic keyboard (last seen on the X220 Thinkpad model) with the X230. This involves three steps: Modifying the keyboard connector Flashing a modified BIOS (over the default Lenovo one) Replacing the palm-rest with an x220 one We will be glad to help you with this modification. The steps are detailed on the Thinkwiki .","title":"Swapping the keyboard"},{"location":"lc230/user-guide/","text":"(LC230) User Guide \u00b6 The Coreboot Boot Process \u00b6 Here is what the boot process looks like with Coreboot installed: Coreboot Sequence Diagram The first part of the boot process (labelled as \"Coreboot Internal\" in the diagram above) is largely hidden from the user. The boot process is illustrated below: LC230 Boot Process Installing an OS \u00b6 To install any GNU/Linux OS, here is a sequence of steps: Build USB Installer \u00b6 Any GNU/Linux OS would work very well on your LC230 laptop. (Some owners have also installed and used FreeBSD on it.) LC230 is configured to run without any proprietary firmware and hence, any of the following operating systems would work well by default: Debian GNU/Linux (main) PureOS Triquel Tip The Rasperrby Pi Imager is a good tool to use to write an OS image to a USB disk. Balena Etcher is another one. Plug-in USB Disk \u00b6 The USB needs to be plugged in before you reboot the laptop - or else SeaBIOS will not detect it and show it as a boot option. Info The blue USB ports on the left side of the laptop are USB3 ports. If you have a USB disk that works with USB3, then using these ports will give you much better USB disk performance. The USB port on the right side (yellow in colour) is a USB2 port. Choose the boot device \u00b6 Press Esc on boot and choose the USB disk as the boot device LC230 Boot Image By default, the first boot option is chosen to boot off. This is usually the 2.5\" SATA disk if it is plugged in to the laptop. To choose another boot device, you need to press Esc and then choose the desired boot device from the SeaBIOS menu. If you have a 2.5\" SATA disk, then a USB disk would be the second boot device. If you have a 2.5\" SATA disk and a mSATA disk, then the USB disk would be the third boot device. LC230 USB3 Ports Install the OS \u00b6 You can now proceed with the OS installation as normal. The LC230 does not provide a UEFI BIOS (like the default Lenovo BIOS firmware). SeaBIOS is a pc-bios payload and most GNU/Linux OS installers will detect that and install the correct bootloader. This would be grub-pc if you choose to use Grub and Debian. Coreboot Internal Flashing \u00b6 To flash Coreboot to the x230 motherboard, the first step is to flash the BIOS externally - ie. using a SIOC-8 flashing clip connecting to the BIOS chips: Liberating the LC230 via External Flashing However, as a part of the external flashing process, the BIOS is unlocked. This means that you can update / modify the BIOS on the SPI Flash internally - from within the operating system. Here are some reasons to do that and the steps involved. Configure the kernel \u00b6 The first things to do before you can flash Coreboot internally, is to boot the kernel with an additional option: iomem=relaxed On Debian (and derived operating systems such as Ubuntu), you can make this a permanent setting: Edit the file: /etc/default/grub Update the line GRUB_CMDLINE_LINUX to read: GRUB_CMDLINE_LINUX=\"iomem=relaxed\" Run: update-grub to update the Grub configuration. Query Coreboot details \u00b6 You can verify the coreboot version (as well as the fact that you're running coreboot) by using the dmidecode utility as follows: BIOS version \u00b6 $ sudo dmidecode -t bios # dmidecode 3 .3 Getting SMBIOS data from sysfs. SMBIOS 2.8 present. Handle 0x0000, DMI type 0, 26 bytes BIOS Information Vendor: coreboot Version: CBET4000 4.10-1082-g4357a82076-dirty Release Date: 10/20/2019 ROM Size: 12 MB Characteristics: PCI is supported PC Card (PCMCIA) is supported BIOS is upgradeable Selectable boot is supported ACPI is supported Targeted content distribution is supported BIOS Revision: 4.10 Firmware Revision: 0.0 System type & name \u00b6 $ sudo dmidecode -t system # dmidecode 3 .3 Getting SMBIOS data from sysfs. SMBIOS 2.8 present. Handle 0x0001, DMI type 1, 27 bytes System Information Manufacturer: LENOVO Product Name: 2325BU3 Version: ThinkPad X230 Serial Number: PK1HM8E UUID: ce136601-xxxx-xxxx-xxxx-xxxxxxxxxxxx Wake-up Type: Reserved SKU Number: Not Specified Family: ThinkPad X230 Handle 0x000B, DMI type 32, 11 bytes System Boot Information Status: No errors detected Install: flashrom \u00b6 The primary tool for operating on your BIOS is called flashrom . The Debian package is also called by the same name and can be installed as: apt-get install flashrom If the kernel is booted correctly with iomem=relaxed , you can run flashrom : flashrom -pinternal Ouput: $ sudo flashrom -pinternal flashrom v1.2 on Linux 5.10.9-gnu (x86_64) flashrom is free software, get the source code at https://flashrom.org Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). coreboot table found at 0xbff51000. Found chipset \"Intel QM77\". Enabling flash write... SPI Configuration is locked down. Enabling hardware sequencing due to multiple flash chips detected. OK. Found Programmer flash chip \"Opaque flash chip\" (12288 kB, Programmer-specific) mapped at physical address 0x0000000000000000. No operations were specified. Tip Sometimes flashrom will not detect the internal flash chip, though it might very well be able to confirm the BIOS type and machine name. In such cases, you can try to run flashrom as: flashrom -pinternal:laptop=force_I_want_a_brick . This is not completely safe Read BIOS Image \u00b6 You can dump the BIOS to a file: $ flashrom -pinternal -r lc230-coreboot.rom This will read the BIOS to a file: lc230-coreboot.rom . This file will be 12 MB in size. $ sudo flashrom -pinternal -r lc230.rom flashrom v1.2 on Linux 5.10.9-gnu (x86_64) flashrom is free software, get the source code at https://flashrom.org Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). coreboot table found at 0xbff51000. Found chipset \"Intel QM77\". Enabling flash write... SPI Configuration is locked down. Enabling hardware sequencing due to multiple flash chips detected. OK. Found Programmer flash chip \"Opaque flash chip\" (12288 kB, Programmer-specific) mapped at physical address 0x0000000000000000. Reading flash... done. $ ls -lh lc230-coreboot.rom -rw-r--r-- 1 root root 12M Feb 8 04:46 lc230-coreboot.rom Write BIOS Image \u00b6 You can now write back to the BIOS chips as follows: $ sudo flashrom -pinternal -w lc230-coreboot.rom flashrom v1.2 on Linux 5.10.9-gnu (x86_64) flashrom is free software, get the source code at https://flashrom.org Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). coreboot table found at 0xbff51000. Found chipset \"Intel QM77\". Enabling flash write... SPI Configuration is locked down. Enabling hardware sequencing due to multiple flash chips detected. OK. Found Programmer flash chip \"Opaque flash chip\" (12288 kB, Programmer-specific) mapped at physical address 0x0000000000000000. Reading old flash chip contents... done. Erasing and writing flash chip... Warning: Chip content is identical to the requested image. Erase/write done Flash: Skulls \u00b6 The Skulls Coreboot distribution provides built in scripts to upgrade the BIOS. The update procedure is detailed here . Your LC230 ships with the latest release of Skull available at the time of shipping the laptop to you. You can upgrade skulls using the instructions above. Flash: Heads \u00b6 If you want to experiment with the Heads firmware , instructions are available on the Heads website as well as in the Skulls documentation . Configuring Coreboot \u00b6 Your LC230 ships with a SeaBIOS payload called nvramcui that allows you to configure coreboot behaviour and save the settings to nvram. nvramcui options (1) nvramcui options (2) nvramcui options (3) Swapping Fn and Ctrl \u00b6 The fn_ctrl_swap on the 2 nd page of the nvramcui settings page enables you to toggle the Fn and Ctrl swap. If you like to have the control key on the bottom left corner of the keyboard, then you can set this option to Enable . Increasing Graphics Memory \u00b6 The x230 GPU does not have dedication RAM. Instead it shares its memory with the main system memory. You can configure how much RAM is dedicated to the GPU via the gfx_uma_size option on the 3 rd page of the nvramcui settings. Pressing the Left and Right arrow keys you can iterate over all the available settings for this option. Other settings \u00b6 You can also configure the following behaviour via nvramcui: Always On USB : By enabling this option, you can configure the USB ports to be always on - even when the laptop is suspended. Enable/Disable Trackpoing, Touchpad : You can toggle the touchpad and trackpoint options to enable or disable the the touchpad and trackpoint respectively.","title":"(LC230) User Guide"},{"location":"lc230/user-guide/#lc230-user-guide","text":"","title":"(LC230) User Guide"},{"location":"lc230/user-guide/#the-coreboot-boot-process","text":"Here is what the boot process looks like with Coreboot installed: Coreboot Sequence Diagram The first part of the boot process (labelled as \"Coreboot Internal\" in the diagram above) is largely hidden from the user. The boot process is illustrated below: LC230 Boot Process","title":"The Coreboot Boot Process"},{"location":"lc230/user-guide/#installing-an-os","text":"To install any GNU/Linux OS, here is a sequence of steps:","title":"Installing an OS"},{"location":"lc230/user-guide/#build-usb-installer","text":"Any GNU/Linux OS would work very well on your LC230 laptop. (Some owners have also installed and used FreeBSD on it.) LC230 is configured to run without any proprietary firmware and hence, any of the following operating systems would work well by default: Debian GNU/Linux (main) PureOS Triquel Tip The Rasperrby Pi Imager is a good tool to use to write an OS image to a USB disk. Balena Etcher is another one.","title":"Build USB Installer"},{"location":"lc230/user-guide/#plug-in-usb-disk","text":"The USB needs to be plugged in before you reboot the laptop - or else SeaBIOS will not detect it and show it as a boot option. Info The blue USB ports on the left side of the laptop are USB3 ports. If you have a USB disk that works with USB3, then using these ports will give you much better USB disk performance. The USB port on the right side (yellow in colour) is a USB2 port.","title":"Plug-in USB Disk"},{"location":"lc230/user-guide/#choose-the-boot-device","text":"Press Esc on boot and choose the USB disk as the boot device LC230 Boot Image By default, the first boot option is chosen to boot off. This is usually the 2.5\" SATA disk if it is plugged in to the laptop. To choose another boot device, you need to press Esc and then choose the desired boot device from the SeaBIOS menu. If you have a 2.5\" SATA disk, then a USB disk would be the second boot device. If you have a 2.5\" SATA disk and a mSATA disk, then the USB disk would be the third boot device. LC230 USB3 Ports","title":"Choose the boot device"},{"location":"lc230/user-guide/#install-the-os","text":"You can now proceed with the OS installation as normal. The LC230 does not provide a UEFI BIOS (like the default Lenovo BIOS firmware). SeaBIOS is a pc-bios payload and most GNU/Linux OS installers will detect that and install the correct bootloader. This would be grub-pc if you choose to use Grub and Debian.","title":"Install the OS"},{"location":"lc230/user-guide/#coreboot-internal-flashing","text":"To flash Coreboot to the x230 motherboard, the first step is to flash the BIOS externally - ie. using a SIOC-8 flashing clip connecting to the BIOS chips: Liberating the LC230 via External Flashing However, as a part of the external flashing process, the BIOS is unlocked. This means that you can update / modify the BIOS on the SPI Flash internally - from within the operating system. Here are some reasons to do that and the steps involved.","title":"Coreboot Internal Flashing"},{"location":"lc230/user-guide/#configure-the-kernel","text":"The first things to do before you can flash Coreboot internally, is to boot the kernel with an additional option: iomem=relaxed On Debian (and derived operating systems such as Ubuntu), you can make this a permanent setting: Edit the file: /etc/default/grub Update the line GRUB_CMDLINE_LINUX to read: GRUB_CMDLINE_LINUX=\"iomem=relaxed\" Run: update-grub to update the Grub configuration.","title":"Configure the kernel"},{"location":"lc230/user-guide/#query-coreboot-details","text":"You can verify the coreboot version (as well as the fact that you're running coreboot) by using the dmidecode utility as follows:","title":"Query Coreboot details"},{"location":"lc230/user-guide/#install-flashrom","text":"The primary tool for operating on your BIOS is called flashrom . The Debian package is also called by the same name and can be installed as: apt-get install flashrom If the kernel is booted correctly with iomem=relaxed , you can run flashrom : flashrom -pinternal Ouput: $ sudo flashrom -pinternal flashrom v1.2 on Linux 5.10.9-gnu (x86_64) flashrom is free software, get the source code at https://flashrom.org Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). coreboot table found at 0xbff51000. Found chipset \"Intel QM77\". Enabling flash write... SPI Configuration is locked down. Enabling hardware sequencing due to multiple flash chips detected. OK. Found Programmer flash chip \"Opaque flash chip\" (12288 kB, Programmer-specific) mapped at physical address 0x0000000000000000. No operations were specified. Tip Sometimes flashrom will not detect the internal flash chip, though it might very well be able to confirm the BIOS type and machine name. In such cases, you can try to run flashrom as: flashrom -pinternal:laptop=force_I_want_a_brick . This is not completely safe","title":"Install: flashrom"},{"location":"lc230/user-guide/#read-bios-image","text":"You can dump the BIOS to a file: $ flashrom -pinternal -r lc230-coreboot.rom This will read the BIOS to a file: lc230-coreboot.rom . This file will be 12 MB in size. $ sudo flashrom -pinternal -r lc230.rom flashrom v1.2 on Linux 5.10.9-gnu (x86_64) flashrom is free software, get the source code at https://flashrom.org Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). coreboot table found at 0xbff51000. Found chipset \"Intel QM77\". Enabling flash write... SPI Configuration is locked down. Enabling hardware sequencing due to multiple flash chips detected. OK. Found Programmer flash chip \"Opaque flash chip\" (12288 kB, Programmer-specific) mapped at physical address 0x0000000000000000. Reading flash... done. $ ls -lh lc230-coreboot.rom -rw-r--r-- 1 root root 12M Feb 8 04:46 lc230-coreboot.rom","title":"Read BIOS Image"},{"location":"lc230/user-guide/#write-bios-image","text":"You can now write back to the BIOS chips as follows: $ sudo flashrom -pinternal -w lc230-coreboot.rom flashrom v1.2 on Linux 5.10.9-gnu (x86_64) flashrom is free software, get the source code at https://flashrom.org Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). coreboot table found at 0xbff51000. Found chipset \"Intel QM77\". Enabling flash write... SPI Configuration is locked down. Enabling hardware sequencing due to multiple flash chips detected. OK. Found Programmer flash chip \"Opaque flash chip\" (12288 kB, Programmer-specific) mapped at physical address 0x0000000000000000. Reading old flash chip contents... done. Erasing and writing flash chip... Warning: Chip content is identical to the requested image. Erase/write done","title":"Write BIOS Image"},{"location":"lc230/user-guide/#flash-skulls","text":"The Skulls Coreboot distribution provides built in scripts to upgrade the BIOS. The update procedure is detailed here . Your LC230 ships with the latest release of Skull available at the time of shipping the laptop to you. You can upgrade skulls using the instructions above.","title":"Flash: Skulls"},{"location":"lc230/user-guide/#flash-heads","text":"If you want to experiment with the Heads firmware , instructions are available on the Heads website as well as in the Skulls documentation .","title":"Flash: Heads"},{"location":"lc230/user-guide/#configuring-coreboot","text":"Your LC230 ships with a SeaBIOS payload called nvramcui that allows you to configure coreboot behaviour and save the settings to nvram. nvramcui options (1) nvramcui options (2) nvramcui options (3)","title":"Configuring Coreboot"},{"location":"lc230/user-guide/#swapping-fn-and-ctrl","text":"The fn_ctrl_swap on the 2 nd page of the nvramcui settings page enables you to toggle the Fn and Ctrl swap. If you like to have the control key on the bottom left corner of the keyboard, then you can set this option to Enable .","title":"Swapping Fn and Ctrl"},{"location":"lc230/user-guide/#increasing-graphics-memory","text":"The x230 GPU does not have dedication RAM. Instead it shares its memory with the main system memory. You can configure how much RAM is dedicated to the GPU via the gfx_uma_size option on the 3 rd page of the nvramcui settings. Pressing the Left and Right arrow keys you can iterate over all the available settings for this option.","title":"Increasing Graphics Memory"},{"location":"lc230/user-guide/#other-settings","text":"You can also configure the following behaviour via nvramcui: Always On USB : By enabling this option, you can configure the USB ports to be always on - even when the laptop is suspended. Enable/Disable Trackpoing, Touchpad : You can toggle the touchpad and trackpoint options to enable or disable the the touchpad and trackpoint respectively.","title":"Other settings"},{"location":"le01/","text":"LE01 - Liberated Entertainment Center \u00b6 Powered by LibreELEC Documentation coming soon... \u00b6","title":"LE01 - Liberated Entertainment Center"},{"location":"le01/#le01-liberated-entertainment-center","text":"Powered by LibreELEC","title":"LE01 - Liberated Entertainment Center"},{"location":"le01/#documentation-coming-soon","text":"","title":"Documentation coming soon..."},{"location":"ledc/","text":"LEDC - LED Lighting Controller \u00b6 For RGB LED Strips Documentation coming soon... \u00b6","title":"LEDC"},{"location":"ledc/#ledc-led-lighting-controller","text":"For RGB LED Strips","title":"LEDC - LED Lighting Controller"},{"location":"ledc/#documentation-coming-soon","text":"","title":"Documentation coming soon..."},{"location":"mhsw/","text":"Home Automation \u00b6 Self-hosted, Hackable and Private Home Automation Documentation coming soon... \u00b6","title":"MHSW"},{"location":"mhsw/#home-automation","text":"Self-hosted, Hackable and Private Home Automation","title":"Home Automation"},{"location":"mhsw/#documentation-coming-soon","text":"","title":"Documentation coming soon..."}]}