blob: 4071dfc0b1da8d6e6389d519932d87061a128e5f [file] [log] [blame]
Eric Park608ce5a2019-08-07 21:27:46 +08001
2
3
4
5<!doctype html>
6<html lang="en" class="no-js">
7 <head>
8
9 <meta charset="utf-8">
10 <meta name="viewport" content="width=device-width,initial-scale=1">
11 <meta http-equiv="x-ua-compatible" content="ie=edge">
12
13
14
15
16 <meta name="lang:clipboard.copy" content="Copy to clipboard">
17
18 <meta name="lang:clipboard.copied" content="Copied to clipboard">
19
20 <meta name="lang:search.language" content="en">
21
22 <meta name="lang:search.pipeline.stopwords" content="True">
23
24 <meta name="lang:search.pipeline.trimmer" content="True">
25
26 <meta name="lang:search.result.none" content="No matching documents">
27
28 <meta name="lang:search.result.one" content="1 matching document">
29
30 <meta name="lang:search.result.other" content="# matching documents">
31
32 <meta name="lang:search.tokenizer" content="[\s\-]+">
33
34 <link rel="shortcut icon" href="../../assets/images/favicon.png">
35 <meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.0">
36
37
38
39 <title>Troubleshooting - Team Bliss</title>
40
41
42
43 <link rel="stylesheet" href="../../assets/stylesheets/application.0284f74d.css">
44
45
46
47
48 <script src="../../assets/javascripts/modernizr.74668098.js"></script>
49
50
51
52 <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
53 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback">
54 <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
55
56
57 <link rel="stylesheet" href="../../assets/fonts/material-icons.css">
58
59
60
61
62
63
64 </head>
65
66 <body dir="ltr">
67
68 <svg class="md-svg">
69 <defs>
70
71
72 </defs>
73 </svg>
74 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
75 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
76 <label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
77
78 <a href="#troubleshooting" tabindex="1" class="md-skip">
79 Skip to content
80 </a>
81
82
83 <header class="md-header" data-md-component="header">
84 <nav class="md-header-nav md-grid">
85 <div class="md-flex">
86 <div class="md-flex__cell md-flex__cell--shrink">
87 <a href="../.." title="Team Bliss" class="md-header-nav__button md-logo">
88
89 <i class="md-icon"></i>
90
91 </a>
92 </div>
93 <div class="md-flex__cell md-flex__cell--shrink">
94 <label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
95 </div>
96 <div class="md-flex__cell md-flex__cell--stretch">
97 <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
98
99 <span class="md-header-nav__topic">
100 Team Bliss
101 </span>
102 <span class="md-header-nav__topic">
103
104 Troubleshooting
105
106 </span>
107
108 </div>
109 </div>
110 <div class="md-flex__cell md-flex__cell--shrink">
111
112 <label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
113
114<div class="md-search" data-md-component="search" role="dialog">
115 <label class="md-search__overlay" for="__search"></label>
116 <div class="md-search__inner" role="search">
117 <form class="md-search__form" name="search">
118 <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
119 <label class="md-icon md-search__icon" for="__search"></label>
120 <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
121 &#xE5CD;
122 </button>
123 </form>
124 <div class="md-search__output">
125 <div class="md-search__scrollwrap" data-md-scrollfix>
126 <div class="md-search-result" data-md-component="result">
127 <div class="md-search-result__meta">
128 Type to start searching
129 </div>
130 <ol class="md-search-result__list"></ol>
131 </div>
132 </div>
133 </div>
134 </div>
135</div>
136
137 </div>
138
139 </div>
140 </nav>
141</header>
142
143 <div class="md-container">
144
145
146
147
148 <main class="md-main">
149 <div class="md-main__inner md-grid" data-md-component="container">
150
151
152 <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
153 <div class="md-sidebar__scrollwrap">
154 <div class="md-sidebar__inner">
155 <nav class="md-nav md-nav--primary" data-md-level="0">
156 <label class="md-nav__title md-nav__title--site" for="__drawer">
157 <a href="../.." title="Team Bliss" class="md-nav__button md-logo">
158
159 <i class="md-icon"></i>
160
161 </a>
162 Team Bliss
163 </label>
164
165 <ul class="md-nav__list" data-md-scrollfix>
166
167
168
169
170
171
172 <li class="md-nav__item">
Eric Park5e3a1012019-08-12 13:17:03 +0800173 <a href="../.." title="Home" class="md-nav__link">
174 Home
Eric Park608ce5a2019-08-07 21:27:46 +0800175 </a>
176 </li>
177
178
179
180
181
182
183
184
185
186 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
187
188 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2" checked>
189
190 <label class="md-nav__link" for="nav-2">
191 Bliss OS
192 </label>
193 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
194 <label class="md-nav__title" for="nav-2">
195 Bliss OS
196 </label>
197 <ul class="md-nav__list" data-md-scrollfix>
198
199
200
201
202
203
204
205 <li class="md-nav__item">
206 <a href="../" title="Index" class="md-nav__link">
207 Index
208 </a>
209 </li>
210
211
212
213
214
215
216
217 <li class="md-nav__item">
Eric Park5e3a1012019-08-12 13:17:03 +0800218 <a href="../build-guide/" title="Build Guide" class="md-nav__link">
219 Build Guide
220 </a>
221 </li>
222
223
224
225
226
227
228
229 <li class="md-nav__item">
Eric Park608ce5a2019-08-07 21:27:46 +0800230 <a href="../extras/" title="Extras" class="md-nav__link">
231 Extras
232 </a>
233 </li>
234
235
236
237
238
239
240
241 <li class="md-nav__item">
242 <a href="../installation-guide/" title="Installation Guide" class="md-nav__link">
243 Installation Guide
244 </a>
245 </li>
246
247
248
249
250
251
252
253
254
255 <li class="md-nav__item md-nav__item--active">
256
257 <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
258
259
260
261
262 <label class="md-nav__link md-nav__link--active" for="__toc">
263 Troubleshooting
264 </label>
265
266 <a href="./" title="Troubleshooting" class="md-nav__link md-nav__link--active">
267 Troubleshooting
268 </a>
269
270
271<nav class="md-nav md-nav--secondary">
272
273
274
275
276
277 <label class="md-nav__title" for="__toc">Table of contents</label>
278 <ul class="md-nav__list" data-md-scrollfix>
279
280 <li class="md-nav__item">
281 <a href="#grub2-kernel-parameters-and-options" title="grub2 kernel parameters and options" class="md-nav__link">
282 grub2 kernel parameters and options
283 </a>
284
285</li>
286
287
288
289
290
291 </ul>
292
293</nav>
294
295 </li>
296
297
298 </ul>
299 </nav>
300 </li>
301
302
303
304
305
306
307
308 <li class="md-nav__item md-nav__item--nested">
309
310 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
311
312 <label class="md-nav__link" for="nav-3">
313 BlissRoms
314 </label>
315 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
316 <label class="md-nav__title" for="nav-3">
317 BlissRoms
318 </label>
319 <ul class="md-nav__list" data-md-scrollfix>
320
321
322
323
324
325
326
327 <li class="md-nav__item">
328 <a href="../../BlissRoms/" title="Index" class="md-nav__link">
329 Index
330 </a>
331 </li>
332
333
334
335
336
337
338
339 <li class="md-nav__item">
340 <a href="../../BlissRoms/build-guide/" title="Build Guide" class="md-nav__link">
341 Build Guide
342 </a>
343 </li>
344
345
346
347
348
349
350
351 <li class="md-nav__item">
352 <a href="../../BlissRoms/build-tips/" title="Build Tips" class="md-nav__link">
353 Build Tips
354 </a>
355 </li>
356
357
358 </ul>
359 </nav>
360 </li>
361
362
363
364
365
366
367
368 <li class="md-nav__item md-nav__item--nested">
369
370 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
371
372 <label class="md-nav__link" for="nav-4">
373 Common
374 </label>
375 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
376 <label class="md-nav__title" for="nav-4">
377 Common
378 </label>
379 <ul class="md-nav__list" data-md-scrollfix>
380
381
382
383
384
385
386
387 <li class="md-nav__item">
388 <a href="../../common/" title="Index" class="md-nav__link">
389 Index
390 </a>
391 </li>
392
393
394
395
396
397
398
399 <li class="md-nav__item">
400 <a href="../../common/git-started/" title="Git Started" class="md-nav__link">
401 Git Started
402 </a>
403 </li>
404
405
406
407
408
409
410
411 <li class="md-nav__item">
Eric Park8584eda2019-09-02 09:45:55 +0800412 <a href="../../common/maintaining-proper-authorship/" title="Maintaining proper authorship" class="md-nav__link">
413 Maintaining proper authorship
414 </a>
415 </li>
416
417
418
419
420
421
422
423 <li class="md-nav__item">
Eric Park608ce5a2019-08-07 21:27:46 +0800424 <a href="../../common/using-dippy-bird/" title="Using `dippy-bird`" class="md-nav__link">
425 Using `dippy-bird`
426 </a>
427 </li>
428
429
430 </ul>
431 </nav>
432 </li>
433
434
435
436
437
438
439
440 <li class="md-nav__item md-nav__item--nested">
441
442 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
443
444 <label class="md-nav__link" for="nav-5">
445 Infrastructure
446 </label>
447 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
448 <label class="md-nav__title" for="nav-5">
449 Infrastructure
450 </label>
451 <ul class="md-nav__list" data-md-scrollfix>
452
453
454
455
456
457
458
459 <li class="md-nav__item">
460 <a href="../../infrastructure/" title="Index" class="md-nav__link">
461 Index
462 </a>
463 </li>
464
465
466 </ul>
467 </nav>
468 </li>
469
470
471 </ul>
472</nav>
473 </div>
474 </div>
475 </div>
476
477
478 <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
479 <div class="md-sidebar__scrollwrap">
480 <div class="md-sidebar__inner">
481
482<nav class="md-nav md-nav--secondary">
483
484
485
486
487
488 <label class="md-nav__title" for="__toc">Table of contents</label>
489 <ul class="md-nav__list" data-md-scrollfix>
490
491 <li class="md-nav__item">
492 <a href="#grub2-kernel-parameters-and-options" title="grub2 kernel parameters and options" class="md-nav__link">
493 grub2 kernel parameters and options
494 </a>
495
496</li>
497
498
499
500
501
502 </ul>
503
504</nav>
505 </div>
506 </div>
507 </div>
508
509
510 <div class="md-content">
511 <article class="md-content__inner md-typeset">
512
513
514
515 <h1 id="troubleshooting">Troubleshooting</h1>
516<h2 id="grub2-kernel-parameters-and-options"><code>grub2</code> kernel parameters and options</h2>
517<p><strong>You will want to pay attention here!</strong> With Bliss OS on the PC, we tend to use quite a few command line options to get things working right. We've gathered a few of them here to explain them a little bit.</p>
518<p><a href="https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt">A full list of available kernel parameters can be found here.</a></p>
519<p>Brief options overview:</p>
520<ul>
521<li><code>parameter</code>: Description</li>
522<li><code>root=</code>: Root filesystem.</li>
523<li><code>rootflags=</code>: Root filesystem mount options.</li>
524<li><code>initrd=</code>: Specify the location of the initial ramdisk.</li>
525<li><code>init=</code>: Run specified binary instead of <code>/sbin/init</code> (symlinked to <code>systemd</code> in Arch) as <code>init</code> process.</li>
526<li><code>init=/bin/sh</code>: Boot to shell.</li>
527<li><code>systemd.unit=</code>: Boot to a specified target.</li>
528<li><code>nomodeset</code>: Disable kernel mode setting (useful for fixing video driver panics) This will load mostly everything in software rendering/support mode. No hardware acceleration. Good for debugging. </li>
529<li><code>panic=</code>: Time before automatic reboot on kernel panic.</li>
530<li><code>debug</code>: Enable kernel debugging (events log level).</li>
531<li><code>mem=</code>: Force usage of a specific amount of memory to be used.</li>
532<li><code>maxcpus=</code>: Maximum number of processors that an SMP kernel will bring up during bootup.</li>
533<li><code>selinux=</code>: Disable or enable SELinux at boot time.</li>
534<li><code>netdev=</code>: Network devices parameters.</li>
535<li><code>video=&lt;videosetting&gt;</code>: Override framebuffer video defaults.</li>
536<li><code>sleep=1</code>: This will enable the system.prop value for <code>sleep.earlysuspend=1</code>, and on some machines, it enables the proper sleep state.</li>
537<li><code>acpi_sleep=s3_bios,s3_mode</code>: Sometimes needed for older machines to enter sleep mode properly</li>
538<li><code>SETUPWIZARD=0</code>: This command will skip SetupWizard on boot. (Only needs to be run once!)</li>
539<li><code>AUTO_LOAD=old</code>: This will load android-x86 variants using the old <code>modprobe</code> method to init devices. We sometimes use this to debug devices not starting. </li>
540<li><code>DEBUG=1 &amp; DEBUG=2</code>: These enable verbose console debugging, giving another command shell after loading kernel modules, but before Android <code>init</code></li>
541<li><code>vga=xxx &amp; video=</code>: These are the common video modes that you can boot into if it doesn't pick the best choice automagically. You can also use <code>video=</code> as resolution parameters: <code>video=LVDS-1:d video=1366x800</code>. <a href="https://groups.google.com/forum/#!msg/android-x86/jSF3RnADnqA/1sfYdGV_AQAJ">Learn more from our own Henri Koivuneva!</a></li>
542<li><code>HWACCELL=1</code>: This will disable graphics hardware acceleration, enabling rendering through Swiftshader. (Must use this if running headless)</li>
543<li><code>buildvariant=eng, user, userdebug</code>: This is the commandline parameter to run the current build as <code>eng</code>, <code>userdebug</code>, or <code>user</code> </li>
544<li><code>DPI=xxx</code>: This will manually set the DPI on init. Use this if things are too big/small for you.</li>
545<li><code>fbcon=variablename</code>: This is to configure framebuffer to use various options. Usually used to help fix video settings, etc. Even default rotation on some Atom tablets. Example: <code>video=efifb fbcon=rotate:1</code></li>
Eric Park5ae1c6c2019-08-21 11:08:22 -0700546<li><code>VULKAN=1</code>: Required for Vulkan-supported chipsets. This enables <code>hwcomposer</code> to work right with screenshots and other things.</li>
Eric Park608ce5a2019-08-07 21:27:46 +0800547</ul>
548<p>As an example, here are a few of the boot options used in testing:</p>
549<pre><code>menuentry 'Bliss-x86 Test-Oreo' --class bliss {
550 search --file --no-floppy --set=root /AndroidOS/android.boot
551 linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive androidboot.hardware=android_x86_64 buildvariant=eng quiet sleep.earlysuspend=2 DATA=
552 initrd /AndroidOS/initrd.img
553}
554
555menuentry 'Bliss-x86 Test-Oreo AUTO_LOAD=old' --class bliss {
556 search --file --no-floppy --set=root /AndroidOS/android.boot
557 linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive androidboot.hardware=android_x86_64 buildvariant=eng quiet DATA= AUTO_LOAD=old
558 initrd /AndroidOS/initrd.img
559}
560
561menuentry 'Bliss-x86 Test-Oreo - SETUP_WIZARD=0' --class bliss {
562 search --file --no-floppy --set=root /AndroidOS/android.boot
563 linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive buildvariant=eng SETUPWIZARD=0 quiet DATA=
564 initrd /AndroidOS/initrd.img
565}
566
567menuentry 'Bliss-x86 Test-Oreo - debug=1' --class bliss {
568 search --file --no-floppy --set=root /AndroidOS/android.boot
569 linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive androidboot.hardware=android_x86_64 buildvariant=eng SETUPWIZARD=0 quiet DATA= DEBUG=1
570 initrd /AndroidOS/initrd.img
571}
572
573menuentry 'Bliss-x86 Test-Oreo - debug=2' --class bliss {
574 search --file --no-floppy --set=root /AndroidOS/android.boot
575 linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive androidboot.hardware=android_x86_64 buildvariant=eng SETUPWIZARD=0 quiet DATA= DEBUG=2
576 initrd /AndroidOS/initrd.img
577}
578</code></pre>
579
580
581
582
583
584
585
586
587
588 </article>
589 </div>
590 </div>
591 </main>
592
593
594<footer class="md-footer">
595
596 <div class="md-footer-nav">
597 <nav class="md-footer-nav__inner md-grid">
598
599 <a href="../installation-guide/" title="Installation Guide" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
600 <div class="md-flex__cell md-flex__cell--shrink">
601 <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
602 </div>
603 <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
604 <span class="md-flex__ellipsis">
605 <span class="md-footer-nav__direction">
606 Previous
607 </span>
608 Installation Guide
609 </span>
610 </div>
611 </a>
612
613
614 <a href="../../BlissRoms/" title="Index" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
615 <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
616 <span class="md-flex__ellipsis">
617 <span class="md-footer-nav__direction">
618 Next
619 </span>
620 Index
621 </span>
622 </div>
623 <div class="md-flex__cell md-flex__cell--shrink">
624 <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
625 </div>
626 </a>
627
628 </nav>
629 </div>
630
631 <div class="md-footer-meta md-typeset">
632 <div class="md-footer-meta__inner md-grid">
633 <div class="md-footer-copyright">
634
635 powered by
636 <a href="https://www.mkdocs.org">MkDocs</a>
637 and
638 <a href="https://squidfunk.github.io/mkdocs-material/">
639 Material for MkDocs</a>
640 </div>
641
642 </div>
643 </div>
644</footer>
645
646 </div>
647
648 <script src="../../assets/javascripts/application.245445c6.js"></script>
649
650 <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script>
651
652
653 </body>
654</html>