|
1 | 1 | Run standard Ubuntu Kernels on Scaleway x86_64 Ubuntu instances |
2 | 2 | =============================================================== |
3 | 3 |
|
| 4 | +Scaleway is great but I've grown tired of theier old home-brewed kernels with |
| 5 | +missing modules and features. Why not use standard Ubuntu kernels instead? |
| 6 | +With this package you can use standard Ubuntu kernels on your Scaleway x86_64 |
| 7 | +instances by the magic of KEXEC. |
| 8 | + |
| 9 | +Requirements |
| 10 | +============ |
| 11 | +Just make sure your current Scaleway kernel has KEXEC support. |
| 12 | +E.g. 4.8.14 std #2 bootscript. You can adjust this via the |
| 13 | +bootscript setting in the Advanced section of the cloud.scaleway.com interface. |
| 14 | + |
4 | 15 | Install |
5 | 16 | ======= |
6 | | -1. get a the package: |
7 | | -2. Get some Ubuntu kernel. E.g. current mainline kernels from http://kernel.ubuntu.com/~kernel-ppa/mainline: |
8 | | - `` curl -O http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.3/linux-image-4.10.3-041003-generic_4.10.3-041003.201703142331_amd64.deb`` |
| 17 | +1. Make sure your system is up-to-date and get the Ubuntu package: |
| 18 | + ``curl -O https://github.com/stuffo/scaleway-ubuntukernel/releases/download/v1.0/scaleway-ubuntukernel_1.0-1_amd64.deb `` |
| 19 | +2. You skip this step if you already installed any kernel package providing linux-image. Otherwise, get some Ubuntu kernel. |
| 20 | + E.g. current mainline kernels from http://kernel.ubuntu.com/~kernel-ppa/mainline: |
| 21 | + ``curl -O http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.3/linux-image-4.10.3-041003-generic_4.10.3-041003.201703142331_amd64.deb`` |
| 22 | + ``apt install ./linux-image-4.10.3-041003-generic_4.10.3-041003.201703142331_amd64.deb `` |
9 | 23 | 3. Install this package and current kernel: |
10 | | - `` apt install ./scaleway-ubuntukernel_1.0-1_amd64.deb ./linux-image-4.10.3-041003-generic_4.10.3-041003.201703142331_amd64.deb `` |
| 24 | + ``apt install ./scaleway-ubuntukernel_1.0-1_amd64.deb `` |
11 | 25 | 4. Disable Ubuntu kexec service (required as it is incompatible with this) |
12 | 26 | `` systemctl disable kexec && reboot `` |
13 | 27 |
|
14 | | -Manual Install |
15 | | -============== |
16 | | -1. You need a Scaleway base kernel that has KEXEC support. E.g. 4.8.14 std #2. You can adjust this via |
17 | | - the bootscript setting in the Advanced section of the cloud.scaleway.com interface. |
18 | | -2. Install some Ubuntu kernel. E.g. current kernels from http://kernel.ubuntu.com/~kernel-ppa/mainline: |
19 | | - `` curl -O http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.3/linux-image-4.10.3-041003-generic_4.10.3-041003.201703142331_amd64.deb && sudo dpkg -i linux-image-4.10.3-041003-generic_4.10.3-041003.201703142331_amd64.deb`` |
20 | | -3. Install kexec-tools package and disable kexec, otherwise kexec gets executed to early: |
21 | | - ``systemctl disable kexec.service`` |
22 | | -4. Copy ubuntukernel-load.sh to /usr/bin/ |
23 | | -5. Copy debian/scaleway-ubuntukernel.service to /etc/systemd/system/ |
24 | | -6. Enable ubuntukernel-load.service: |
25 | | - ``systemctl enable ubuntukernel-load.service`` |
26 | | -7. Reboot. System will reboot with the Scaleway kernel and kexec into the Ubuntu kernel while booting. |
| 28 | +Debugging |
| 29 | +========= |
| 30 | +You can run ubuntukernel-load.sh manually as root. It is quite verbose. Be |
| 31 | +aware that your system will reboot (kexec) if all went fine. |
| 32 | + |
| 33 | +Build |
| 34 | +===== |
| 35 | +Make sure you have at least build-essential and devscripts installed. |
| 36 | + |
| 37 | +1. clone repo ``git clone`` |
| 38 | +2. run debuild to build debian package |
| 39 | + ``debuild -i -us -uc -b`` |
27 | 40 |
|
28 | 41 | TODO |
29 | 42 | ==== |
30 | | -* create deb package |
31 | | -* automatically determine scaleway initrd version |
32 | 43 | * account scaleway initrd version for automatic initrd regeneration on change |
33 | 44 |
|
34 | 45 |
|
0 commit comments