5

I have just installed Ubuntu desktop 16.04 on my flash drive (bootable flash drive option).

Ubuntu keeps freezing after ~20 seconds of activity like going onto firefox etc....

The only way to get out of it is to hard-boot the computer (shut it down via the power button).

Ubuntu is installed on a 8 gig flash drive.

My specs match the system requirements to run Ubuntu:

  • Intel Celeron CPU J1800 @ 2.41 GHz, 2 cores, 2 logical processors.
  • x64 based PC
  • 3.9 GB of system memory
  • Intel HD Graphics

As far as I can see, I pass all the prerequisites needed to run Ubuntu. Is there a certain driver I need to install to connect Intel HD Graphics to Ubuntu? Do we even need a graphics card to run Ubuntu?

enter image description here

Zanna
  • 70,465

1 Answers1

6

I have found some evidence that your processor is affected by the c-state bug which causes total freezes when the CPU tries to enter an unsupported sleep state. It's a problem for many Bay Trail devices especially with newer kernels.

There is a simple workaround for this until it gets properly fixed upstream. You just need to pass a kernel boot parameter and the random freezing stops completely (so if you still get freezes after doing this, you will know your problem is something else)

You do this by editing the configuration file for GRUB:

Boot Ubuntu and open a terminal by pressing ctrl+alt+t then type

sudo nano /etc/default/grub

Find the line GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

This needs to be changed to include intel_idle.max_cstate=1

So after your edit it reads

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"

If you have other boot parameters already besides quiet and splash, just leave them alone.

Now save the file by pressing ctrl+o then enter and exit by pressing ctrl+x

Now type

sudo update-grub

Then reboot


What to do if you don't have enough time to do this before the system hangs

No problem. As explained on the help page I linked to earlier, you can add the parameter to GRUB before booting. Note that this only passes the parameter for this boot, so you still have to edit /etc/default/grub once you have booted to make the change permanent.

You need to get to the GRUB menu. If you are dual booting this will appear anyway, if not you have to press and hold (or tap) shift after pressing the power button to turn on.

When you get to this screen press e and you will go into edit mode, looking vaguely like this

Move the cursor down to where it says quiet splash, put a space after splash and carefully type intel_idle.max_cstate=1 making sure there is a space after it as well. Now press F10 or ctrl+x to boot.

Zanna
  • 70,465
  • Hey zanna, tnx for helping. I forgot to mention that I'm a noob at all this.... So can you explain to me I further detail what kernel boot parameter is. – Hirdhay Singh Jul 02 '16 at 21:54
  • @HirdhaySingh GRUB is the bootloader, its job is to start the Linux kernel when you switch on. You can give GRUB options to pass to the kernel at boot time that will contol how the system behaves. I edited my instructions to hopefully make them really easy to follow – Zanna Jul 03 '16 at 07:06
  • Thanks again for helping me out. I did everything you said but when I put in sudo update-grub it gave me this error which said cannot find /cow or something like that. I researched into it and they told be to do something with chroot which didnt work for me and it lead to a series of more problems. Btw im having the same issue on Zorin OS so I assume it will be like that for every linux OS.... – Hirdhay Singh Jul 04 '16 at 17:16
  • @HirdhaySingh ah because you installed on flash drive (you set up persistence right?) you need to do this to be able to update GRUB – Zanna Jul 04 '16 at 19:53
  • Yes I did set up persistence because my settings weren't saving. I checked the link. Now I'm trying to find out what partition I have. So, after I get this all sorted out, I jst run sudo update-grub right? Thanks again. – Hirdhay Singh Jul 05 '16 at 20:18
  • @HirdhaySingh yes, at the end of all that, sudo update-grub – Zanna Jul 05 '16 at 20:20
  • Just discovered that my system is installed on /cow – Hirdhay Singh Jul 05 '16 at 20:51
  • @HirdhaySingh yes, like the person asking that question... if you do sudo fdisk -l you should find the right /dev/sd[letter][number], for example /dev/sdb1 – Zanna Jul 05 '16 at 21:04
  • Yes I do agree that me human body system is programmed more towards the lazy side... or do u mean the stupid side. Either ways im open to both of them. – Hirdhay Singh Jul 05 '16 at 23:03
  • It says it is sdb1 but when I enter it, it says mount: can't find /dev/sdb1/mnt in /etc/fstab – Hirdhay Singh Jul 05 '16 at 23:51
  • Screenshot from 2016-07-05 23-58-49 – Hirdhay Singh Jul 05 '16 at 23:59