Troubleshooting
32-bit processors only (Intel Atom and similar)
- Install Android-x86 32-bit OS from here (doesn't matter which version, as long as it's 32-bit)
- Update with Bliss OS 32-bit (current version is 11.9). After reboot you should be able to access the
grubmenu. - In
grubmenu select "Debug mode" - Run the following commands:
mount -o remount, rw /mnt cd /mnt/grub nano menu.lst - Add
nomodesetbefore everySCR=/bliss...line. For example, your configuration should look something like this:default=0 timeout=6 splashimage=/grub/android-x86.xpm.gz root (hd0,0) title Bliss-OS 11.7 kernel /bliss-x86-11.7/kernel quiet root=/dev/ram0 androidboot.selinux=permissive androidboot.hardware=android_x86 vmalloc=192M androidboot.hardware=android_x86_64 nomodeset SRC=/bliss-x86-11.7 initrd /bliss-x86-11.7/initrd.img title Bliss-OS 11.7 (Legacy modprobe mode) kernel /bliss-x86-11.7/kernel root=/dev/ram0 androidboot.selinux=permissive androidboot.hardware=android_x86 vmalloc=192M androidboot.hardware=android_x86_64 AUTO_LOAD=old nomodeset SRC=/bliss-x86-11.7 initrd /bliss-x86-11.7/initrd.img title Bliss-OS 11.7 (Debug mode) kernel /bliss-x86-11.7/kernel root=/dev/ram0 androidboot.selinux=permissive androidboot.hardware=android_x86 vmalloc=192M DEBUG=2 androidboot.hardware=android_x86_64 nomodeset SRC=/bliss-x86-11.7 initrd /bliss-x86-11.7/initrd.img title Bliss-OS 11.7 (Debug nomodeset) kernel /bliss-x86-11.7/kernel nomodeset root=/dev/ram0 androidboot.selinux=permissive androidboot.hardware=android_x86 vmalloc=192M DEBUG=2 androidboot.hardware=android_x86_64 nomodeset SRC=/bliss-x86-11.7 initrd /bliss-x86-11.7/initrd.img title Bliss-OS 11.7 (Debug video=LVDS-1:d) kernel /bliss-x86-11.7/kernel video=LVDS-1:d root=/dev/ram0 androidboot.selinux=permissive androidboot.hardware=android_x86 vmalloc=192M DEBUG=2 nomodeset SRC=/bliss-x86-11.7 initrd /bliss-x86-11.7/initrd.img - Press Ctrl+O to save, and then Ctrl+X to close.
- 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 options
You 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 tosystemdin Arch) asinitprocess.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 forsleep.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 oldmodprobemethod 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 Androidinitvga=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 usevideo=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 aseng,userdebug, oruserDPI=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:1VULKAN=1: Required for Vulkan-supported chipsets. This enableshwcomposerto 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
}