#Steps to update libreboot on my x200
- libreboot rom for x200 with 8mb of flash
- libreboot util
- boot kernel once with params
nopat iomem=relaxedso flashrom can mmap /dev/mem - cp .rom file for
ukqwertywithvesafbto libreboot.rom
| function map<I,O>(array:I[], mapper:(value:I) => O) : O[] { | |
| var result:O[] = []; | |
| var index = 0; | |
| for(;index < array.length; ++index) { | |
| result.push(mapper(array[index])); | |
| } | |
| return result; | |
| } | |
| function reduce<I,O>(array:I[], reducer:(reduced:O, value:I) => O, initialValue: O) : O { |
| <!DOCTYPE html> | |
| <html> | |
| <body> | |
| <p>The dog <span id="edit" contenteditable="true">sleeps on</span> the sofa</p> | |
| <script type="text/javascript"> | |
| var handler = { | |
| onBackspace: function() { | |
| console.log("backspace"); | |
| }, |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset="utf8"/> | |
| <style> | |
| body { | |
| font-family: Helvetica, Arial; | |
| font-size: 12px; | |
| } |
| fn main() { | |
| let a = 0b10010001u8; | |
| let b = !a; | |
| println!("{:08b}", a); | |
| println!("{:08b}", b); | |
| } |
| *** 10_linux.orig 2016-10-05 22:46:49.564011135 +0200 | |
| --- 10_linux 2016-10-05 22:43:03.187055937 +0200 | |
| *************** | |
| *** 85,98 **** | |
| --- 85,101 ---- | |
| version="$2" | |
| type="$3" | |
| args="$4" | |
| + bios_vendor=$(dmesg | grep -oP 'BIOS vendor:\s*\K([^;]+)') | |
| sixteenbit="" |
#Things to do after installing linux on x200 laptop
grub2-mkconfig -o /etc/grub2.cfgpowertop and auto-tune on start-up if needed to avoid whining noise, see libreboot website.| pub trait WakeupChannel : Drop { | |
| fn wakeup(&self) | |
| } | |
| pub trait WakeupBuilder { | |
| fn create(callback: Fn<()>) -> WakeupChannel | |
| } | |
| mod apple { |
| struct Foo<'a> { | |
| age: u32, | |
| name: &'a str, | |
| } | |
| pub enum FieldRef<'a, 'b: 'a> { | |
| Str(&'a mut &'b str), | |
| UInt32(&'a mut u32), | |
| } |
| use std::cell::{RefCell, RefMut, BorrowMutError}; | |
| enum Event { | |
| Click, | |
| Close, | |
| Keystroke | |
| } | |
| trait Child<'a> { | |
| fn handle_event(&'a mut self, event: Event, ctx: &'a RefCell<u64>) -> u64; |