Differences between current version and previous revision of EliminateInitrd.
Other diffs: Previous Major Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 3 | Last edited on Wednesday, July 20, 2005 4:10:03 pm | by KevinCroft | |
Older page: | version 2 | Last edited on Wednesday, July 20, 2005 4:07:29 pm | by KevinCroft | Revert |
@@ -11,22 +11,22 @@
!!! The Solution
Create the '''console''' and '''null''' devices as real files inside /dev.
Boot using the default initrd-based kernel, for me this is:
-<pre
>
+<verbatim
>
title Centos-4 i386 (2.6.9-11.EL)
root (hd0,1)
kernel /vmlinuz-2.6.9-11.EL ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.9-11.EL.img
-</pre
>
+</verbatim
>
Log in as root, re-mount your root file-system to a new area (/mnt/root), and copy the console and null device nodes:
-<pre
>
+<verbatim
>
mkdir -p /mnt/root
mount /dev/hda3 /mnt/root
cd /dev
cp -a console null tty1 tty2 tty3 /mnt/root/dev
-</pre
>
+</verbatim
>
The '''console''', '''null''', and '''tty''' devices are now real files inside the /dev directory and will survive a reboot - unlike the devices created by udev and initrd.
You can also do this by booting the install CD, mounting your root partition, and creating the device files.
@@ -34,21 +34,21 @@
!!! etc files
If you created three TTY nodes in the above, edit /etc/inittab to match by removing all but one of the tty's. (the init scripts will launch an additional 2 tty's).
-<pre
>
+<verbatim
>
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
# - remove the other 5
-</pre
>
+</verbatim
>
!!! Kernel Settings
You can now create a lean and mean kernel without ram disk support, initrd, /dev/pts, or /dev.
Details:
!!! Device Drivers/Block Devices
-<pre
>
+<verbatim
>
< > Normal floppy disk support
< > Compaq SMART2 support
< > Compaq Smart Array 5xxx support
< > Mylex DAC960/DAC1100 PCI RAID Controller support
@@ -62,12 +62,12 @@
[*] Support for Large Block Devices
< > Packet writing on CD/DVD media
IO Schedulers ---> (only anticipatory)
< > ATA over Ethernet support
-</pre
>
+</verbatim
>
!!! Device Drivers/Character Devices
-<pre
>
+<verbatim
>
[ ] Non-standard serial port support
Serial drivers --->
[ ] Legacy (BSD) PTY support
IPMI --->
@@ -94,24 +94,24 @@
< > Transmeta Efficeon support
< > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
< > ACP Modem (Mwave) support
< > RAW driver (/dev/raw/rawN) (OBSOLETE)
-</pre
>
+</verbatim
>
!!! Filesystems/Pseudo Filesystems
-<pre
>
+<verbatim
>
[*] /proc file system support
[ ] /proc/kcore support
[ ] /dev file system support (OBSOLETE)
[ ] /dev/pts Extended Attributes
[*] Virtual memory file system support (former shm fs)
[ ] tmpfs Extended Attributes
[ ] HugeTLB file system support
-</pre
>
+</verbatim
>
!!! Grub Config
remember grub's ''(hdx,y)'' syntax is zero based.
-<pre
>
+<verbatim
>
splashimage=(hd0,1)/grub/splash.xpm.gz
timeout 10
default 0
fallback 1
@@ -120,22 +120,22 @@
kernel (hd0,1)/bzImage-2.6.13 root=/dev/hda3
title Gentoo (2.6.12.13)
kernel (hd0,1)/bzImage-2.6.13 root=/dev/hda9
-</pre
>
+</verbatim
>
!!! It's working, but udev fails
This is a false positive. Chances are you've built a static or mostly-static kernel but the '''/sbin/startudev''' script assumes a module-ladden kernel and fails to load scsi and ide modules (which you've probably builtin).
Edit the script and comment out some of the statements near the end:
-<pre
>
+<verbatim
>
kill_udevd
# scsi_replay ... -\
# ret=$[$ret + $?] \ comment out these 4 lines if you've builtin SCSI and IDE drivers.
# kill_udevd ... /
# ide_scan ... -/
/sbin/udevstart
-</pre
>
+</verbatim
>
Now reboot and you should see '''OK''' in green letters.