diff options
author | Francis Rowe <info@gluglug.org.uk> | 2014-11-06 01:52:36 +0000 |
---|---|---|
committer | Francis Rowe <info@gluglug.org.uk> | 2014-11-06 01:52:36 +0000 |
commit | 8b2219bfa2da36e7809588ef723a10483a6e137f (patch) | |
tree | 8c4d74b9efbdabc1a2604b8cbd508c006c225241 /docs/misc | |
parent | 7429bdcdbb4fc51c61897115112468642afeecfc (diff) |
Documentation: *major* cleanup.
Cleanup was long overdue. Old structure was messy and inefficient.
Diffstat (limited to 'docs/misc')
-rw-r--r-- | docs/misc/index.html | 184 | ||||
-rw-r--r-- | docs/misc/patch.html | 163 |
2 files changed, 347 insertions, 0 deletions
diff --git a/docs/misc/index.html b/docs/misc/index.html new file mode 100644 index 0000000..8fb52ff --- /dev/null +++ b/docs/misc/index.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <style type="text/css"> + @import url('../css/main.css'); + </style> + + <title>Miscellaneous</title> +</head> + +<body> + + <h1 id="pagetop">Miscellaneous</h1> + <p> + Or <a href="../index.html">Back to main index</a>. + </p> + <ul> + <li><a href="#high_pitch_trisquel">High Pitched Whining Noise on Idle (how to remove in Trisquel)</a> + <ul> + <li><a href="#howtouse_powertop">Powertop - how to use</a></li> + <li><a href="#powertop_autostart">Powertop - Start automatically at boot time</a></li> + </ul> + </li> + <li><a href="#high_pitch_parabola">High Pitched Whining Noise on Idle (how to remove in Parabola)</a></li> + <li><a href="#serial">X60/T60: Serial port - how to use (for dock owners)</a></li> + <li><a href="patch.html">Using diff and patch</a></li> + <li><a href="#get_edid_panelname">Get EDID: Find out the name (model) of your LCD panel</a></li> + </ul> + +<hr/> + + <h1 id="high_pitch_trisquel">High Pitched Whining Noise on Idle (how to remove in Trisquel)</h1> + + <p> + Tested in Trisquel 6. + </p> + <p> + Note: untested in Trisquel 7. Remove this note when it is. + </p> + + <h2 id="howtouse_powertop">Powertop - how to use</h2> + + <p>Now you can use this command to kill that noise:<br/> + <b>$ sudo powertop --auto-tune</b></p> + + <p>You can also run it without parameters and then go into 'Tunables' and set everything to 'Good'</p> + + <p>Note: On Trisquel 6, you will need to use a later powertop version from git. The one in the repositories is too old. See below:</p> + + <h2 id="powertop_autostart">Powertop - Start automatically at boot time (Trisquel 6)</h2> + + <p>Included with libreboot is a script called 'powertop.trisquel6'. Run this and it will setup powertop to run with --auto-tune + at boot time. Load the file in your text editor to see how it does that.</p> + + <p><b>$ ./powertop.trisquel6</b></p> + + <p>This has been tested on Trisquel 6.</p> + + <p><a href="#pagetop">Back to top of page</a></p> + +<hr/> + + <h1 id="high_pitch_parabola">High Pitched Whining Noise on Idle (how to remove in Parabola)</h1> + + <p>The following removes most of the noise. It reduces what is a high frequency whine + (that not everyone can hear) to a slight buzz (which most people can't hear or doesn't bother most people).</p> + + <p>This is not perfect! The full solution is still not discovered but this is a step towards that. + Also, in some instances you will need to run 'sudo powertop --auto-tune' again. + This needs to be implemented properly in coreboot itself!</p> + + <p>On the X60 with coreboot or libreboot, there is a high pitched sound when idle. + So far we have use processor.max_cstate=2 or idle=halt in GRUB. + These consume power. Stop using them! </p> + + <p>Be root<br/> + <b>$ su -</b></p> + + <p>Installed powertop:<br/> + <b># pacman -S powertop</b></p> + + <p>and added the following to /etc/systemd/system/powertop.service :</p> + +<pre><i> +[Unit] +Description=Powertop tunings + +[Service] +Type=oneshot +RemainAfterExit=no +ExecStart=/usr/bin/powertop --auto-tune +# "powertop --auto-tune" still needs a terminal for some reason. Possibly a bug? +Environment="TERM=xterm" + +[Install] +WantedBy=multi-user.target +</i></pre> + + + <p>Finally, as root do that:<br/> + <b># systemctl enable powertop</b><br/> + <b># systemctl start powertop</b></p> + + <p>The next time you boot the machine, the buzz will be gone.</p> + + <p><a href="#pagetop">Back to top of page</a></p> + +<hr/> + + <h1 id="serial">X60/T60: Serial port - how to use (for dock owners)</h1> + <p> + For the Thinkpad X60 you can use the <b>"UltraBase X6"</b> dock (for the X60 Tablet it is called + X6 Tablet UltraBase). For the ThinkPad T60, + you can use the <b>"Advanced Mini Dock"</b>. + </p> + <p> + If you are using one of the ROM's with 'serial' in the name, then you have serial port enabled in libreboot + and you have memtest86+ included inside the ROM. Connect your null modem cable to the serial port on the dock + and connect the other end to a 2nd machine using your USB Serial adapter. + </p> + <p> + On the 2nd machine, you can try this (using GNU Screen):<br/> + <b>$ sudo screen /dev/ttyUSB0 115200</b> + </p> + <p> + How to quit GNU Screen: Ctrl+A then release and press K, and then press Y. + </p> + <p>There are also others like Minicom but I like GNU Screen</p> + <p> + By doing this before booting the X60/T60, you will see console output from libreboot. You will also see + GRUB displaying on the serial output, and you will be able to see MemTest86+ on the serial output aswell. + You can also configure your distro so that a terminal (TTY) is accessible from the serial console. + </p> + <p> + The following guide is for Ubuntu, and can be followed for Trisquel 6.0 which is based on Ubuntu 12.04 + (should also work in Trisquel 7, based on Ubuntu 14.04) to enable a serial console using GeTTY:<br/> + <a href="https://help.ubuntu.com/community/SerialConsoleHowto">https://help.ubuntu.com/community/SerialConsoleHowto</a> + </p> + <p> + Note: part of the tutorial above requires changing your grub.cfg. Just change the <b>linux</b> line to add instructions for enabling getty. + See <a href="../gnulinux/grub_cbfs.html">../gnulinux/grub_cbfs.html</a>. + </p> + <p><a href="#pagetop">Back to top of page</a> + +<hr/> + + <h1 id="get_edid_panelname">Get EDID: Find out the name (model) of your LCD panel</h1> + <p> + Get the panel name with <b>sudo get-edid | strings</b><br/> + Or look in <b>/sys/class/drm/card0-LVDS-1/edid</b> + </p> + <p> + Alternatively you can use i2cdump. In Trisquel, this is in the package i2c-tools.<br/> + $ <b>sudo modprobe i2c-dev</b><br/> + $ <b>sudo i2cdump -y 5 0x50</b><br/> + $ <b>sudo rmmod i2c-dev</b><br/> + You'll see the panel name in the output (from the EDID dump). + </p> + <p> + If neither of these options work (or they are unavailable), physically removing the LCD panel is an option. + Usually, there will be information printed on the back. + </p> + + <p><a href="#pagetop">Back to top of page.</a></p> + +<hr/> + + <p> + Copyright © 2014 Francis Rowe <info@gluglug.org.uk><br/> + This document is released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions. + A copy of the license can be found at <a href="../license.txt">../license.txt</a>. + </p> + + <p> + This document is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See <a href="../license.txt">../license.txt</a> for more information. + </p> + +</body> +</html> diff --git a/docs/misc/patch.html b/docs/misc/patch.html new file mode 100644 index 0000000..3d926ac --- /dev/null +++ b/docs/misc/patch.html @@ -0,0 +1,163 @@ +<!DOCTYPE html> +<html> +<head> + + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <style type="text/css"> + @import url('css/main.css'); + </style> + + <title> + Libreboot documentation: using diff and patch + </title> + +</head> + +<body> + + <header> + <h1 id="pagetop">Diff and patch</h1> + <aside>This is just a quick guide for reference, use 'man' to know more.</aside> + </header> + + <p> + <a href="index.html">back to index</a> + </p> + +<hr/> + + <h1> + Apply a patch + </h1> + + <p class="important"> + To apply a patch to a single file, do that in it's directory:<br/> + <b>$ patch < foo.patch</b> + </p> + + <p> + Assuming that the patch is distributed in unified format identifying + the file the patch should be applied to, the above will work. Otherwise:<br/> + <b>$ patch foo.txt < bar.patch</b> + </p> + + <p> + You can apply a patch to an entire directory, but note the "p level". + What this means is that inside patch files will be the files that you + intend to patch, identified by path names that might be different + when the files ane located on your own computer instead of on the computer + where the patch was created. 'p' level instructs the 'patch' utility to + ignore parts of the path name to identify the files correctly. Usually a + p level of 1 will work, so you would use:<br/> + <b>$ patch -p1 < baz.patch</b> + </p> + + <p> + Change to the top level directory before running this. If a patch level + of 1 cannot identify the files to patch, then inspect the patch file for file names. + For example:<br/> + <b>/home/user/do/not/panic/yet.c</b> + </p> + + <p> + and you are working in a directory that contains panic/yet.c, use:<br/> + <b>$ patch -p5 < baz.patch</b> + </p> + + <p> + You usually count one up for each path separator (forward slash) + removed from the beginning of the path, until you are left with a path + that exists in the current working directory. The count is the p level. + </p> + + <p> + Removing a patch using the -R flag<br/> + <b>$ patch -p5 -R < baz.patch</b> + </p> + + <p><a href="#pagetop">Back to top of page.</a></p> + +<hr/> + + <h1> + Create a patch with diff + </h1> + + <p> + Diff can create a patch for a single file:<br/> + <b>$ diff -u original.c new.c > original.patch</b> + </p> + + <p> + For diff'ing a source tree:<br/> + <b>$ cp -R original new</b> + </p> + + <p> + Do whatever you want in new/ and then diff it:<br/> + <b>$ diff -rupN original/ new/ > original.patch</b> + </p> + + <p><a href="#pagetop">Back to top of page.</a></p> + +<hr/> + + <h1> + git diff + </h1> + + <p> + git is something special. + </p> + + <p> + Just make whatever changes you want to a git clone and then:<br/> + <b>$ git diff > patch.git</b> + </p> + + <p> + Note the git revision that you did this with:<br/> + <b>$ git log</b> + </p> + + <p><a href="#pagetop">Back to top of page.</a></p> + +<hr/> + + <h1> + git apply + </h1> + + <p>it really is.</p> + + <p> + Now to apply that patch in the future, just git clone it again and do + with the git revision you found from above:<br/> + <b>$ git reset --hard REVISIONNUMBER</b> + </p> + + <p> + Now put patch.git in the git clone directory and do:<br/> + <b>$ git apply patch.git</b> + </p> + + <p><a href="#pagetop">Back to top of page.</a></p> + +<hr/> + + <p> + Copyright © 2014 Francis Rowe <info@gluglug.org.uk><br/> + This document is released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions. + A copy of the license can be found at <a href="../license.txt">../license.txt</a>. + </p> + + <p> + This document is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See <a href="../license.txt">../license.txt</a> for more information. + </p> + +</body> +</html> |