nexus511 / gpd-ubuntu-packages

This repository shall provide the base for building ubuntu packages from most of the patches currently used to get linux on the gpd-pocket.
GNU General Public License v3.0
73 stars 4 forks source link

Include linux headers in the repo #17

Closed luzhuomi closed 7 years ago

luzhuomi commented 7 years ago

Dear @nexus511 ,

Do you mind including the linux-headers-* deb package in your repo? I think it would be helpful for people who needs run applications like Virtualbox.

Many thanks, Kenny

nexus511 commented 7 years ago

This is actually on my todo-list.

Thank you for creating a ticket on this. I try to get this done soon.

nexus511 commented 7 years ago

To properly integrate the kernel headers and the stuff around, I will rebase the debian build-system onto hans kernel. That will require some extensive testing of the kernel before I can roll anything out regarding kernel-headers.

I have already rebased the required things on Hans kernel (which is pretty straightforward) but I have to update the package structures building some meta-packages and I need to integrate a new kernel flavor for the gpd to ensure that it does not get broken by external kernel-updates.

So what does that mean: I will have to work on that for some days and have to ask for patience.

luzhuomi commented 7 years ago

@nexus511 Thanks for taking this issue up. It is never a bug and does not deserve high priority. =) Please take your time.

Herst commented 7 years ago

I need to integrate a new kernel flavor for the gpd to ensure that it does not get broken by external kernel-updates.

For apt/dpkg only the version number plays a role (unlike in other package managers where you can give priorities or even pin certain packages to particular repositories), right? In that case it should not be a problem either because for now (until 17.10 at least) there won't be any kernel update >= 4.13. But I get why you would want to go for the most clean solution.

nexus511 commented 7 years ago

@Herst Yes, I considered that.

There are other advantages of just providing the kernel as "generic" instead of adding a new flavor. It would (for example) ensure that older kernel versions are cleanly removed to save space on the device.

Either way, I have to integrate some stuff onto the build toolchain (like scanning for the right version to provide a proper meta-package).

Maybe I build it on a custom flavor first and then switch back replacing the generic kernel. There are some things that make me think that this would work even better for most of the cases.

nexus511 commented 7 years ago

Okay. I decided to switch the package name for the kernel back to linux-image-generic. As a result, APT will deny to automatically upgrade, as new packages are to be installed. So users will to install the gpdpocket package once explicitly again.

I will update the documentation, provide new install images and then publish she packages. This will make the kernel and also its headers available in a new 4.13.0-1 version that basically equals 4.13.0-rc5 of the kernel used before but with a quite different configuration.

The configuration is now supplied by the ubuntu kernel build system and will equal to the one a user could expect from a stock setup except ZFS support will be broken.

nexus511 commented 7 years ago

Should be closed with Hotel release.

Please run

sudo apt update && sudo apt install gpdpocket

on already running devices. This should already pull linux-headers-generic for the new kernel image.

luzhuomi commented 7 years ago

@nexus511

i tried the new kernel but I got kinda kernel panicish stuck at boot. https://goo.gl/photos/KDc8PCuyRYaiH6758

I wonder who else encountered the same.

Regards

nexus511 commented 7 years ago

I see some error messages during the boot too (I do not know if they are exactly the same).

Those messages do not indicate a "kernel panic" which will look quite different.

Which image did you use to install the ubuntu from? Could you try to change the boot settings in grub and remove the quiet and splash options to determine where it really stops?

luzhuomi commented 7 years ago

here is where it get stuck. https://goo.gl/photos/Sm9RTzpPGfz2eQTV7

I am using the iso created by https://github.com/stockmind/gpd-pocket-ubuntu-respin back in the date when we started witih kernel 4.12.rc5

nexus511 commented 7 years ago

Well, I do literally not support images build

The problem is that those images contain patches that will break things at some place. This has been originally the reason, why I started building a distribution based solution instead of yet another fork of this scripts.

I think what happened is that the custom configuration used to create the initrd during installation of apt-packages has broken the rebuild of the new kernel package and thus you are stuck with a broken initrd.

What you could do now is booting a live-system and fix the initramfs within a chroot environment manually by cleaning up the configuration and calling

update-initramfs -c -k all

I did not expect people using any of the respin or GPD images with my packages.

luzhuomi commented 7 years ago

@nexus511 Thanks. Reinstallation in progress. 8-)

snazzybunny commented 7 years ago

I'm getting this when I try to compile the vmware modules with your own iso that you posted. Has anyone confirmed the linux headers working?

 In file included from .././common/memtrack.c:78:0:
.././include/driver-config.h:43:5: error: #error "No Module support in this kernel.  Please configure with CONFIG_MODULES"
 #   error "No Module support in this kernel.  Please configure with CONFIG_MODULES"
Herst commented 7 years ago

@snazzybunny Is this VMWare version even compatible with 4.13?

@nexus511 Are you using Hans' or Ubuntu's kernel config?

At least in 17.04, the official kernel config has it:

CONFIG_MODULES=y
nexus511 commented 7 years ago

@Herst I am using the configuration that the Ubuntu build system creates, not Hans original configuration.

And the kernel has (of course) module support as Hans kernel and the Ubuntu kernels always have.

grep -F "CONFIG_MODULES=" debian/linux-headers-4.13.0-1-generic/usr/src/linux-headers-4.13.0-1-generic/.config
CONFIG_MODULES=y

You could also verify this on the device using

grep -F "CONFIG_MODULES=" /boot/config-4.13.0-1-generic"

or

grep -F "CONFIG_MODULES=" /usr/src/linux-headers-4.13.0-1-generic/.config

As I have not used vmware in years but stick to KVM or virtualbox, I am also the wrong person to ask how to get it running on the device. I would guess that vmware does not support the kernel yet.

We are really using a bleeding edge kernel (4.13.0-rc7) with additional patches by Hans. So I would not wonder, if it just does not work yet.

Edit:

If you think this is currently not working because of an error in the system configuration, please create a new issue so we can track this, as this discussions is displaced in this issue and would get lost.

It would be great if you would check before opening a new issue, if the kernel should be already supported by VMware.

The kernel actually works great when I spawn KVM machines on my gpdpocket, so theoretically there should be everything there.

snazzybunny commented 7 years ago

Do I need to install with a new iso? Ive done an update and upgrade but im still on rc5+. Thanks.

snazzybunny commented 7 years ago

Oh looks like i can do a dist-upgrade