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.

990 lines
27 KiB

  1. <!doctype html>
  2. <html lang="en" class="no-js">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1">
  6. <meta name="description" content="Accessible & Free Documentation for Libre Products">
  7. <meta name="author" content="Abhas Abhinav">
  8. <link rel="icon" href="../images/lts-icon.png">
  9. <meta name="generator" content="mkdocs-1.2.3, mkdocs-material-8.1.6">
  10. <title>(LC230) Overview - LibreTechShop - Documentation</title>
  11. <link rel="stylesheet" href="../assets/stylesheets/main.cd566b2a.min.css">
  12. <link rel="stylesheet" href="../assets/stylesheets/palette.e6a45f82.min.css">
  13. <meta name="theme-color" content="#ffffff">
  14. <link rel="stylesheet" href="../css/extra.css">
  15. <script>__md_scope=new URL("..",location),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
  16. </head>
  17. <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="pink">
  18. <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
  19. <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
  20. <label class="md-overlay" for="__drawer"></label>
  21. <div data-md-component="skip">
  22. <a href="#lc230-the-liberated-computer" class="md-skip">
  23. Skip to content
  24. </a>
  25. </div>
  26. <div data-md-component="announce">
  27. </div>
  28. <header class="md-header" data-md-component="header">
  29. <nav class="md-header__inner md-grid" aria-label="Header">
  30. <a href=".." title="LibreTechShop - Documentation" class="md-header__button md-logo" aria-label="LibreTechShop - Documentation" data-md-component="logo">
  31. <img src="../images/lts-icon.png" alt="logo">
  32. </a>
  33. <label class="md-header__button md-icon" for="__drawer">
  34. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
  35. </label>
  36. <div class="md-header__title" data-md-component="header-title">
  37. <div class="md-header__ellipsis">
  38. <div class="md-header__topic">
  39. <span class="md-ellipsis">
  40. LibreTechShop - Documentation
  41. </span>
  42. </div>
  43. <div class="md-header__topic" data-md-component="header-topic">
  44. <span class="md-ellipsis">
  45. (LC230) Overview
  46. </span>
  47. </div>
  48. </div>
  49. </div>
  50. <label class="md-header__button md-icon" for="__search">
  51. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
  52. </label>
  53. <div class="md-search" data-md-component="search" role="dialog">
  54. <label class="md-search__overlay" for="__search"></label>
  55. <div class="md-search__inner" role="search">
  56. <form class="md-search__form" name="search">
  57. <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
  58. <label class="md-search__icon md-icon" for="__search">
  59. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
  60. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
  61. </label>
  62. <nav class="md-search__options" aria-label="Search">
  63. <button type="reset" class="md-search__icon md-icon" aria-label="Clear" tabindex="-1">
  64. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
  65. </button>
  66. </nav>
  67. </form>
  68. <div class="md-search__output">
  69. <div class="md-search__scrollwrap" data-md-scrollfix>
  70. <div class="md-search-result" data-md-component="search-result">
  71. <div class="md-search-result__meta">
  72. Initializing search
  73. </div>
  74. <ol class="md-search-result__list"></ol>
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. </div>
  80. <div class="md-header__source">
  81. <a href="https://sovran.dev/mh/lts-docs" title="Go to repository" class="md-source" data-md-component="source">
  82. <div class="md-source__icon md-icon">
  83. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
  84. </div>
  85. <div class="md-source__repository">
  86. mh/lts-docs
  87. </div>
  88. </a>
  89. </div>
  90. </nav>
  91. </header>
  92. <div class="md-container" data-md-component="container">
  93. <main class="md-main" data-md-component="main">
  94. <div class="md-main__inner md-grid">
  95. <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
  96. <div class="md-sidebar__scrollwrap">
  97. <div class="md-sidebar__inner">
  98. <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
  99. <label class="md-nav__title" for="__drawer">
  100. <a href=".." title="LibreTechShop - Documentation" class="md-nav__button md-logo" aria-label="LibreTechShop - Documentation" data-md-component="logo">
  101. <img src="../images/lts-icon.png" alt="logo">
  102. </a>
  103. LibreTechShop - Documentation
  104. </label>
  105. <div class="md-nav__source">
  106. <a href="https://sovran.dev/mh/lts-docs" title="Go to repository" class="md-source" data-md-component="source">
  107. <div class="md-source__icon md-icon">
  108. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
  109. </div>
  110. <div class="md-source__repository">
  111. mh/lts-docs
  112. </div>
  113. </a>
  114. </div>
  115. <ul class="md-nav__list" data-md-scrollfix>
  116. <li class="md-nav__item">
  117. <a href=".." class="md-nav__link">
  118. Home
  119. </a>
  120. </li>
  121. <li class="md-nav__item md-nav__item--active md-nav__item--nested">
  122. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2" type="checkbox" id="__nav_2" checked>
  123. <label class="md-nav__link" for="__nav_2">
  124. LC230
  125. <span class="md-nav__icon md-icon"></span>
  126. </label>
  127. <nav class="md-nav" aria-label="LC230" data-md-level="1">
  128. <label class="md-nav__title" for="__nav_2">
  129. <span class="md-nav__icon md-icon"></span>
  130. LC230
  131. </label>
  132. <ul class="md-nav__list" data-md-scrollfix>
  133. <li class="md-nav__item md-nav__item--active">
  134. <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
  135. <label class="md-nav__link md-nav__link--active" for="__toc">
  136. (LC230) Overview
  137. <span class="md-nav__icon md-icon"></span>
  138. </label>
  139. <a href="./" class="md-nav__link md-nav__link--active">
  140. (LC230) Overview
  141. </a>
  142. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  143. <label class="md-nav__title" for="__toc">
  144. <span class="md-nav__icon md-icon"></span>
  145. Table of contents
  146. </label>
  147. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  148. <li class="md-nav__item">
  149. <a href="#why-lc230" class="md-nav__link">
  150. Why LC230?
  151. </a>
  152. </li>
  153. <li class="md-nav__item">
  154. <a href="#what-is-coreboot" class="md-nav__link">
  155. What is Coreboot?
  156. </a>
  157. </li>
  158. <li class="md-nav__item">
  159. <a href="#introducing-skulls" class="md-nav__link">
  160. Introducing Skulls
  161. </a>
  162. </li>
  163. <li class="md-nav__item">
  164. <a href="#how-is-an-lc230-assembled" class="md-nav__link">
  165. How is an LC230 assembled?
  166. </a>
  167. </li>
  168. </ul>
  169. </nav>
  170. </li>
  171. <li class="md-nav__item">
  172. <a href="user-guide/" class="md-nav__link">
  173. (LC230) User Guide
  174. </a>
  175. </li>
  176. <li class="md-nav__item">
  177. <a href="troubleshooting/" class="md-nav__link">
  178. (LC230) Troubleshooting
  179. </a>
  180. </li>
  181. </ul>
  182. </nav>
  183. </li>
  184. <li class="md-nav__item md-nav__item--nested">
  185. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
  186. <label class="md-nav__link" for="__nav_3">
  187. MH-USB
  188. <span class="md-nav__icon md-icon"></span>
  189. </label>
  190. <nav class="md-nav" aria-label="MH-USB" data-md-level="1">
  191. <label class="md-nav__title" for="__nav_3">
  192. <span class="md-nav__icon md-icon"></span>
  193. MH-USB
  194. </label>
  195. <ul class="md-nav__list" data-md-scrollfix>
  196. <li class="md-nav__item">
  197. <a href="../usb/" class="md-nav__link">
  198. Introduction
  199. </a>
  200. </li>
  201. <li class="md-nav__item">
  202. <a href="../usb/start/" class="md-nav__link">
  203. Getting Started
  204. </a>
  205. </li>
  206. <li class="md-nav__item">
  207. <a href="../usb/use/" class="md-nav__link">
  208. Using the USB disk
  209. </a>
  210. </li>
  211. <li class="md-nav__item">
  212. <a href="../usb/update/" class="md-nav__link">
  213. Adding and Updating OS images
  214. </a>
  215. </li>
  216. <li class="md-nav__item">
  217. <a href="../usb/advanced/" class="md-nav__link">
  218. Advanced Options
  219. </a>
  220. </li>
  221. <li class="md-nav__item">
  222. <a href="../usb/troubleshooting/" class="md-nav__link">
  223. Troubleshooting
  224. </a>
  225. </li>
  226. </ul>
  227. </nav>
  228. </li>
  229. <li class="md-nav__item md-nav__item--nested">
  230. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
  231. <label class="md-nav__link" for="__nav_4">
  232. Routers
  233. <span class="md-nav__icon md-icon"></span>
  234. </label>
  235. <nav class="md-nav" aria-label="Routers" data-md-level="1">
  236. <label class="md-nav__title" for="__nav_4">
  237. <span class="md-nav__icon md-icon"></span>
  238. Routers
  239. </label>
  240. <ul class="md-nav__list" data-md-scrollfix>
  241. <li class="md-nav__item">
  242. <a href="../routers/" class="md-nav__link">
  243. Introduction
  244. </a>
  245. </li>
  246. <li class="md-nav__item">
  247. <a href="../routers/first-use/" class="md-nav__link">
  248. First Use
  249. </a>
  250. </li>
  251. <li class="md-nav__item">
  252. <a href="../routers/next-steps/" class="md-nav__link">
  253. Next Steps
  254. </a>
  255. </li>
  256. <li class="md-nav__item">
  257. <a href="../routers/optional-steps/" class="md-nav__link">
  258. Optional Steps
  259. </a>
  260. </li>
  261. <li class="md-nav__item">
  262. <a href="../routers/cli/" class="md-nav__link">
  263. Command Line Guide
  264. </a>
  265. </li>
  266. <li class="md-nav__item">
  267. <a href="../routers/upgrade/" class="md-nav__link">
  268. Upgrading OpenWrt
  269. </a>
  270. </li>
  271. </ul>
  272. </nav>
  273. </li>
  274. <li class="md-nav__item md-nav__item--nested">
  275. <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
  276. <label class="md-nav__link" for="__nav_5">
  277. Phones
  278. <span class="md-nav__icon md-icon"></span>
  279. </label>
  280. <nav class="md-nav" aria-label="Phones" data-md-level="1">
  281. <label class="md-nav__title" for="__nav_5">
  282. <span class="md-nav__icon md-icon"></span>
  283. Phones
  284. </label>
  285. <ul class="md-nav__list" data-md-scrollfix>
  286. <li class="md-nav__item">
  287. <a href="../phones/" class="md-nav__link">
  288. Introduction
  289. </a>
  290. </li>
  291. <li class="md-nav__item">
  292. <a href="../phones/lineageos/" class="md-nav__link">
  293. LineageOS
  294. </a>
  295. </li>
  296. <li class="md-nav__item">
  297. <a href="../phones/f-droid/" class="md-nav__link">
  298. F-Droid
  299. </a>
  300. </li>
  301. <li class="md-nav__item">
  302. <a href="../phones/first-use/" class="md-nav__link">
  303. First Use
  304. </a>
  305. </li>
  306. <li class="md-nav__item">
  307. <a href="../phones/applications/" class="md-nav__link">
  308. Applications
  309. </a>
  310. </li>
  311. <li class="md-nav__item">
  312. <a href="../phones/services/" class="md-nav__link">
  313. Services
  314. </a>
  315. </li>
  316. <li class="md-nav__item">
  317. <a href="../phones/backups/" class="md-nav__link">
  318. Taking Backups
  319. </a>
  320. </li>
  321. <li class="md-nav__item">
  322. <a href="../phones/recovery/" class="md-nav__link">
  323. Using Recovery
  324. </a>
  325. </li>
  326. <li class="md-nav__item">
  327. <a href="../phones/ubports/" class="md-nav__link">
  328. Installing Ubports
  329. </a>
  330. </li>
  331. <li class="md-nav__item">
  332. <a href="../phones/calyxos/" class="md-nav__link">
  333. Installing CalyxOS
  334. </a>
  335. </li>
  336. </ul>
  337. </nav>
  338. </li>
  339. </ul>
  340. </nav>
  341. </div>
  342. </div>
  343. </div>
  344. <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
  345. <div class="md-sidebar__scrollwrap">
  346. <div class="md-sidebar__inner">
  347. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  348. <label class="md-nav__title" for="__toc">
  349. <span class="md-nav__icon md-icon"></span>
  350. Table of contents
  351. </label>
  352. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  353. <li class="md-nav__item">
  354. <a href="#why-lc230" class="md-nav__link">
  355. Why LC230?
  356. </a>
  357. </li>
  358. <li class="md-nav__item">
  359. <a href="#what-is-coreboot" class="md-nav__link">
  360. What is Coreboot?
  361. </a>
  362. </li>
  363. <li class="md-nav__item">
  364. <a href="#introducing-skulls" class="md-nav__link">
  365. Introducing Skulls
  366. </a>
  367. </li>
  368. <li class="md-nav__item">
  369. <a href="#how-is-an-lc230-assembled" class="md-nav__link">
  370. How is an LC230 assembled?
  371. </a>
  372. </li>
  373. </ul>
  374. </nav>
  375. </div>
  376. </div>
  377. </div>
  378. <div class="md-content" data-md-component="content">
  379. <article class="md-content__inner md-typeset">
  380. <h1 id="lc230-the-liberated-computer">LC230 - The Liberated Computer<a class="headerlink" href="#lc230-the-liberated-computer" title="Permanent link">&para;</a></h1>
  381. <figure>
  382. <img src="/images/x230.png"/>
  383. </figure>
  384. <h2 id="why-lc230">Why LC230?<a class="headerlink" href="#why-lc230" title="Permanent link">&para;</a></h2>
  385. <p>Why does LC230 exist?</p>
  386. <p>Some of the most fundamental questions that we need to answer about the hardware that we possess are those of "ownership":</p>
  387. <div class="admonition question">
  388. <p class="admonition-title">Question</p>
  389. <ul class="task-list">
  390. <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> What is the definition of owning a piece of hardware? </li>
  391. <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> Are we the owners of the hardware merely because we paid for it and now have possession of it?</li>
  392. <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> If we are owners do we have the necessary freedom and opportunity to do what we want with it? </li>
  393. <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> How much control does the manufacturer of a device exert after "selling" the device to us?</li>
  394. <li class="task-list-item"><label class="task-list-control"><input type="checkbox" disabled/><span class="task-list-indicator"></span></label> If such control does exist, then how do we re-define ownership now?</li>
  395. </ul>
  396. </div>
  397. <p>The answers to these questions are not easy, universal or simple. Hence, we might define ownership in the following terms:</p>
  398. <div class="admonition info">
  399. <p class="admonition-title">Info</p>
  400. <p>We are the true owners of our hardware if we can <strong>do whatever we want</strong> with hardware <strong>without then
  401. permission of the manufacturer</strong>. This includes the <strong>freedom to change or upgrade hardware components</strong>
  402. at will, <strong>repair and refurbish</strong> the hardware and <strong>install the software we want</strong> (without constraints).</p>
  403. </div>
  404. <p>The <strong>"Liberated Computer"</strong> project exists to provide users with convenient access to
  405. reliable, libre-software friendly and hackable computers. The key to having the freedom to compute in a manner
  406. we deem respectful is to first liberate the computers from the locks and constraints imposed by the manufacturer.</p>
  407. <div class="admonition failure">
  408. <p class="admonition-title">Failure</p>
  409. <p><figure>
  410. <img src="/images/lenovo-error.jpg" />
  411. <figcaption style="text-align: justify;">
  412. Even 8 years after the model ceased production, Lenovo's BIOS does not give you the freedom to change the
  413. wireless card of the laptop to one that would work without proprietary firmware! <br> <br>
  414. This is a classic example of a manufacturer exerting control over the hardware well beyond its intended lifespan. <br> <br>
  415. Unless a wireless card that is "white-listed" by the BIOS is plugged in, the system will not boot up. The only way to
  416. move beyond this limitation is to replace the BIOS and hence, liberate the computer.
  417. </figcaption>
  418. </figure></p>
  419. </div>
  420. <h2 id="what-is-coreboot">What is Coreboot?<a class="headerlink" href="#what-is-coreboot" title="Permanent link">&para;</a></h2>
  421. <p>Coreboot is a free/libre software BIOS replacement. It was developed to allow computers users the ability to exert
  422. greater control on their computers by being able to control the BIOS. Coreboot is a very modular BIOS and runs on a wide
  423. variety of computer mainboards. More details are available at: <a href="https://coreboot.org">coreboot.org</a></p>
  424. <p>Coreboot's main advantage is that of software freedom at the BIOS level. It liberates the computer and allows a
  425. user to load multiple types of boot payloads while also allowing us to cripple and neuter the Intel ME.</p>
  426. <p>Some of the common payloads supported by Coreboot are:</p>
  427. <ul>
  428. <li>SeaBIOS - the default payload that ships with your LC230</li>
  429. <li>Linux - you can embed and load a Linux kernel on the BIOS chip</li>
  430. <li>Grub - You can also daisy-chain and boot Grub from Coreboot so that you can perform the rest of the boot process via Grub</li>
  431. <li><code>nvramtui</code> - a utility to configure the Embedded Controller (EC) firmware on thinkpad laptops</li>
  432. <li><code>memtest</code> - perform memory tests at the BIOS level!</li>
  433. <li><code>coreinfo</code> - provides low-level information about Coreboot</li>
  434. <li>TINC - play tetris without even booting an OS!</li>
  435. </ul>
  436. <div class="admonition info">
  437. <p class="admonition-title">Info</p>
  438. <p><figure>
  439. <img src="/images/tinc.png" style="height: auto; width: 400px;"/>
  440. <figcaption style="text-align: justify;">
  441. The TINC Coreboot payload - Tetris at the BIOS level. No Operating System!
  442. </figcaption>
  443. </figure></p>
  444. </div>
  445. <h2 id="introducing-skulls">Introducing Skulls<a class="headerlink" href="#introducing-skulls" title="Permanent link">&para;</a></h2>
  446. <p>The <a href="https://github.com/merge/skulls">Skulls Project</a> is a <a href="https://doc.coreboot.org/distributions.html">Coreboot
  447. distribution</a>. They ship a
  448. pre-compiled Coreboot binary for the Lenovo X230 Thinkpad along with a set of
  449. scripts that make it it simple to install and use it.</p>
  450. <p>The LC230 ships pre-installed with the latest release of Skulls.</p>
  451. <h2 id="how-is-an-lc230-assembled">How is an LC230 assembled?<a class="headerlink" href="#how-is-an-lc230-assembled" title="Permanent link">&para;</a></h2>
  452. <p>Your LC230 laptop is refurbished and liberated with a mix of new and used components. Here is the process of refurbishing it:</p>
  453. <ol>
  454. <li>We first purchase a used Lenovo x230 Thinkpad laptop</li>
  455. <li>Once we inspect it for physical and other defects, the process of liberating it starts.</li>
  456. <li>First the laptop is opened up and cleaned - all the internal and external plus the CPU fan.</li>
  457. <li>Next using a SIOC-8 clip, coreboot is flashed to SPI flash that is used to store the system firmware.</li>
  458. <li>Once the sytem is running coreboot, the default Intel wireless card is replaced with an Atheros one.</li>
  459. <li>After that, based on the requested configuration, a new mSATA or SATA SSD is added, more RAM or even a brand new battery.</li>
  460. <li>Finally - an OS is installed and the system is tested for heating issues, networking and so on.</li>
  461. </ol>
  462. <p>Now your liberated computer is ready for you to play with ! :-) </p>
  463. </article>
  464. </div>
  465. </div>
  466. </main>
  467. <footer class="md-footer">
  468. <nav class="md-footer__inner md-grid" aria-label="Footer">
  469. <a href=".." class="md-footer__link md-footer__link--prev" aria-label="Previous: Home" rel="prev">
  470. <div class="md-footer__button md-icon">
  471. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
  472. </div>
  473. <div class="md-footer__title">
  474. <div class="md-ellipsis">
  475. <span class="md-footer__direction">
  476. Previous
  477. </span>
  478. Home
  479. </div>
  480. </div>
  481. </a>
  482. <a href="user-guide/" class="md-footer__link md-footer__link--next" aria-label="Next: (LC230) User Guide" rel="next">
  483. <div class="md-footer__title">
  484. <div class="md-ellipsis">
  485. <span class="md-footer__direction">
  486. Next
  487. </span>
  488. (LC230) User Guide
  489. </div>
  490. </div>
  491. <div class="md-footer__button md-icon">
  492. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
  493. </div>
  494. </a>
  495. </nav>
  496. <div class="md-footer-meta md-typeset">
  497. <div class="md-footer-meta__inner md-grid">
  498. <div class="md-copyright">
  499. <div class="md-copyright__highlight">
  500. Copyright &copy; Mostly Harmless
  501. </div>
  502. Made with
  503. <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
  504. Material for MkDocs
  505. </a>
  506. </div>
  507. </div>
  508. </div>
  509. </footer>
  510. </div>
  511. <div class="md-dialog" data-md-component="dialog">
  512. <div class="md-dialog__inner md-typeset"></div>
  513. </div>
  514. <script id="__config" type="application/json">{"base": "..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "search": "../assets/javascripts/workers/search.22074ed6.min.js"}</script>
  515. <script src="../assets/javascripts/bundle.1514a9a0.min.js"></script>
  516. </body>
  517. </html>