153 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			153 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | KERNEL SOURCE: | ||
|  | ============== | ||
|  | 
 | ||
|  | We currently use the Ubuntu kernel sources, available from: | ||
|  | 
 | ||
|  |  http://kernel.ubuntu.com/git/ubuntu/ubuntu-xenial.git/ | ||
|  | 
 | ||
|  | Ubuntu will maintain those kernels till: | ||
|  | 
 | ||
|  |  https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable | ||
|  | 
 | ||
|  | 
 | ||
|  | Additional/Updated Modules: | ||
|  | --------------------------- | ||
|  | 
 | ||
|  | - include latest e1000e driver from intel/sourceforge | ||
|  | 
 | ||
|  | - include latest ixgbe driver from intel/sourceforge | ||
|  | 
 | ||
|  |  - include latest igb driver from intel/sourceforge | ||
|  | 
 | ||
|  | # Note: hpsa does not compile with kernel 3.19.8 | ||
|  | #- include latest HPSA driver (HP Smart Array) | ||
|  | # | ||
|  | #  * http://sourceforge.net/projects/cciss/ | ||
|  | 
 | ||
|  | - include native OpenZFS filesystem kernel modules for Linux | ||
|  | 
 | ||
|  |   * https://github.com/zfsonlinux/ | ||
|  | 
 | ||
|  |   For licensing questions, see: http://open-zfs.org/wiki/Talk:FAQ | ||
|  | 
 | ||
|  | - include latest DRBD 9 driver, see http://drbd.linbit.com/home/what-is-drbd/ | ||
|  | 
 | ||
|  | 
 | ||
|  | FIRMWARE: | ||
|  | ========= | ||
|  | 
 | ||
|  | We create our own firmware package, which includes the firmware for | ||
|  | all proxmox-ve kernels. So far this include | ||
|  | 
 | ||
|  | pve-kernel-2.6.18 | ||
|  | pve-kernel-2.6.24 | ||
|  | pve-kernel-2.6.32 | ||
|  | pve-kernel-3.10.0 | ||
|  | pve-kernel-3.19.0 | ||
|  | 
 | ||
|  | We use 'find-firmware.pl' to extract lists of required firmeware | ||
|  | files.  The script 'assemble-firmware.pl' is used to read those lists | ||
|  | and copy the files from various source directory into a target | ||
|  | directory. | ||
|  | 
 | ||
|  | We do not include firmeware for some wireless HW when there is a | ||
|  | separate debian package for that, for example: | ||
|  | 
 | ||
|  | zd1211-firmware | ||
|  | atmel-firmware | ||
|  | bluez-firmware  | ||
|  | 
 | ||
|  | 
 | ||
|  | PATCHES: | ||
|  | -------- | ||
|  | 
 | ||
|  |  bridge-patch.diff: Avoid bridge problems with changing MAC | ||
|  |   see also: http://forum.openvz.org/index.php?t=msg&th=5291 | ||
|  | 
 | ||
|  |   Behaviour after 2.6.27 has changed slighly - after setting mac address | ||
|  |   of bridge device, then address won't change. So we could omit | ||
|  |   that patch, requiring to set hwaddress in /etc/network/interfaces. | ||
|  | 
 | ||
|  | Watchdog blacklist | ||
|  | ------------------ | ||
|  | 
 | ||
|  | By default, all watchdog modules are black-listed because it is totally undefined | ||
|  | which device is actually used for /dev/watchdog. | ||
|  | We ship this list in /lib/modprobe.d/blacklist_pve-kernel-<VERSION>.conf | ||
|  | The user typically edit /etc/modules to enable a specific watchdog device. | ||
|  | 
 | ||
|  | Additional information | ||
|  | ---------------------- | ||
|  | 
 | ||
|  | We use the default configuration provided by Ubuntu, and apply | ||
|  | the following modification: | ||
|  | 
 | ||
|  | see Makefile (PVE_CONFIG_OPTS) | ||
|  | 
 | ||
|  | - enable CONFIG_CEPH_FS=m (request from user) | ||
|  | 
 | ||
|  | - enable common CONFIG_BLK_DEV_XXX to avoid hardware detection | ||
|  |   problems (udev, undate-initramfs have serious problems without that) | ||
|  | 
 | ||
|  |   	 CONFIG_BLK_DEV_SD=y | ||
|  |   	 CONFIG_BLK_DEV_SR=y | ||
|  |   	 CONFIG_BLK_DEV_DM=y | ||
|  | 
 | ||
|  | - add workaround for Debian bug #807000 (see | ||
|  |   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=807000) | ||
|  | 
 | ||
|  |   	 CONFIG_BLK_DEV_NVME=y | ||
|  | 
 | ||
|  | - compile NBD and RBD modules | ||
|  | 	 CONFIG_BLK_DEV_NBD=m | ||
|  | 	 CONFIG_BLK_DEV_RBD=m | ||
|  | 
 | ||
|  | - set LOOP_MIN_COUNT to 8 (debian defaults) | ||
|  | 	 CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 | ||
|  | 
 | ||
|  | - disable module signatures (CONFIG_MODULE_SIG) | ||
|  |   | ||
|  | - enable IBM JFS file system  | ||
|  | 
 | ||
|  |   This is disabled in RHEL kernel for no real reason, so we enable | ||
|  |   it as requested by users (bug #64) | ||
|  | 
 | ||
|  | - enable apple HFS and HFSPLUS | ||
|  | 
 | ||
|  |   This is disabled in RHEL kernel for no real reason, so we enable | ||
|  |   it as requested by users | ||
|  | 
 | ||
|  | - enable CONFIG_BCACHE=m (requested by user) | ||
|  | 
 | ||
|  | - enable CONFIG_BRIDGE=y | ||
|  | 
 | ||
|  |   Else we get warnings on boot, that | ||
|  |   net.bridge.bridge-nf-call-iptables is an unknown key | ||
|  | 
 | ||
|  | - enable CONFIG_DEFAULT_SECURITY_APPARMOR | ||
|  | 
 | ||
|  |   We need this for lxc | ||
|  |    | ||
|  | - set CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | ||
|  | 
 | ||
|  |   because if not set, it can give some dynamic memory or cpu frequencies  | ||
|  |   change, and vms can crash (mainly windows guest). | ||
|  | 
 | ||
|  |   see http://forum.proxmox.com/threads/18238-Windows-7-x64-VMs-crashing-randomly-during-process-termination?p=93273#post93273 | ||
|  | 
 | ||
|  | - use 'deadline' as default scheduler | ||
|  | 
 | ||
|  |   This is the suggested setting for KVM. We also measure bad fsync | ||
|  |   performance with ext4 and cfq. | ||
|  | 
 | ||
|  | - disable CONFIG_INPUT_EVBUG | ||
|  | 
 | ||
|  |   Module evbug is not blacklisted on debian, so we simply disable it | ||
|  |   to avoid key-event logs (which is a big security problem) | ||
|  | 
 | ||
|  | Testing final kernel with kvm | ||
|  | ----------------------------- | ||
|  | 
 | ||
|  | kvm -kernel data/boot/vmlinuz-3.19.8-1-pve -initrd initrd.img-3.19.8-1-pve -append "vga=791 video=vesafb:ywrap,mtrr" /dev/zero | ||
|  | 
 |