Saturday, May 3, 2014

Build linux kernel


Do not use root to perform these tasks

Download 3.14.2 linux kernel source code

[@novo ~]$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.2.tar.xz
--2014-05-03 11:03:19--  https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.2.tar.xz
Resolving www.kernel.org... 199.204.44.194, 198.145.20.140, 149.20.4.69, ...
Connecting to www.kernel.org|199.204.44.194|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 78399780 (75M) [application/x-xz]
Saving to: “linux-3.14.2.tar.xz”

100%[======================================>] 78,399,780  2.08M/s   in 38s    

2014-05-03 11:03:58 (1.95 MB/s) - “linux-3.14.2.tar.xz” saved [78399780/78399780]


[@novo ~]$ mkdir ~/linux
[@novo ~]$ mv ~/linux-3.14.2.tar.xz linux
[@novo ~]$ cd linux
[@novo linux]$ ls
linux-3.14.2.tar.xz


.xz file needs to be uncompressed via J option

[@novo linux]$ tar -xvJf linux-3.14.2.tar.xz
:
:
:
linux-3.14.2/virt/kvm/iodev.h
linux-3.14.2/virt/kvm/iommu.c
linux-3.14.2/virt/kvm/irq_comm.c
linux-3.14.2/virt/kvm/irqchip.c
linux-3.14.2/virt/kvm/kvm_main.c
linux-3.14.2/virt/kvm/vfio.c


[@novo linux]$ cd linux-3.14.2
[@novo linux-3.14.2]$ which make
/usr/bin/make

make menuconfig requires ncurses-devel


Here we need root

[root@novo ~]# yum install ncurses-devel

Also we need gcc

[root@novo ~]# yum install gcc

Now back to regular user ID

[@novo linux-3.14.2]$ make menuconfig
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/lxdialog/checklist.o
  HOSTCC  scripts/kconfig/lxdialog/inputbox.o
  HOSTCC  scripts/kconfig/lxdialog/menubox.o
  HOSTCC  scripts/kconfig/lxdialog/textbox.o
  HOSTCC  scripts/kconfig/lxdialog/util.o
  HOSTCC  scripts/kconfig/lxdialog/yesno.o
  HOSTCC  scripts/kconfig/mconf.o
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/mconf
scripts/kconfig/mconf Kconfig
#
# using defaults found in /boot/config-2.6.32-431.el6.x86_64
#
/boot/config-2.6.32-431.el6.x86_64:497:warning: symbol value 'm' invalid for X86_INTEL_PSTATE
/boot/config-2.6.32-431.el6.x86_64:565:warning: symbol value 'm' invalid for PCCARD_NONSTATIC
/boot/config-2.6.32-431.el6.x86_64:2730:warning: symbol value 'm' invalid for MFD_WM8400
/boot/config-2.6.32-431.el6.x86_64:2731:warning: symbol value 'm' invalid for MFD_WM831X
/boot/config-2.6.32-431.el6.x86_64:2732:warning: symbol value 'm' invalid for MFD_WM8350
/boot/config-2.6.32-431.el6.x86_64:2745:warning: symbol value 'm' invalid for MFD_WM8350_I2C
/boot/config-2.6.32-431.el6.x86_64:2747:warning: symbol value 'm' invalid for AB3100_CORE
configuration written to .config

*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.




[@novo linux-3.14.2]$ make
:

:
  LD      drivers/net/ethernet/nvidia/built-in.o
  CC [M]  drivers/net/ethernet/nvidia/forcedeth.o
  LD      drivers/net/ethernet/oki-semi/built-in.o
  LD      drivers/net/ethernet/oki-semi/pch_gbe/built-in.o
  CC [M]  drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.o
  CC [M]  drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.o
  CC [M]  drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.o
  CC [M]  drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_api.o
  CC [M]  drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.o
  LD [M]  drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.o
  LD      drivers/net/ethernet/packetengines/built-in.o
  LD      drivers/net/ethernet/qlogic/built-in.o
  CC [M]  drivers/net/ethernet/qlogic/qla3xxx.o
  LD      drivers/net/ethernet/qlogic/netxen/built-in.o
  CC [M]  drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.o
  CC [M]  drivers/net/ethernet/qlogic/netxen/netxen_nic_main.o
  CC [M]  drivers/net/ethernet/qlogic/netxen/netxen_nic_init.o
  CC [M]  drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.o
  CC [M]  drivers/net/ethernet/qlogic/netxen/netxen_nic_ctx.o
  LD [M]  drivers/net/ethernet/qlogic/netxen/netxen_nic.o
  LD      drivers/net/ethernet/qlogic/qlcnic/built-in.o


:
:
  IHEX    firmware/mts_cdma.fw
  IHEX    firmware/mts_gsm.fw
  IHEX    firmware/mts_edge.fw
  H16TOFW firmware/edgeport/boot.fw
  H16TOFW firmware/edgeport/boot2.fw
  H16TOFW firmware/edgeport/down.fw
  H16TOFW firmware/edgeport/down2.fw
  IHEX    firmware/edgeport/down3.bin
  IHEX2FW firmware/whiteheat_loader.fw
  IHEX2FW firmware/whiteheat.fw
  IHEX2FW firmware/keyspan_pda/keyspan_pda.fw
  IHEX2FW firmware/keyspan_pda/xircom_pgs.fw
 

[@novo linux-3.14.2]$ ls -a vm*
vmlinux  vmlinux.o




















No comments:

Post a Comment