divx118 / crouton-packages

Kernel-headers packages to use with crouton
56 stars 16 forks source link

Kernel Panic on Chromebook Pixel 2015 (Kernel 3.14.0) #26

Closed czenzel closed 8 years ago

czenzel commented 8 years ago

Hello,

I noticed that I am receiving a kernel panic after I have run the script and try to install the latest VirtualBox 5.0.12. I am on a Chromebook Pixel 2015, 64gb, Wi-Fi, Core i7. I have tried the crouton script to install the following variants all with the same kernel panic result:

When the VirtualBox 5.0.12 deb file gets to "Recompiling kernel modules" it takes a while and then the Chromebook just reboots (kernel panic/fault).

Are there any debug messages I can capture to try to help resolve this?

Thanks, Chris Zenzel

czenzel commented 8 years ago

I managed to get VirtualBox 4.x installed from apt-get on Ubuntu Trusty; however, this error appears when trying to load /etc/init.d/virtualbox start after VirtualBox mentions that the drivers are not configured:

WARNING: The character device /dev/vboxdrv does not exist.
         Please install the virtualbox-dkms package and the appropriate
         headers, most likely linux-headers-3.14.0.

Now when I run lsmod it shows:

vboxnetflt             28043  0 
vboxnetadp             25443  0 
vboxpci                23143  0 
vboxdrv               329424  3 vboxnetadp,vboxnetflt,vboxpci

Running ls dev | grep vbox shows:

drwxr-x--- 3 root vboxusers       60 Jan  1 00:30 vboxusb

uname -a returns (in chroot):

Linux localhost 3.14.0 #1 SMP Fri Dec 11 17:03:37 PST 2015 x86_64 x86_64 x86_64 GNU/Linux
czenzel commented 8 years ago

Here is what I have narrowed down on the panics. The VirtualBox package tries to do an rmmod which kernel panics the machine. Drivers can be loaded, but I can't rmmod. I removed rmmod for now from the init.d script and found another interesting one. On the Chromebook the dev device cannot be created now. I am going to check into this some more and report back.

Update: could this have something to do with udev in Linux?

divx118 commented 8 years ago

I hoped releasing new kernel headers for the 3.14 kernel would have fixed this, apparently not. https://github.com/divx118/crouton-packages/issues/25 It is very hard for me to troubleshoot, because I don't have a pixel and it is also not for sale in my country. For some reason it indeed doesn't have permission or will not create the /dev/vboxdrv etc This could be indeed udev at fault.

Edit: does it create all the /dev devices?

ls -al /dev|grep vbox
crw-------   1 root root       10,  56 dec 25 10:33 vboxdrv
crw-------   1 root root       10,  55 dec 25 10:33 vboxdrvu
crw-------   1 root root       10,  54 dec 25 10:33 vboxnetctl
drwxr-x---   5 root vboxusers      100 dec 30 21:23 vboxusb
czenzel commented 8 years ago

That is actually what I am looking at now. So far I am having an issue were it loads the modules but does not create the dev devices. I tried to mknod them manually and I am a step in the right direction. I will try the major, minor device numbers in your code there. I might have wrong ones. What I did was I compiled the modules separately and installed from the .run to stop the panics from happening (using --nonexec --keep). It looks like sometimes vboxusb creates, but not always.

czenzel commented 8 years ago

So far I can communicate with the manually created vboxdrv character devices; however, there is a version mismatch when using the download from VirtualBox.org and the compiled modules. From what I am reading I am seeing a lot of information pointing to the x86 v. x86-64 editions causing a mismatch.

I am trying to run the x86-64 version.

A URL I see referenced from VB is http://forums.fedoraforum.org/showthread.php?p=1642617 in their forums.

Is there something I might be missing?

Update: x86_64 (AMD64) is correct. Some reason VirtualBox can detect the module with the manual override, but doesn't like what is being returned. I looked at /proc/misc and I don't see vbox entries in the file.

A few weeks ago I was on an ARM based Chromebook for something unrelated using binfmts for chroots and noticed that the kernel modules for binfmts could not write to the appropriate sys/proc directories to run.

The machine also seems to like to panic on a rmmod of unloading modules. If I remove that offending code the install works for the modules. I do have lsm module locking set 0 and disablevmx at 0.

nigelhealy commented 8 years ago

I have been using Virtualbox on my Toshiba Chromebook 2 for months, thanks to your scripts.

Something has happened recently, don't know the date but within the last few weeks, I don't often use Virtualbox so sorry can't pinpoint a moment it broke.

Virtualbox now does a full chromebook reset.

I've attempted to isolate "is it me" by doing a full clean install. Powerwash, crouton trusty xfce.

Then I've tried either just installing virtualbox-5.0 dkms, and then your setup-headers.sh (logout, login) or the opposite (headers, then install virtualbox) and the end result is the same.

I can't run virtualbox, it says /dev/vboxdrv does not exist, and I must sudo /sbin/rcvboxdrv setup.

When I run that command, my Chromebook resets.

What logs would you like? Hard to help as the reset is almost instant, as per OP above its at attempt to build DKMS then BAM!

czenzel commented 8 years ago

For now I created a backup of a chroot to restore so I don't have to keep downloading packages. I removed the one containing VBox so I don't accidently damage my CB Pixel 2015. I can restore it at any time.

I did get CrossOver Office working (I won a Twitter contest with Free Downloads for Life) and trying to see if I can get my Adobe package to at least install part of my tools into it.

If I can think of anything or if you have anything you want me to try let me know and I can restore VBox.

divx118 commented 8 years ago

@nigelhealy Can you perhaps post the output of sudo cat /dev/pstore/console-ramoops after the chromebook reboots? See if there is maybe something useful.

nigelhealy commented 8 years ago

sudo cat /dev/pstore/console-ramoops cat: /dev/pstore/console-ramoops: No such file or directory

So when I look inside the script running it is writing a log to /tmp

The issue is nothing in the end final state is getting saved, as if Crouton is caching writes. Ideas to make it run slower but commit each write to the Chromebook's SSD so I can see what is happening? Or how do I make it write to an external area?

On Mon, Jan 11, 2016 at 11:28 AM, Maurice van Kruchten < notifications@github.com> wrote:

@nigelhealy https://github.com/nigelhealy Can you perhaps post the output of sudo cat /dev/pstore/console-ramoops after the chromebook reboots? See if there is maybe something useful.

— Reply to this email directly or view it on GitHub https://github.com/divx118/crouton-packages/issues/26#issuecomment-170662846 .

divx118 commented 8 years ago

@nigelhealy I was hoping there was something in console-ramoops. A reboot of a chromebook is normally caused by a kernel panic and it used to write that to console-ramoops. If you can edit the script you just could let it write to ~/Downloads

divx118 commented 8 years ago

@nigelhealy Try this sudo cat /dev/pstore/console-ramoops > ~/Downloads/panic.txt it should create a panic.txt in Downloads see if we can find something in there. BTW in a crosh shell.

nigelhealy commented 8 years ago

Oops. You meant in ChromeOS, not the chroot. Right its there. Something useful? So I'm running the guide so you see the /etc/rc.local modprobes running, then I'm trying to run virtualbox setup, then bang!

[ 21.605184] Chromium OS LSM: init_module locking-ignored obj="/lib/modules/3.14.0/updates/dkms/vboxdrv.ko" pid=10608 cmdline="modprobe vboxdrv" [ 21.617057] Chromium OS LSM: init_module locking-ignored obj="/lib/modules/3.14.0/updates/dkms/vboxpci.ko" pid=10609 cmdline="modprobe vboxpci" [ 21.620848] Chromium OS LSM: init_module locking-ignored obj="/lib/modules/3.14.0/updates/dkms/vboxnetadp.ko" pid=10610 cmdline="modprobe vboxnetadp" [ 21.623752] Chromium OS LSM: init_module locking-ignored obj="/lib/modules/3.14.0/updates/dkms/vboxnetflt.ko" pid=10611 cmdline="modprobe vboxnetflt" [ 21.653332] systemd-logind[10555]: Removed session c2. [ 21.654491] systemd-logind[10555]: New session c3 of user nigel. [ 37.961470] warning: `VirtualBox' uses 32-bit capabilities (legacy support in use) [ 55.427136] general protection fault: 0000 [#1] SMP [ 55.429591] gsmi: Log Shutdown Reason 0x03 [ 55.429597] Modules linked in: ctr ccm i2c_dev uinput x86_pkg_temp_thermal rfcomm snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec_hdmi aesni_intel memc_x86 aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd iio_trig_sysfs cros_ec_accel kfifo_buf industrialio snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep zram snd_soc_sst_acpi fuse nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables iwlmvm iwl7000_mac80211 iwlwifi cfg80211 btusb btbcm btintel bluetooth uvcvideo videobuf2_vmalloc joydev ppp_async ppp_generic slhc tun [last unloaded: vboxdrv] [ 55.429685] CPU: 2 PID: 17180 Comm: rmmod Tainted: G O 3.14.0 #1 [ 55.429692] Hardware name: GOOGLE Gandof, BIOS Google_Gandof.6301.155.9 07/30/2015 [ 55.429699] task: ffff880171462b20 ti: ffff880168adc000 task.ti: ffff880168adc000 [ 55.429705] RIP: 0010:[] [] destroy_params+0x2d/0x3f [ 55.429717] RSP: 0018:ffff880168addea8 EFLAGS: 00010202 [ 55.429722] RAX: 00767264786f6276 RBX: ffffffffc03694a8 RCX: 0000000000000000 [ 55.429729] RDX: 0000000000000001 RSI: 0000000000000001 RDI: 00000000ffff0124 [ 55.429735] RBP: ffff880168addec0 R08: ffff880066a0fc24 R09: 0000000000000007 [ 55.429741] R10: ffff880168adde10 R11: fffffffffffffe1b R12: 0000000000000001 [ 55.429747] R13: 0000000000000000 R14: ffffffffc0370ee0 R15: 00007f092f039090 [ 55.429754] FS: 00007f092dc6e740(0000) GS:ffff88017ed00000(0000) knlGS:0000000000000000 [ 55.429761] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 55.429766] CR2: 00007f092dca3500 CR3: 000000017171a000 CR4: 00000000003407e0 [ 55.429772] Stack: [ 55.429775] ffffffffc0370e90 0000000000000015 ffff880063ac5800 ffff880168addef0 [ 55.429785] ffffffffa4e96fd3 0000000000000000 ffffffffc0370e90 0000000000000800 [ 55.429794] 0000000000000000 ffff880168addf78 ffffffffa4e97285 0000000068addf28 [ 55.429803] Call Trace: [ 55.429812] [] free_module+0x1a6/0x2b7 [ 55.429819] [] SyS_delete_module+0x1a1/0x1db [ 55.429829] [] ? do_page_fault+0xc/0xe [ 55.429837] [] system_call_fastpath+0x16/0x1b [ 55.429842] Code: 44 00 00 55 48 89 e5 41 55 41 54 53 48 8d 5f 08 41 89 f4 45 31 ed 4d 39 e5 74 1b 48 8b 03 48 8b 40 18 48 85 c0 74 06 48 8b 7b 10 d0 49 ff c5 48 83 c3 20 eb e0 5b 41 5c 41 5d 5d c3 0f 1f 44 [ 55.429909] RIP [] destroy_params+0x2d/0x3f [ 55.429918] RSP [ 55.429940] ---[ end trace abd20bee27f135dd ]--- [ 55.434394] Kernel panic - not syncing: Fatal exception [ 55.434405] Kernel Offset: 0x23e00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) [ 55.434514] gsmi: Log Shutdown Reason 0x02 [ 55.438837] ACPI MEMORY or I/O RESET_REG.

On Mon, Jan 11, 2016 at 1:51 PM, Maurice van Kruchten < notifications@github.com> wrote:

@nigelhealy https://github.com/nigelhealy I was hoping there was something in console-ramoops. A reboot of a chromebook is normally caused by a kernel panic and it used to write that to console-ramoops. If you can edit the script you just could let it write to ~/Downloads

— Reply to this email directly or view it on GitHub https://github.com/divx118/crouton-packages/issues/26#issuecomment-170702212 .

divx118 commented 8 years ago

Looking at the kernel oops and noticing [ 55.427136] general protection fault: 0000 [#1] SMP and [ 55.429705] RIP: 0010:[<ffffffffa4e58eab>] [<ffffffffa4e58eab>] destroy_params+0x2d/0x3f It could be somehow related to the latest commit in kernel/params.c however at a first glance I don't see why...

FaberfoX commented 8 years ago

I'm having the same (or a really similar) issue on my celeron toshiba 2015. I had a failing upgrade a couple of days ago, it complained that the modules folder was already present and suggested to rename it. I did (sudo mv /lib/modules/3.14.0/kernel /lib/modules/3.14.0/kernel.old) and since then, /dev/vboxdrv is not being created, and trying to rmmod vboxdrv or running /etc/init.d/vboxdrv setup triggers a reboot.

apt-cache policy linux-image-3.14.0 linux-image-3.14.0: Installed: 20151227 Candidate: 20151227 Version table: *\ 20151227 0 100 /var/lib/dpkg/status

tail -n 40 ramoops

[ 9426.486037] systemd-logind[21755]: New seat seat0. [ 9426.496140] systemd-logind[21755]: New session c1 of user root. [ 9426.525934] systemd-logind[21755]: New session c2 of user root. [ 9426.601427] systemd-logind[21755]: Removed session c2. [ 9426.602368] systemd-logind[21755]: New session c3 of user faber. [ 9472.929739] warning: `VirtualBox' uses 32-bit capabilities (legacy support in use) [ 9506.723062] systemd-logind[21755]: New session c4 of user root. [ 9570.172439] general protection fault: 0000 [#1] SMP [ 9570.174994] gsmi: Log Shutdown Reason 0x03 [ 9570.175002] Modules linked in: pl2303 ctr ccm i2c_dev uinput rfcomm memc_x86 snd_hda_codec_realtek snd_hda_codec_generic x86_pkg_temp_thermal snd_hda_codec_hdmi zram cros_ec_accel kfifo_buf snd_hda_intel iio_trig_sysfs industrialio snd_hda_controller snd_hda_codec snd_hwdep snd_soc_sst_acpi fuse nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables iwlmvm iwl7000_mac80211 iwlwifi cfg80211 btusb btbcm btintel bluetooth uvcvideo videobuf2_vmalloc joydev ppp_async ppp_generic slhc tun [last unloaded: vboxdrv] [ 9570.175105] CPU: 1 PID: 23265 Comm: rmmod Tainted: G O 3.14.0 #1 [ 9570.175115] Hardware name: GOOGLE Gandof, BIOS Google_Gandof.6301.155.9 07/30/2015 [ 9570.175125] task: ffff880168d05ee0 ti: ffff880144bda000 task.ti: ffff880144bda000 [ 9570.175135] RIP: 0010:[] [] destroy_params+0x2d/0x3f [ 9570.175153] RSP: 0018:ffff880144bdbea8 EFLAGS: 00010202 [ 9570.175161] RAX: 00767264786f6276 RBX: ffffffffc02d3248 RCX: 000000000000015f [ 9570.175170] RDX: 0000000000000001 RSI: 0000000000000001 RDI: 00000000ffff0124 [ 9570.175179] RBP: ffff880144bdbec0 R08: 000fd8c0ffffffb0 R09: ffffff0800000028 [ 9570.175189] R10: ffffff0800000028 R11: ffffffb0ffffffb0 R12: 0000000000000001 [ 9570.175198] R13: 0000000000000000 R14: ffffffffc02daee0 R15: 00007f224b5bc090 [ 9570.175208] FS: 00007f224b317740(0000) GS:ffff88017ed00000(0000) knlGS:0000000000000000 [ 9570.175218] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 9570.175226] CR2: 00007f224b347500 CR3: 000000012e3d8000 CR4: 00000000000407e0 [ 9570.175234] Stack: [ 9570.175239] ffffffffc02dae90 0000000000000015 ffff88006dcb0000 ffff880144bdbef0 [ 9570.175252] ffffffffa7a96fd3 0000000000000000 ffffffffc02dae90 0000000000000800 [ 9570.175266] 0000000000000000 ffff880144bdbf78 ffffffffa7a97285 0000000044bdbf28 [ 9570.175279] Call Trace: [ 9570.175291] [] free_module+0x1a6/0x2b7 [ 9570.175302] [] SyS_delete_module+0x1a1/0x1db [ 9570.175315] [] ? do_page_fault+0xc/0xe [ 9570.175327] [] system_call_fastpath+0x16/0x1b [ 9570.175335] Code: 44 00 00 55 48 89 e5 41 55 41 54 53 48 8d 5f 08 41 89 f4 45 31 ed 4d 39 e5 74 1b 48 8b 03 48 8b 40 18 48 85 c0 74 06 48 8b 7b 10 d0 49 ff c5 48 83 c3 20 eb e0 5b 41 5c 41 5d 5d c3 0f 1f 44 [ 9570.175427] RIP [] destroy_params+0x2d/0x3f [ 9570.175439] RSP [ 9570.175468] ---[ end trace c7a20dc942b28bb8 ]--- [ 9570.195763] Kernel panic - not syncing: Fatal exception [ 9570.195777] Kernel Offset: 0x26a00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) [ 9570.195897] gsmi: Log Shutdown Reason 0x02 [ 9570.214759] ACPI MEMORY or I/O RESET_REG.

Any suggestions on what to try next?

divx118 commented 8 years ago

@FaberfoX /etc/init.d/vboxdrv setup will do a rmmod first so that will explain the reboot when running that. You could proceed where @czenzel ended. See why it doesn't create the vbox devices. Like I said I don't have a chromebook with a 3.14 kernel, so it is a walk in the dark for me. (Still hoping the pixel 2 will come to the Netherlands)

nigelhealy commented 8 years ago

Virtualbox on 3.14 still broke.

Is there a guide, something I can read to allow me to find the cause and fix?

Where the newer notebooks are now, all will be eventually - broke!

nigelhealy commented 8 years ago

News!

There is a ChromeOS update hit us yesterday (Feb 1 update?) and when you follow the Crouton Virtualbox install guide it now works!

In case others with the same bug not lucky this is what I did:

In ChromeOS, follow the guide again to change the flags again, as the kernel is update. In your Chroot, edit /etc/rc.local and either delete the added lines or comment out the modprobe lines. Delete, then download again, then run again the setup-header.sh Depending on what state your current chroot virtualbox install is in then simply update or in my case sudo apt-get install --reinstall virtualbox-5.0

It now as of today behaves differently, instead of a Chromebook reboot at "registering DKMS" type message, it simply completes no errors.

Virtualbox back on 3.14 kernels!

I suggest others test such as @czenzel and then if confirmed then we close.

uname -a Linux localhost 3.14.0 #1 SMP Sun Jan 24 13:09:23 PST 2016 x86_64 x86_64 x86_64 GNU/Linux Virtualbox Version 5.0.14 r105127

divx118 commented 8 years ago

@nigelhealy Great, what channel are you on dev, beta or stable?

nigelhealy commented 8 years ago

Stable

Version 48.0.2564.92 (64-bit) Platform 7647.73.0 (Official Build) stable-channel gandof Firmware Google_Gandof.6301.155.9

Your device is up to date.

skiman6010 commented 8 years ago

I can personally confirm virtualbox is working on the 2015 Pixel now.

Stable

Version 48.0.2564.92 (64-bit) Platform 7647.73.0 (Official Build) stable-channel samus Firmware Google_Samus.6300.174.0

czenzel commented 8 years ago

@skiman6010 @divx118 @nigelhealy I'll give it a try today and report back as well on my Pixel 2015. I have been doing a lot of work on my other machine but this weekend I should have a chance to jump on the Pixel and give it a try. :smile:

czenzel commented 8 years ago

I think we can close this issue @divx118. I have installed Windows 10 Enterprise with the latest VirtualBox and updates for Ubuntu 14.10 and Chromebook Pixel 2015. If nobody else has any issues you can close it.

divx118 commented 8 years ago

Thanks everyone. I will close this, still curious what caused it. I see if I can find something in the kernel commits from chromeos.

richardfsr commented 8 years ago

The problem is still there if you are on the beta channel. Going back to stable resolves it. Whatever the change hopefully it doesn't get merged into stable.

divx118 commented 8 years ago

@richard-fisher Thanks for reporting, I take a look at the latest commits of the kernel. See if we can find something.

stumitchell commented 8 years ago

I seem to be getting the same problem on

Version 49.0.2623.95 (64-bit) Platform 7834.60.0 (Official Build) stable-channel samus Firmware Google_Samus.6300.174.0

when I try and install virtualbox-dkms

Setting up virtualbox-dkms (4.3.36-dfsg-1+deb8u1ubuntu1.14.04.1) ...
Loading new virtualbox-4.3.36 DKMS files...
First Installation: checking all kernels...
Building only for 3.14.0
Building initial module for 3.14.0
Done.

vboxdrv:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/3.14.0/updates/dkms/

vboxnetadp.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/3.14.0/updates/dkms/

vboxnetflt.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/3.14.0/updates/dkms/

vboxpci.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/3.14.0/updates/dkms/

depmod....

DKMS: install completed.
runlevel:/var/run/utmp: No such file or directory
 * Stopping VirtualBox kernel modules       [ OK ] 
 * Starting VirtualBox kernel modules               * modprobe vboxdrv failed. Please use 'dmesg' to find out why
                                            [fail]
invoke-rc.d: initscript virtualbox, action "restart" failed.
nigelhealy commented 8 years ago

Virtualbox is bust again. This time it is not a kernel panic. I been working for > a month then a ChromeOS upgrade pushed this last day has broken Virtualbox.

I'm on a Toshiba Chromebook 2

Version 49.0.2623.95 (64-bit) Platform 7834.60.0 (Official Build) stable-channel gandof Firmware Google_Gandof.6301.155.9

In Chroot, dmesg:

Chromium OS LSM: init_module locking-ignored obj="/lib/modules/3.14.0/updates/dkms/vboxdrv.ko" pid=18146 cmdline="modprobe vboxdrv" vboxdrv: Found 4 processor cores supdrvGipCreate: failed to allocate the GIP page. rc=-26

I can't make it go away. I done Crouton update, then in chroot an update. I've used ChromeOS change-kernel-flags and rebooted, and in Chroot setup-headers logout/in again.

Updating to GCC 4.9 doesn't improve matters either. GCC 4.9 breaks crouton update.

I have switched to the Beta Channel and it doesn't worth either, but with a different message.

Version 50.0.2661.50 beta (64-bit) Platform 7978.29.0 (Official Build) beta-channel gandof Firmware Google_Gandof.6301.155.9

Chromium OS LSM: init_module locking-ignored obj="/lib/modules/3.14.0/updates/dkms/vboxdrv.ko" pid=15482 cmdline="/sbin/modprobe vboxdrv" vboxdrv: version magic '3.14.0 SMP mod_unload ' should be '3.14.0 SMP preempt mod_unload '

That beta channel message looks more fixable?

divx118 commented 8 years ago

@nigelhealy Hmm looks like we just need new kernel headers for 3.14. I will update them later this week. Thanks for reporting.

nigelhealy commented 8 years ago

@divx118 are you going to update for current stable or future beta? Different messages.

nigelhealy commented 8 years ago

@divx118 is it worth testing yet? Let us know when you updated headers. Also are you going to update for stable, beta or both? It is different errors between stable and beta.

Also, post how we update, re-run setup-headers.sh in the chroot?

divx118 commented 8 years ago

Not yet, when I have them updated I will post it here. You can then just update them with entering the following on a chroot command line. sudo apt-get update && sudo apt-get upgrade

divx118 commented 8 years ago

@nigelhealy Just updated the kernel headers for 3.14.0 on the repo https://github.com/divx118/crouton-packages/commit/27788281d9f3d2347622bed6f6e8f7d245f2b6bf

I always build the kernel headers with the newest source and latest commits available at the time of building. This normally goes well for all channels dev, beta or stable. Building them for all different channels available would require a lot more work and not so easy to maintain.

nigelhealy commented 8 years ago

Still not working. Last line of dmesg below which I can see isn't that descriptive

Chromium OS LSM: init_module denied obj="/lib/modules/3.14.0/updates/dkms/vboxdrv.ko" pid=23109 cmdline="/sbin/modprobe vboxdrv"

nigelhealy commented 8 years ago

I've tried to a few things to try to fix this myself but it's still a problem of details of versions mismatch. The same type of message if you look of lacking the "preempt" kernel setting?

I was on beta channel, as an attempt to make the problem go away, which it didnt, and got this message, so I powerwashed back to stable and got the message. I deleted the chroot and restored from a "last all working" backup tar, updated in the chroot, and still get the message, also tried a crouton update.

The image-kernel-headers-3.14.0 does update, but note it was warning it was updating the kernel too?

Short of doing a clean fresh chroot install I'm stuck still.

modprobe: ERROR: could not insert 'vboxdrv': Exec format error

Chromium OS LSM: init_module locking-ignored obj="/lib/modules/3.14.0/updates/dkms/vboxdrv.ko" pid=24776 cmdline="/sbin/modprobe vboxdrv" [ 2174.458397] vboxdrv: version magic '3.14.0 SMP preempt mod_unload ' should be '3.14.0 SMP mod_unload '

divx118 commented 8 years ago

@nigelhealy You are sure the vbox kernel modules are recompiled with the new kernel headers installed? If you have installed virtualbox package from the oracle site, you can just run sudo /etc/init.d/vboxdrv setup When installed virtualbox from the ubuntu repo, I need to check how to recompile them. It has no /etc/init.d/vboxdrv script. The warning about updating the kernel is normal and no problem. It replaces the kernel inside the chroot which is not used.

nigelhealy commented 8 years ago

That's not the problem. I have rebuilt the modules. I have even deleted the modules and rebuilt and same error. I'd also attempted to uninstall and install virtualbox-5.0

i.e. if I sudo rm /lib/modules/3.14.0/updates/dkms/vbox* then do the sudo /etc/init.d/vboxdrv setup It shows it doesn't like me having manually deleted the modules but recompiles them and the same error.

(trusty)nigel@localhost:/lib/modules/3.14.0/updates/dkms$ sudo rm * (trusty)nigel@localhost:/lib/modules/3.14.0/updates/dkms$ sudo /etc/init.d/vboxdrv setup Stopping VirtualBox kernel modules ...done. Uninstalling old VirtualBox DKMS kernel modulesrmdir: failed to remove '': No such file or directory rmdir: failed to remove '': No such file or directory rmdir: failed to remove '': No such file or directory rmdir: failed to remove '': No such file or directory ...done. Trying to register the VirtualBox kernel modules using DKMS ...done. Starting VirtualBox kernel modules ...failed! (modprobe vboxdrv failed. Please use 'dmesg' to find out why)

Chromium OS LSM: init_module locking-ignored obj="/lib/modules/3.14.0/updates/dkms/vboxdrv.ko" pid=18390 cmdline="/sbin/modprobe vboxdrv" vboxdrv: version magic '3.14.0 SMP preempt mod_unload ' should be '3.14.0 SMP mod_unload '

And modprobe --force doesn't solve it either

vboxdrv: version magic '3.14.0 SMP preempt mod_unload ' should be '3.14.0 SMP mod_unload ' Chromium OS LSM: init_module locking-ignored obj="/lib/modules/3.14.0/updates/dkms/vboxdrv.ko" pid=18550 cmdline="modprobe --force vboxdrv"

uname -a Linux localhost 3.14.0 #1 SMP Tue Mar 29 03:43:28 PDT 2016 x86_64 x86_64 x86_64 GNU/Linux

cat /proc/cmdline cros_secure console= loglevel=7 init=/sbin/init cros_secure oops=panic panic=-1 root=/dev/dm-0 rootwait ro dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 dm="1 vroot none ro 1,0 2506752 verity noinitrd vt.global_cursor_default=0 add_efi_memmap boot=local noresume noswap i915.modeset=1 tpm_tis.force=1 tpm_tis.interrupts=0 nmi_watchdog=panic,lapic i915.enable_psr=1 lsm.module_locking=0 disablevmx=off

cat /var/log/vbox-install.log

Creating symlink /var/lib/dkms/vboxhost/5.0.16/source -> /usr/src/vboxhost-5.0.16

DKMS: add completed.

Kernel preparation unnecessary for this kernel. Skipping...

Building module: cleaning build area.... make KERNELRELEASE=3.14.0 -C /lib/modules/3.14.0/build M=/var/lib/dkms/vboxhost/5.0.16/build............ cleaning build area....

DKMS: build completed.

vboxdrv: Running module version sanity check.

vboxnetflt.ko: Running module version sanity check.

vboxnetadp.ko: Running module version sanity check.

vboxpci.ko: Running module version sanity check.

depmod....

DKMS: install completed.

Also i checked i had latest headers

dpkg -l|grep linux-headers

linux-headers-3.10.18 20150314 amd64 linux-headers-3.14.0 20160402 amd64 linux-headers-4.2.0-19 4.2.0-19.23~14.04.1 all
linux-headers-4.2.0-19-lowlatency 4.2.0-19.23~14.04.1 amd64

divx118 commented 8 years ago

@nigelhealy I just wanted to be sure, thanks for the info. I will take a look at it, however without having a chromebook with 3.14.0 it is hard to do.

nigelhealy commented 8 years ago

I'm still trying to figure it out myself. Is there are a way to force the correct MAKE compile string? It say exec format error and magic version don't match if I force it to ignore it still doesn't get loaded.

I am building a fresh chroot but as I don't have the space on my Toshiba Chromebook2 16GB internal for 2nd chroot I'm building on SD card which has failed, reattempting, I will then attempt a fresh install and see what happens.

If there is any command, any file, I can send let me know but I'd be guarded against PEBKAC assumptions.

divx118 commented 8 years ago

@nigelhealy I just updated the kernel headers for 3.14.0 with CONFIG_PREEMPT disabled. I hope this fixes the issue.

nigelhealy commented 8 years ago

I'll attempt to update. Currently still installing a chroot on SD it may be while apt-get update failed due to /lib is in readonly filesystem. Will report back "soon"

divx118 commented 8 years ago

@nigelhealy It could be that the bindmount /lib/modules is still in place. crouton creates the bindmount when starting a chroot. I umount it in /etc/rc.local. So sudo umount /lib/modules on a chroot command line should remove the bindmount and make /lib writable.

nigelhealy commented 8 years ago

It is working now. Thanks.

My VM seems slower than before but that could just be the powerwash I did as I tried to hunt down stable/beta solutions removing my performance tweaks.

dmesg|grep vbox

[ 66.527511] Chromium OS LSM: init_module locking-ignored obj="/lib/modules/3.14.0/updates/dkms/vboxdrv.ko" pid=15436 cmdline="modprobe vboxdrv" [ 66.535612] vboxdrv: Found 4 processor cores [ 66.552463] vboxdrv: TSC mode is Invariant, tentative frequency 2095145787 Hz [ 66.552482] vboxdrv: Successfully loaded version 5.0.16 (interface 0x00240000) [ 66.555869] Chromium OS LSM: init_module locking-ignored obj="/lib/modules/3.14.0/updates/dkms/vboxpci.ko" pid=15440 cmdline="modprobe vboxpci" [ 66.556899] vboxpci: pci-stub module not available, cannot detach PCI devices [ 66.556915] vboxpci: IOMMU not found (not compiled) [ 66.559853] Chromium OS LSM: init_module locking-ignored obj="/lib/modules/3.14.0/updates/dkms/vboxnetadp.ko" pid=15441 cmdline="modprobe vboxnetadp" [ 66.563930] Chromium OS LSM: init_module locking-ignored obj="/lib/modules/3.14.0/updates/dkms/vboxnetflt.ko" pid=15442 cmdline="modprobe vboxnetflt"

divx118 commented 8 years ago

Nice, thanks for the detailed error messages. That helps a lot with troubleshooting. Also maybe better to open another issue for that. Since this is the one for the kernel panic.

robertoandrade commented 7 years ago

I'm not clear on what solved the issue here, I'm also getting the same:

[ 1536.410077] Chromium OS LSM: init_module locking-ignored obj="/lib/modules/3.14.0/updates/dkms/vboxdrv.ko" pid=27461 cmdline="/sbin/modprobe vboxdrv"
[ 1536.411979] vboxdrv: Found 4 processor cores.
[ 1536.412250] supdrvGipCreate: failed to allocate the GIP page. rc=-26

After following https://github.com/dnschneid/crouton/wiki/Build-kernel-headers-and-install-Virtualbox-(x86)

What was it that you did that finally made it work @nigelhealy ?

nigelhealy commented 7 years ago

I just ended up following the build the kernel oneself guiide. I had to modify a few files as per the guide. I could not get cross-compiling to work so I just left it slow on the Chromebook,

My need for VMs reduced as apps get more supported in ChromeOS and so my need to build is less.

divx118 commented 7 years ago

@nigelhealy You don't have to crosscompile. Just a regular linux 64 bit pc should do. Crosscompiling is only for when you have an arm chromebook.

REVOLTA809 commented 7 years ago

@divx118 i am still getting errors

(xenial)cloud@localhost:~$ sudo /sbin/rcvboxdrv setup [sudo] password for cloud: Stopping VirtualBox kernel modules ...done. Removing old VirtualBox pci kernel module ...done. Removing old VirtualBox netadp kernel module ...done. Removing old VirtualBox netflt kernel module ...done. Removing old VirtualBox kernel module ...done. Recompiling VirtualBox kernel modules ...done. Starting VirtualBox kernel modules ...failed! (modprobe vboxdrv failed. Please use 'dmesg' to find out why) Now i am stressed did some research couldnt find jack shit so i do dmesg and get:

[  623.046997] Chromium OS LSM: init_module locking-ignored
module="/lib/modules/3.8.11/misc/vboxdrv.ko" pid=26349cmdline="/sbin/modprobe vboxdrv"
[  623.055330] vboxdrv: Found 2 processor cores
[  623.056117] supdrvGipCreate: failed to allocate the GIP page. rc=-26`
divx118 commented 7 years ago

@REVOLTA809 Yes, serious problem see #45 it is tracked there.