Skip to main content
●Sign In
●
●Teams
●For business
●For government
●For higher ed
●Individuals
●Features
●All features
●Courses
●Certifications
●Interactive learning
●Live events
●Answers
●Insights reporting
●Blog
●Content sponsorship
Get full access to Linux Kernel in a Nutshell and 60K+ other titles, with a free 10-day trial of O'Reilly.
There are also live events, courses curated by job role, and more.
Start your free trial
Linux Kernel in a Nutshell
byGreg Kroah-Hartman
Released December 2006
Publisher(s): O'Reilly Media, Inc.
ISBN: 9780596100797
Read it now on the O’Reilly learning platform with a 10-day free trial.
O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.
Buy on Amazon
Buy on ebooks.com
Start your free trial
Book description
Written by a leading developer and maintainer of the Linux
kernel, Linux Kernel in a Nutshell is a comprehensive
overview of kernel configuration and building, a critical task for
Linux users and administrators.
No distribution can provide a Linux kernel that meets all users'
needs. Computers big and small have special requirements that
require reconfiguring and rebuilding the kernel. Whether you are
trying to get sound, wireless support, and power management working
on a laptop or incorporating enterprise features such as logical
volume management on a large server, you can benefit from the
insights in this book.
Linux Kernel in a Nutshell covers the entire range of
kernel tasks, starting with downloading the source and making sure
that the kernel is in sync with the versions of the tools you need.
In addition to configuration and installation steps, the book
offers reference material and discussions of related topics such as
control of kernel options at runtime.
A key benefit of the book is a chapter on determining exactly
what drivers are needed for your hardware. Also included are
recipes that list what you need to do to accomplish a wide range of
popular tasks.
tion
Table of contents
(一)
Linux Kernel in a Nutshell
(一)
A Note Regarding Supplemental Files
(二)
Preface
(一)
Audience for the book
(二)
Organization of the material
(三)
Online Version and License
(四)
Conventions Used in This Book
(五)
Contact Information
(六)
Acknowledgments
(三)
1. Introduction
(一)
Using this book
(四)
2. Requirements for building and using the kernel
(一)
Tools to build the kernel
(一)
Compiler
(二)
Linker
(三)
Make
(二)
Tools to use the kernel
(一)
util-linux
(二)
module-init-tools
(三)
Filesystem-specific tools
(一)
ext2/ext3/ext4
(二)
JFS
(三)
ReiserFS
(四)
XFS
(五)
Quotas
(六)
NFS
(四)
Other tools
(一)
udev
(二)
Process tools
(三)
PCMCIA tools
(五)
3. Retrieving the kernel source
(一)
What tree to use
(二)
Where to find the kernel source
(三)
What to do with the source
(六)
4. Configuring and Building
(一)
Creating a configuration
(一)
Configuring from scratch
(二)
Default configuration options
(二)
Modifying the configuration
(一)
Console configuration method
(二)
Graphical configuration methods
(三)
Building the kernel
(四)
Advanced building options
(一)
Building faster on multiprocessor machines
(二)
Building only a portion of the kernel
(三)
Source in one place, output in another
(四)
Different architectures
(七)
5. Installing and Booting From a Kernel
(一)
Using a Distribution's Installation Scripts
(二)
Installing By Hand
(三)
Modifying the Bootloader For the New Kernel
(一)
GRUB
(二)
LILO
(八)
6. Upgrading a kernel
(一)
Download the new source
(一)
Which patch applies to which release?
(二)
Finding the patch
(二)
Applying the patch
(三)
Reconfigure the kernel
(四)
Can't this be automated?
(九)
7. Customizing a Kernel
(一)
Using a Distribution Kernel
(一)
Where Is the Kernel Configuration?
(二)
Finding Which Module Is Needed
(一)
Example: determining the network driver
(二)
Example: a USB device
(三)
Summary of device discovery
(四)
Let the kernel tell us what we need
(二)
Determining the Correct Module From Scratch
(一)
PCI devices
(二)
USB devices
(三)
Root Filesystem
(一)
Filesystem type
(二)
Disk controller
(四)
Helper Script
(十)
8. Kernel Configuration Recipes
(一)
Disks
(一)
USB storage
(二)
IDE Disks
(三)
Serial ATA (SATA)
(四)
Burning a CD-ROM
(一)
IDE CD-ROM drives
(二)
SCSI and SATA CD-ROM drives
(二)
Devices
(一)
USB
(二)
IEEE 1394 (FireWire)
(三)
PCI hotplug
(四)
PCMCIA / CardBus
(五)
Sound (ALSA)
(三)
CPU
(一)
Processor Types
(二)
SMP
(三)
Preemption
(四)
Suspend
(五)
CPU Frequency Scaling
(六)
Different Memory Models
(七)
ACPI
(四)
Networking
(一)
Netfilter
(二)
Network Drivers
(三)
IrDA
(四)
Bluetooth
(五)
Wireless
(五)
Filesystems
(一)
RAID
(二)
Logical Volume Manager and Device Mapper
(三)
Filesharing with Windows
(四)
OCFS2
(六)
Security
(一)
Default Linux Capabilities
(二)
SELinux
(七)
Kernel debugging
(一)
Kernel log timestamps
(二)
Magic SysRq keys
(三)
Debug Filesystem
(四)
General Kernel Debugging
(11)
9. Kernel boot command-line parameter reference
(一)
Module-specific options
(二)
Console options
(一)
console
(二)
netconsole
(三)
debug
(四)
quiet
(五)
earlyprintk
(六)
loglevel
(七)
log_buf_len
(八)
initcall_debug
(九)
kstack
(十)
time
(三)
Interrupt options
(一)
apic
(二)
noapic
(三)
lapic
(四)
nolapic
(五)
noirqbalance
(六)
irqfixup
(七)
irqpoll
(八)
noirqdebug
(四)
Memory options
(一)
highmem
(二)
hugepages
(三)
ihash_entries
(四)
max_addr
(五)
mem
(六)
mem
(七)
memmap
(八)
memmap
(九)
noexec
(十)
reserve
(11)
vmalloc
(12)
norandmaps
(13)
vdso
(五)
Suspend options
(一)
resume
(二)
noresume
(六)
CPU options
(一)
cachesize
(二)
lpj
(三)
nmi_watchdog
(四)
no387
(五)
nofxsr
(六)
no-hlt
(七)
mce
(八)
nomce
(九)
nosep
(十)
nosmp
(11)
notsc
(12)
max_cpus
(七)
Scheduler options
(一)
isolcpus
(二)
migration_cost
(三)
migration_debug
(四)
migration_factor
(八)
Ramdisk options
(一)
initrd
(二)
load_ramdisk
(三)
noinitrd
(四)
prompt_ramdisk
(五)
ramdisk_blocksize
(六)
ramdisk_size
(九)
Root disk options
(一)
ro
(二)
root
(三)
rootdelay
(四)
rootflags
(五)
rootfstype
(六)
rw
(十)
Init options
(一)
init
(二)
rdinit
(三)
S
(11)
kexec options
(一)
crashkernel
(二)
elfcorehdr
(12)
RCU options
(一)
rcu.blimit
(二)
rcu.qhimark
(三)
rcu.qlowmark
(四)
rcu.rsinterval
(13)
ACPI options
(一)
acpi
(二)
acpi_sleep
(三)
acpi_sci
(四)
acpi_irq_balance
(五)
acpi_irq_nobalance
(六)
acpi_irq_isa
(七)
acpi_irq_pci
(八)
acpi_os_name
(九)
acpi_osi
(十)
acpi_serialize
(11)
acpi_skip_timer_override
(12)
acpi_dbg_layer
(13)
acpi_fake_ecdt
(14)
acpi_generic_hotkey
(15)
acpi_pm_good
(16)
ec_intr
(17)
memmap
(18)
memmap
(19)
pnpacpi
(20)
processor.max_cstate
(21)
processor.nocst
(14)
SCSI options
(一)
max_luns
(二)
max_report_luns
(三)
scsi_dev_flags
(15)
PCI options
(16)
PnP BIOS options
(一)
noisapnp
(二)
pnpbios
(三)
pnp_reserve_irq
(四)
pnp_reserve_dma
(五)
pnp_reserve_io
(六)
pnp_reserve_mem
(17)
SELinux options
(一)
checkreqprot
(二)
enforcing
(三)
selinux
(四)
selinux_compat_net
(18)
Network options
(一)
netdev
(二)
rhash_entries
(三)
shapers
(四)
thash_entries
(19)
NFS options
(一)
lockd.nlm_grace_period
(二)
lockd.nlm_tcpport
(三)
lockd.nlm_timeout
(四)
lockd.nlm_udpport
(五)
nfsroot
(六)
nfs.callback_tcpport
(七)
nfs.idmap_cache_timeout
(20)
Hardware specific options
(一)
nousb
(二)
lp
(三)
parport
(四)
parport_init_mode
(五)
nr_uarts
(21)
Timer specific options
(一)
enable_timer_pin_1
(二)
disable_timer_pin_1
(三)
enable_8254_timer
(四)
disable_8254_timer
(五)
hpet
(六)
clocksource
(22)
Miscellaneous options
(一)
dhash_entries
(二)
elevator
(三)
hashdist
(四)
combined_mode
(五)
max_loop
(六)
panic
(七)
pause_on_oops
(八)
profile
(12)
10. Kernel build command line reference
(一)
Informational Targets
(二)
Cleaning Targets
(三)
Configuration Targets
(四)
Build Targets
(五)
Packaging Targets
(六)
Documentation Targets
(七)
Architecture-Specific Targets
(八)
Analysis Targets
(13)
11. Kernel Configuration Option Reference
(一)
EXPERIMENTAL
(二)
LOCALVERSION
(三)
AUDIT
(四)
IKCONFIG
(五)
EMBEDDED
(六)
MODULES
(七)
IOSCHED_NOOP
(八)
IOSCHED_AS
(九)
IOSCHED_DEADLINE
(十)
IOSCHED_CFQ
(11)
SMP
(12)
M386
(13)
X86_GENERIC
(14)
NR_CPUS
(15)
SCHED_SMT
(16)
PREEMPT_NONE
(17)
PREEMPT_VOLUNTARY
(18)
PREEMPT
(19)
PREEMPT_BKL
(20)
NOHIGHMEM
(21)
HIGHMEM4G
(22)
HIGHMEM64G
(23)
FLATMEM_MANUAL
(24)
DISCONTIGMEM_MANUAL
(25)
SPARSEMEM_MANUAL
(26)
SECCOMP
(27)
KEXEC
(28)
HOTPLUG_CPU
(29)
PM
(30)
SOFTWARE_SUSPEND
(31)
ACPI
(32)
CPU_FREQ
(33)
CPU_FREQ_DEFAULT_GOV_PERFORMANCE
(34)
CPU_FREQ_DEFAULT_GOV_USERSPACE
(35)
CPU_FREQ_GOV_PERFORMANCE
(36)
CPU_FREQ_GOV_POWERSAVE
(37)
CPU_FREQ_GOV_USERSPACE
(38)
CPU_FREQ_GOV_ONDEMAND
(39)
CPU_FREQ_GOV_CONSERVATIVE
(40)
PCI
(41)
PCCARD
(42)
PCMCIA
(43)
CARDBUS
(44)
HOTPLUG_PCI
(45)
NET
(46)
UNIX
(47)
INET
(48)
IP_ADVANCED_ROUTER
(49)
NETFILTER
(50)
NET_SCHED
(51)
IRDA
(52)
IRLAN
(53)
IRNET
(54)
IRCOMM
(55)
IRDA_ULTRA
(56)
BT
(57)
IEEE80211
(58)
MTD
(59)
PARPORT
(60)
PNP
(61)
ISAPNP
(62)
PNPBIOS
(63)
IDE
(64)
BLK_DEV_IDE
(65)
BLK_DEV_IDEDISK
(66)
BLK_DEV_IDECD
(67)
BLK_DEV_IDEFLOPPY
(68)
SCSI
(69)
BLK_DEV_SD
(70)
CHR_DEV_ST
(71)
BLK_DEV_SR
(72)
CHR_DEV_SG
(73)
CHR_DEV_SCH
(74)
SCSI_MULTI_LUN
(75)
SCSI_SATA
(76)
MD
(77)
BLK_DEV_MD
(78)
BLK_DEV_DM
(79)
IEEE1394
(80)
I2O
(81)
NETDEVICES
(82)
NET_ETHERNET
(83)
NET_RADIO
(84)
PPP
(85)
PPPOE
(86)
ISDN
(87)
PHONE
(88)
INPUT
(89)
VT
(90)
VT_CONSOLE
(91)
SERIAL_8250
(92)
AGP
(93)
DRM
(94)
I2C
(95)
SPI
(96)
HWMON
(97)
VIDEO_DEV
(98)
DVB
(99)
FB
(100)
VGA_CONSOLE
(101)
LOGO
(102)
SOUND
(103)
SND
(104)
SND_USB_AUDIO
(105)
USB
(106)
USB_EHCI_HCD
(107)
USB_OHCI_HCD
(108)
USB_UHCI_HCD
(109)
USB_STORAGE
(110)
USB_SERIAL
(111)
USB_GADGET
(112)
MMC
(113)
INFINIBAND
(114)
EDAC
(115)
EXT2_FS
(116)
EXT3_FS
(117)
REISERFS_FS
(118)
JFS_FS
(119)
XFS_FS
(120)
OCFS2_FS
(121)
INOTIFY
(122)
QUOTA
(123)
AUTOFS_FS
(124)
FUSE_FS
(125)
SMB_FS
(126)
CIFS
(127)
PROFILING
(128)
OPROFILE
(129)
KPROBES
(130)
PRINTK_TIME
(131)
MAGIC_SYSRQ
(132)
DEBUG_KERNEL
(133)
DEBUG_FS
(134)
SECURITY
(135)
SECURITY_SELINUX
(14)
A. Helpful Utilities
(一)
patch and diff
(一)
New Kernel Versions
(二)
Managing Your Patches With quilt
(三)
git
(四)
ketchup
(15)
12. Bibliography
(一)
Books
(一)
General Linux Books
(二)
Linux Kernel Books
(二)
Tool locations
(16)
Index
(17)
About the Author
Product information
●Title: Linux Kernel in a Nutshell
●Author(s): Greg Kroah-Hartman
●Release date: December 2006
●Publisher(s): O'Reilly Media, Inc.
●ISBN: 9780596100797
You might also like
book
Linux Kernel Debugging
by
Kaiwan N Billimoria
Effectively debug kernel modules, device drivers, and the kernel itself by gaining a solid understanding of …
book
Linux Kernel Programming
by
Kaiwan N Billimoria
Learn how to write high-quality kernel module code, solve common Linux kernel programming issues, and understand …
book
Linux Kernel Development, Third Edition
by
Robert Love
Linux Kernel Development details the design and implementation of the Linux kernel, presenting the content in …
book
Understanding the Linux Kernel, Second Edition
by
Daniel P. Bovet,
Marco Cesati
To thoroughly understand what makes Linux tick and why it's so efficient, you need to delve …
●Teach/write/train
●Careers
●Press releases
●Media coverage
●Community partners
●Affiliate program
●Submit an RFP
●Diversity
●
●Contact us
●Newsletters
●Privacy policy
●Australia & New Zealand
●Hong Kong & Taiwan
●India
●Indonesia
●Japan
Take O’Reilly with you and learn anywhere, anytime on your phone and tablet.
View all O’Reilly videos, Superstream events, and Meet the Expert sessions on your home TV.
© 2024, O’Reilly Media, Inc. All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.
We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.
Terms of service • Privacy policy • Editorial independence
Don’t leave empty-handed
Get Mark Richards’s Software Architecture Patterns ebook to better understand how to design components—and how they should interact.
It’s yours, free.
Get it now
Check it out now on O’Reilly
Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.
Start your free trial
Become a member now