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
 | |
| 
 | 
