[OFFICIAL] Linux Kernel (new modules, optimizations, hacks, ...)


#25

It was added as a module, so check in your /lib/modules/$(uname -r)/kernel/drivers/block/

root@c1-10-1-8-192:~/image-builder# ls -la /lib/modules/$(uname -r)/kernel/drivers/block/rbd.ko
-rw-r--r-- 1 root root 78200 Oct 20 11:55 /lib/modules/3.17.0-90/kernel/drivers/block/rbd.ko

If you cannot see it, you should try to reboot on a more recent kernel


#26

Would it be possible to add AppArmor support?


#27

We will build a new kernel with apparmor support soon


#28

We just released a new kernel:


#29

Please add this kernel modules:

For optimise TCP

/Networking support/Networking options/TCP: advanced congestion control

  • H-TCP
  • High Speed TCP
  • TCP-Hybla

And turn off module signing that will be really convenience for custom load kernel modules

Thanks.


#30

I’m getting the following error when setting up ecryptfs on a ubuntu 14.04 image:

ERROR:  Cannot get ecryptfs version, ecryptfs kernel module not loaded?

Could you add the ecryptfs kernel module?

Thanks.


#31

Done with :


Done with


Done with


All this changed will be available with the next kernel release 3.17 >= 120


#32

Wow.

You guys are great. I can’t wait to get some fun projects going on these boards.

Thanks!


#33

Hi, due to the fact by default C1 instances are being created without swap device the following kernel parameter is better then the default

vm.swappiness = 0

Default is 60.


#34

Correct me if I am wrong, I am guessing the bootloader that’s being used in u-boot. So We can’t have our own customized kernel. I want to explore the possibility xen+mirage OS setup. Is there any chance of switching to grub boot-loader.


#35

no LVM kernel module? this is important for me. It would be much better if we could use the distribution-provided kernel, but I’m guessing the network booting setup you have built doesn’t allow for this? (distribution-provided kernels would also benefit from the faster turnaround time a distribution team is able to achieve for security vulnerability patching, while also being more guaranteed to be compatible with the rest of the software stack.)


#36

Hi @diddledan,

I just successfully tested LVM


(on alpine linux image with 3.2.34 kernel)

bash-4.3# apk add lvm2
(1/3) Installing device-mapper (2.02.118-r0)
(2/3) Installing lvm2-libs (2.02.118-r0)
(3/3) Installing lvm2 (2.02.118-r0)
Executing busybox-1.23.2-r0.trigger
OK: 17 MiB in 35 packages
bash-4.3# pvcreate /dev/nbd1
  Physical volume "/dev/nbd1" successfully created
bash-4.3# vgcreate storage /dev/nbd1
  Volume group "storage" successfully created
bash-4.3# lvcreate -L 100M storage -n root
  Logical volume "root" created.
bash-4.3# mkfs.vfat /dev/storage/root
bash-4.3# mount /dev/storage/root /mnt/
bash-4.3# mount | grep /storage
/dev/storage/root on /mnt type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

#37

Hi @gautam,

On this specific version of hardware we cannot get rid of u-boot in favor to grub

It’s planned to let the users with a developer account upload their own kernel

For now you can follow the related issue on GitHub (https://github.com/scaleway/kernel-tools/issues/14)


#38

on my ubuntu test rig I’m getting the following:

# lvcreate -L10G -ntest vg0
  /dev/vg0/test: not found: device not cleared
  Aborting. Failed to wipe start of new LV.
  device-mapper: remove ioctl on  failed: Device or resource busy
  semid 425984: semop failed for cookie 0xd4d647a: incorrect semaphore state
  Failed to set a proper state for notification semaphore identified by cookie value 223175802 (0xd4d647a) to initialize waiting for incoming notifications.

note that pvcreate and vgcreate returned no errors.

# pvdisplay
  --- Physical volume ---
  PV Name               /dev/nbd1
  VG Name               vg0
  PV Size               46.57 GiB / not usable 3.72 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              11920
  Free PE               11920
  Allocated PE          0
  PV UUID               f3ceM4-fSI2-5bWn-GP3a-DPVT-iMnR-l8pEoO
# vgdisplay
  --- Volume group ---
  VG Name               vg0
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  9
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               46.56 GiB
  PE Size               4.00 MiB
  Total PE              11920
  Alloc PE / Size       0 / 0
  Free  PE / Size       11920 / 46.56 GiB
  VG UUID               DvSOYZ-lEOC-1CSX-mNl3-oG7W-MzRn-yhRhgd

the device /dev/vg0 was not created. and lsmod does not show an lvm module having been loaded. modprobe lvm reports that the lvm module doesn’t exist.

this also is the 3.2.34 kernel:

Linux scw-61bda6 3.2.34-30 #17 SMP Mon Apr 13 15:53:45 UTC 2015 armv7l armv7l armv7l GNU/Linux

#39

Thnk’s for this information :slight_smile:


#40

Docker kernel:

With the current docker-kernel allocating CPU resources to docker containers (aka CPU limiting) is not working.

docker run --cpu-shares ...

Please enable the CONFIG_CFS_BANDWIDTH kernel options for the docker-kernel.

 make-menu: General Setup » Control Group support » Group CPU scheduler 

Merci bien!


#41

@janeczku
We built a kernel with CPU limiting support, but performances seems to be a little bit worst, see:

however, this kernel is already available, you can set up your boot script to 3.19.7-docker #217 (beta-cfs-bandwidth) on the console

for now, the image stay with the beta flag until we have more feedbacks


#42

Hey @Simon,

We just released the 4.0.2-apparmor #215 bootscript with apparmor support


#43

When I try to use “tc” (traffic control) on any of the available kernel, I get this error:
RTNETLINK answers: Operation not supported

It seems that some kernel modules are not enabled. Is it possible to enable them?


#44

Hello,

The required missing kernel options for traffic control are those, according to the documentation:
CONFIG_NET_SCH_CSZ=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS_POLICE=y