diff options
Diffstat (limited to 'docs/future/index.html')
-rw-r--r-- | docs/future/index.html | 154 |
1 files changed, 112 insertions, 42 deletions
diff --git a/docs/future/index.html b/docs/future/index.html index c525439..3eee4f7 100644 --- a/docs/future/index.html +++ b/docs/future/index.html @@ -38,6 +38,7 @@ <li><a href="#todo">TODO list</a></li> <li><a href="#standard_test">Standard test</a></li> <li><a href="#t60_cpu_microcode">T60 cpu microcode</a></li> + <li><a href="#fastboot">Fast boot</a></li> <li><a href="#lcd_i945_incompatibility">LCD panels on i945 - fix incompatible panels</a></li> <li><a href="#blind_x60">Blind X60 - kernel git bisect</a></li> <li><a href="#x60_native_notes">X60 native graphics initialization (backlight controls)</a></li> @@ -54,17 +55,6 @@ <h1 id="todo">TODO (bold means high priority)</h1> <ul> - <li><b><a href="#blind_x60">#blind_x60</a>: kernel git bisect (find which commit broke graphics when native graphics or vbios is not in use)</b></li> - <li><b>test the latest version of <a href="http://review.coreboot.org/#/c/5927">http://review.coreboot.org/#/c/5927</a> for Paul Menzel</b></li> - <li> - <b>test the latest versions of 5320/5345 on X60/T60</b> - <ul> - <li><b><s>Find how to implement the fix from <a href="http://review.coreboot.org/#/c/5927">5927/3</a></s> (see <a href="#5320_kernel312fix">#5320_kernel312fix</a>) and push with 5320 as dependency</b></li> - <li><b>Find how to implement the fix from <a href="http://review.coreboot.org/#/c/5927">5927</a> (latest version after patch set 3) and push with 5320 as dependency</b></li> - <li><b>Implement the X60 backlight support (<a href="#x60_native_notes">#x60_native_notes</a>) and push with 5320 as dependency</b></li> - <li><b>Implement the T60 backlight support (<a href="#t60_native_notes">#t60_native_notes</a>) and push with 5345 as dependency</b></li> - </ul> - </li> <li> <b><a href="#intelvbttool_results">#intelvbttool_results</a>: Finish getting runningvga.bin dumps and intelvbttool dumps for all known targets on X60 and T60.</b> <ul> @@ -74,23 +64,9 @@ <li>When VBT is implemented/tested, also test SeaVGABIOS (part of SeaBIOS)</li> </ul> </li> - <li> - <b>Run oprom trace (coreboot + oprom + grub) on <a href="http://review.coreboot.org/#/c/5345">http://review.coreboot.org/#/c/5345</a> for phcoder.</b> - (see <a href="#t60_native_notes">#t60_native_notes</a>) - </li> <li>test that patch (DYNAMIC_CBMEM, <a href="http://review.coreboot.org/#/c/6036">http://review.coreboot.org/#/c/6036</a>) on X60 and T60 for kmalkki</li> - <li>X60 Tablet digitizer support (<a href="http://review.coreboot.org/#/c/5243/">http://review.coreboot.org/#/c/5243/</a>, also see 5242)</li> - <li> <li>Further study how backlight controls work</li> - <li> - <b>After all (or a satisfactory amount) of the above is done, finish deblobbing latest coreboot revisions.</b> - <ul> - <li><b>Totally re-tool linux-libre deblob scripts to automatically deblob other revisions of coreboot aswell</b></li> - <li><b>Ports for T60 and F2A85M</b></li> - </ul> - </li> - <li><b>Write information about software/hardware modifications (security)</b></li> - <li>funfunctor wants me to try building libreboot/coreboot on X60 with clang/llvm because he says there are some issues where boards fail when built with this: fchmmr: well you will need to compile the latest clang, here are some instructions: https://gist.github.com/victoredwardocallaghan/38689e88dd7b9a439468 and also: funfunctor: fchmmr: you will need the latest coreboot code and http://review.coreboot.org/#/c/5814/ to get clang to build whatever board. also! <br/><br/> + <li>funfunctor (from coreboot IRC) wants me to try building libreboot/coreboot on X60 with clang/llvm because he says there are some issues where boards fail when built with this: fchmmr: well you will need to compile the latest clang, here are some instructions: https://gist.github.com/victoredwardocallaghan/38689e88dd7b9a439468 and also: funfunctor: fchmmr: you will need the latest coreboot code and http://review.coreboot.org/#/c/5814/ to get clang to build whatever board. also! <br/><br/> fchmmr: see this topic http://review.coreboot.org/#/q/status:open+project:coreboot+branch:master+topic:clang-fixes,n,z you will need those fixes to get anywhere with building t60/x60 with clang. at the time of writing that was 6122/1, 6121/1, 6120/1 and 6119/1<br/><br/> @@ -146,17 +122,102 @@ TODO: T60: find (for rare buggy CPU's that are unstable without microcode updates) if there is a workaround (patched kernel, special parameter, etc) So far, only 1 processor has been found to have issues. See microcode errata sheets http://download.intel.com/design/mobile/SPECUPDT/31407918.pdf and http://download.intel.com/design/mobile/SPECUPDT/30922214.pdf and then look at the debugging results collected in <a href="../t7200q">t7200q</a> directory (q means quirk). </p> + <p> + Every other T7200 tested so far has worked without microcode updates. + </p> + <p><a href="#pagetop">Back to top of page.</a></p> <hr/> - <h1 id="lcd_i945_incompatibility">LCD panels on i945 - fix incompatible panels</h1> + <h1 id="fastboot">Fast boot</h1> + + <p> + Based on information supplied by Charles Devereaux. Look into this. The following are the files + that he gave me, and what he said: + </p> + + <ul> + <li><a href="fastboot/x60.config">x60.config</a></li> + <li><a href="fastboot/get-systemd.sh">get-systemd.sh</a></li> + <li><a href="fastboot/grub.cfg.memdisk">grub.cfg.memdisk</a></li> + <li><a href="fastboot/grub.cfg">grub.cfg</a></li> + </ul> + + <p> + failsafes to allow people to experiment with few risks.The memdisk tries to load a grub.cfg from each partition, + failing that from the CBFS, and failing that prepares the serial port and + shows a simple menu reminding the user that this is the memdisk (beeps are + also played) and some simple options (ex: call directly a linux kernel). + </p> + + <p> + The grub.cfg from the CBFS tries to load a working grub.cfg from a + thumbdrive, and failing that shows a menu offering to boot on seabios (for + CD boot) + </p> + + <p> + This makes it possible to say remove the HD and still have a booting + machine (using a thumbdrive) - which may be an interesting option to offer + to your users (a "rescue/reinstall" thumbdrive, or a simple failsafe in + case the user wants to reinstall from a CD into a brand new HD) + </p> + + <p> + It's also hacker friendly: + </p> + <ul> + <li> + the memdisk acts as a failsave in case the flash has had its grub.cfg removed or damanged + </li> + <li> + the flash grub.cfg is a failsafe in case the HD grub.cfg was damaged or removed + </li> + </ul> + + <p> + Just some simple if logic, but it does the job. + </p> + + <p> + Besides that, if you want to experiment with fast booting, my systemd + configure script follows. Just boot your kernel with + init=/lib/systemd/systemd. You also need to add at the botton of the + resulting /lib/udev/rules.d/99-systemd.rules the following to make network + configuration automatic:<br/> + <b> + SUBSYSTEM=="net", KERNEL!="lo", TAG+="systemd",<br/> + ENV{SYSTEMD_ALIAS}+="/sys/subsystem/net/devices/$name"<br/> + ENV{SYSTEMD_WANTS}="ifup@%k.service" + </b> + </p> <p> - Fix X60 Tablet issues (see incompatible panels listed at <a href="../index.html#supported_x60t_list">../index.html#supported_x60t_list</a>). + It will put the systemd stuff in /lib/systemd instead of /usr/lib/systemd + (on debian), allowing a peacefull coexistence, and won't use any of the old + /etc/init.d stuff (major cause of slowdown). </p> <p> + This is the exact systemd configuration I used to get a system up in 0.6s + as reported on the mailing list. + </p> + + <p> + Further optimizations of the boot-time requires to optimize the kernel + configuration even more. Here is my current .config (everything is + built-in, slowly removing modules (ex: yenta, firewire) one by one to see + where I can gain speed. + </p> + + <p><a href="#pagetop">Back to top of page.</a></p> + +<hr/> + + <h1 id="lcd_i945_incompatibility">LCD panels on i945 - fix incompatible panels</h1> + + <p> Fix T60 issues (see incompatible panels listed at <a href="../index.html#supported_t60_list">../index.html#supported_t60_list</a>). </p> @@ -176,6 +237,20 @@ <p> Other values/registers might also need to be added to the script for these tests. </p> + + <p> + check if intel_bios_reader from intel-gpu-tools reports the same value (BIOS has a hardcoded value) for PWM modulation frequency. + This file can read the VBIOS (64K dump). + </p> + + <p> + Check other tools in intel-gpu-tools aswell, compare outputs. Possibly add more information to intel-regs.py output (submit changes to mtjm). + Do oprom trace / replay (<a href="http://www.coreboot.org/User:GNUtoo#How_to_get_rid_of_the_vbios_of_the_x60_.5BNew_Version.5D">http://www.coreboot.org/User:GNUtoo#How_to_get_rid_of_the_vbios_of_the_x60_.5BNew_Version.5D</a>) + </p> + + <p> + Study how EDID works and how gma.c handles it. + </p> <p> Original getregs.py script can be found at <a href="http://hg.mtjm.eu/scripts/file/tip/intel-regs.py">http://hg.mtjm.eu/scripts/file/tip/intel-regs.py</a> @@ -219,15 +294,12 @@ <b><i>Also check <a href="#5320_kernel312fix">#5320_kernel312fix</a> (to fix 3D on kernel 3.12/higher)</i></b> </p> <p> - <b>The fix below was done on 5320/6 but should work just fine on later versions of 5320.</b> + <b>The fix below was done on 5320/6 (from review.coreboot.org) but should work just fine on later versions of 5320.</b> </p> <p> Native gpu init + backlight controls! (Fn keys). Also confirmed on X60 Tablet (1024x768) and X60 Tablet (1400x1050) </p> <p> - <b>Checkout <a href="http://review.coreboot.org/#/c/5320">http://review.coreboot.org/#/c/5320</a> on top of a coreboot git clone.</b> - </p> - <p> <b>Add backlight controls:</b> in <i>src/mainboard/lenovo/x60/devicetree.cb</i>, change <b>gpu_backlight</b> to <b>0x879F879E</b> </p> <p> @@ -236,6 +308,9 @@ <b># devmem2 0xe4361254 w</b> </p> <p> + The change is also included in libreboot 6. + </p> + <p> When doing this, it gave back that value. The same trick was used to get backlight controls for T60 (see <a href="#t60_native_notes">#t60_native_notes</a>). </p> @@ -278,14 +353,7 @@ <b><i>Also check <a href="#5320_kernel312fix">#5320_kernel312fix</a> (to fix 3D on kernel 3.12/higher)</i></b> </p> <p> - <b>The fix below was done on an earlier version of 5345, but should work on the current version.</b> - </p> - <p> - Native gpu init + backlight controls! (Fn keys). <b>Working on all panels except for 14" XGA (1024x768) and 15" XGA (1024x768)!</b> - <p> - <p> - <b>Checkout <a href="http://review.coreboot.org/#/c/5320">http://review.coreboot.org/#/c/5320</a> - and then cherry-pick <a href="http://review.coreboot.org/#/c/5345">http://review.coreboot.org/#/c/5345</a> on top of a coreboot git clone.</b> + <b>The fix below was done on an earlier version of 5345 changeset (review.coreboot.org), but should work on the current version. it is included in libreboot 6</b> </p> <p> <b>Add backlight controls:</b> in <i>src/mainboard/lenovo/t60/devicetree.cb</i>, change <b>gpu_backlight</b> to <b>0x58BF58BE</b> @@ -300,8 +368,7 @@ </p> <p> - Note to self: Run oprom trace for phcoder (T60 w/ 5320+5345 + oprom + grub) for phcoder. This (among other things) - might help to get all panels supported, without modification. + See <a href="#lcd_i945_incompatibility">#lcd_i945_incompatibility</a>. </p> <p><a href="#pagetop">Back to top of page</a></p> @@ -417,6 +484,9 @@ <h1 id="i945_vbt">i945 gfx: X60/T60 VBT implementation (experimental: testing)</h1> <p> + intel_bios_dumper (use man) in intel-gpu-tools seems interesting. + </p> + <p> <b>Use 'drm.debug=0x06' kernel parameter when booting in grub! Make sure to use kernel 3.14.4 as before (or any recent kernel).</b> </p> <p> |