Skip to main content

FreeBSD - Custom Kernel

Our previous FreeBSD installation may lack of options like ALTQ for PF (Packet Filter). So we have to compile our kernel to a new kernel with some option enable. Prepare yourself..

• Make sure you are on i386 architecture machine
• Copy the original GENERIC kernel to a new one.
• Bare in mind, you are not allowed to make any changes to the original kernel. Since we will use that for our 'work in hand' kernel if anything goes wrong.

shell>cd /usr/src/sys/i386/conf
shell>cp GENERIC MYKERNEL

• Edit MYKERNEL using your prefered editor. Mine prefer nano :)

shell>nano MYKERNEL

• For this tutorial we will enable ALTQ for PF

#options for pf (packet filter) ALTQ
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_PRIQ
options ALTQ_NOPCC

#pf (packet filter)
device pf
device pflog
device pfsync


• Save and let's build them up!

shell> cd /usr/src
shell>make buildkernel KERNCONF=MYKERNEL

• Install the new kernel

shell>make installkernel KERNCONF=MYKERNEL

• When finished, the output will look like this :

--------------------------------------------------------------
>>> Kernel build for MYKERNEL completed on Tue Dec 29 20:18:53 MYT 2009
--------------------------------------------------------------

• Reboot your machine and make sure you are using the custom kernel

shell>uname -a
FreeBSD web.domain.com 7.2-RELEASE-p5 FreeBSD 7.2-RELEASE-p5 #0: Tue Dec 29 20:10:31 MYT 2009 root@web.domain.com:/usr/obj/usr/src/sys/MYKERNEL i386

Comments

Popular posts from this blog

Python - Xen and libvirt

more function can be found in python dir libvirtclass.txt shell> find / -name libvirtclass.txt Generated Classes for libvir-python # # Global functions of the module # # functions from module libvirt open() openReadOnly() virEventRegisterImpl() virInitialize() # functions from module virterror virGetLastError() virResetLastError() # # Set of classes of the module # Class virDomain()     # functions from module libvirt     ID()     OSType()     XMLDesc()     attachDevice()     blockPeek()     connect()     coreDump()     create()     destroy()     detachDevice()     maxMemory()     maxVcpus()     memoryPeek() migrate()     name()     reboot()     ref()     resume()     save()     setAutostart()     setMaxMemory()     setMemory()     setVcpus()     shutdown()     suspend()     undefine()     # functions from module python     UUID()     UUIDString()     autostart()     blockStats()     info()     interfaceStats()     pinVc

Building a KVM Proxy

Traditionally we seldomly connect our KVM from the port directly to the server that consists of usb for keyboard and mouse, vga cable for display purposes. More advanced you may have an experience using the iKVM which connect all you kvm port from the internet where you can have a remote location as long as you have the internet connection. When technology evolve, physical server are becoming obsolete since we have the virtualization technology. Since that to access your virtual machine (vm) are more easier. Instead of using SSH, like a Xen hypervisor, the Xen itself can host as a KVM server and map to the vm on different port as configured from the config file.

Complete guide to update/upgrade cakephp

This is what people always forgotten. How to update your cakephp to the latest from CLI         phpmamp composer.phar update How to upgrade to 3.* branch     phpmamp composer.phar require --update-with-dependencies "cakephp/cakephp:3.5.*"         ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev)       - Removing cakephp/cakephp (3.4.13)       - Installing cakephp/cakephp (3.5.6)         Downloading: 100% Writing lock file Generating autoload files Done !