grub
menu.grub
menu select "Debug mode"mount -o remount, rw /mnt cd /mnt/grub vi menu.lst </pre> 5. Add `nomodeset` before every "SCR=**" line. For example, your configuration should look something like this: <pre>
nomodeset SCR=700 nomodeset SCR=716 nomodeset SCR=795 ``` 6. Press Ctrl+O to save, and then Ctrl+X to close. 7. Type reboot -f
You should be finished! If all goes well you will boot into Bliss OS on your 32-bit machine.
grub2
kernel parameters and optionsYou will want to pay attention here! 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.
A full list of available kernel parameters can be found here.
Brief options overview:
parameter
: Descriptionroot=
: Root filesystem.rootflags=
: Root filesystem mount options.initrd=
: Specify the location of the initial ramdisk.init=
: Run specified binary instead of /sbin/init
(symlinked to systemd
in Arch) as init
process.init=/bin/sh
: Boot to shell.systemd.unit=
: Boot to a specified target.nomodeset
: 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.panic=
: Time before automatic reboot on kernel panic.debug
: Enable kernel debugging (events log level).mem=
: Force usage of a specific amount of memory to be used.maxcpus=
: Maximum number of processors that an SMP kernel will bring up during bootup.selinux=
: Disable or enable SELinux at boot time.netdev=
: Network devices parameters.video=<videosetting>
: Override framebuffer video defaults.sleep=1
: This will enable the system.prop value for sleep.earlysuspend=1
, and on some machines, it enables the proper sleep state.acpi_sleep=s3_bios,s3_mode
: Sometimes needed for older machines to enter sleep mode properlySETUPWIZARD=0
: This command will skip SetupWizard on boot. (Only needs to be run once!)AUTO_LOAD=old
: This will load android-x86 variants using the old modprobe
method to init devices. We sometimes use this to debug devices not starting.DEBUG=1 & DEBUG=2
: These enable verbose console debugging, giving another command shell after loading kernel modules, but before Android init
vga=xxx & video=
: These are the common video modes that you can boot into if it doesn't pick the best choice automagically. You can also use video=
as resolution parameters: video=LVDS-1:d video=1366x800
. Learn more from our own Henri Koivuneva!HWACCELL=1
: This will disable graphics hardware acceleration, enabling rendering through Swiftshader. (Must use this if running headless)buildvariant=eng, user, userdebug
: This is the commandline parameter to run the current build as eng
, userdebug
, or user
DPI=xxx
: This will manually set the DPI on init. Use this if things are too big/small for you.fbcon=variablename
: 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: video=efifb fbcon=rotate:1
VULKAN=1
: Required for Vulkan-supported chipsets. This enables hwcomposer
to work right with screenshots and other things.As an example, here are a few of the boot options used in testing:
menuentry 'Bliss-x86 Test-Oreo' --class bliss { search --file --no-floppy --set=root /AndroidOS/android.boot linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive androidboot.hardware=android_x86_64 buildvariant=eng quiet sleep.earlysuspend=2 DATA= initrd /AndroidOS/initrd.img } menuentry 'Bliss-x86 Test-Oreo AUTO_LOAD=old' --class bliss { search --file --no-floppy --set=root /AndroidOS/android.boot linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive androidboot.hardware=android_x86_64 buildvariant=eng quiet DATA= AUTO_LOAD=old initrd /AndroidOS/initrd.img } menuentry 'Bliss-x86 Test-Oreo - SETUP_WIZARD=0' --class bliss { search --file --no-floppy --set=root /AndroidOS/android.boot linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive buildvariant=eng SETUPWIZARD=0 quiet DATA= initrd /AndroidOS/initrd.img } menuentry 'Bliss-x86 Test-Oreo - debug=1' --class bliss { search --file --no-floppy --set=root /AndroidOS/android.boot linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive androidboot.hardware=android_x86_64 buildvariant=eng SETUPWIZARD=0 quiet DATA= DEBUG=1 initrd /AndroidOS/initrd.img } menuentry 'Bliss-x86 Test-Oreo - debug=2' --class bliss { search --file --no-floppy --set=root /AndroidOS/android.boot linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive androidboot.hardware=android_x86_64 buildvariant=eng SETUPWIZARD=0 quiet DATA= DEBUG=2 initrd /AndroidOS/initrd.img }