我正在尝试3.14
在 ubuntu 上编译 linux 内核14.04
。在有人指出之前,我知道有更新的稳定版本的内核可用,但我被要求3.14
自行安装。因此,我编写了一个脚本来解压源 tar 并开始构建内核。但它中途停止,没有产生任何错误。我尝试修改代码,但每次仍然给出相同的错误。
脚本片段:
# Prepare for compilation
make -j1 mrproper
# Set default configuration
make -j1 defconfig
# Compile the kernel image and modules
make -j1
# Install the modules
make -j1 modules_install
# Install the firmware
make -j1 firmware_install
# Install the kernel
cp -v arch/x86_64/boot/bzImage /boot/vm_linuz-3-14-systemd
# Install the map file
cp -v System.map /boot/system-map-3-14-systemd
# Backup kernel configuration file
cp -v .config /boot/config-backup-3-14
日志的最后几行:
LD [M] net/ipv4/netfilter/iptable_nat.ko
LD [M] net/ipv4/netfilter/nf_nat_ipv4.ko
LD [M] net/netfilter/nf_nat.ko
LD [M] net/netfilter/nf_nat_ftp.ko
LD [M] net/netfilter/nf_nat_irc.ko
LD [M] net/netfilter/nf_nat_sip.ko
LD [M] net/netfilter/xt_LOG.ko
LD [M] net/netfilter/xt_mark.ko
LD [M] net/netfilter/xt_nat.ko
HOSTCC arch/x86/boot/tools/build
CPUSTR arch/x86/boot/cpustr.h
CC arch/x86/boot/cpu.o
MKPIGGY arch/x86/boot/compressed/piggy.S
AS arch/x86/boot/compressed/piggy.o
LD arch/x86/boot/compressed/vmlinux
ZOFFSET arch/x86/boot/zoffset.h
OBJCOPY arch/x86/boot/vmlinux.bin
AS arch/x86/boot/header.o
LD arch/x86/boot/setup.elf
OBJCOPY arch/x86/boot/setup.bin
BUILD arch/x86/boot/bzImage
Setup is 15232 bytes (padded to 15360 bytes).
System is 5433 kB
CRC 62b609cb
Kernel: arch/x86/boot/bzImage is ready (#1)
Building modules, stage 2.
MODPOST 11 modules
CC drivers/thermal/x86_pkg_temp_thermal.mod.o
LD [M] drivers/thermal/x86_pkg_temp_thermal.ko
CC net/ipv4/netfilter/ipt_MASQUERADE.mod.o
LD [M] net/ipv4/netfilter/ipt_MASQUERADE.ko
CC net/ipv4/netfilter/iptable_nat.mod.o
LD [M] net/ipv4/netfilter/iptable_nat.ko
CC net/ipv4/netfilter/nf_nat_ipv4.mod.o
LD [M] net/ipv4/netfilter/nf_nat_ipv4.ko
CC net/netfilter/nf_nat.mod.o
LD [M] net/netfilter/nf_nat.ko
CC net/netfilter/nf_nat_ftp.mod.o
LD [M] net/netfilter/nf_nat_ftp.ko
CC net/netfilter/nf_nat_irc.mod.o
LD [M] net/netfilter/nf_nat_irc.ko
CC net/netfilter/nf_nat_sip.mod.o
LD [M] net/netfilter/nf_nat_sip.ko
CC net/netfilter/xt_LOG.mod.o
LD [M] net/netfilter/xt_LOG.ko
CC net/netfilter/xt_mark.mod.o
LD [M] net/netfilter/xt_mark.ko
CC net/netfilter/xt_nat.mod.o
LD [M] net/netfilter/xt_nat.ko
sh /finalize-system/linux-kernel/linux-3.14/arch/x86/boot/install.sh 3.14.21 arch/x86/boot/bzImage \
System.map "/boot"
Cannot find LILO.
它显示一个错误Cannot find LILO
。但我已经安装Grub 2
在我的系统上。那它为什么要求呢LILO
?
答案1
ARCH=x86_64
将标志添加到所有命令后,make
Linux 内核已成功编译。