I used minimax to do an Arch FTP installation. Everything went pretty well except my /dev directory is practically empty. I got the "can't open initial console" error initially but that went away after creating the console device file.
But /dev is still almost empty.
I've been searching and reading but I must not be searching for the right things.
Will someone explain to me how, when, and what populates the /dev directory? Is this process different during installation then after the first reboot?
I am Minimax creator. This problem was after booting to installed Arch? Or when you boot Minimax to cd?
/dev/console is created by udev installer.
Google is watching...
Nice job on Minimax Trained.Monkey, very cool.
The problem is when I'm trying to boot to the installed Arch. Minimax boots fine.
I booted to minimax and setup my nic.
Then I manually partitioned my hard drive. (single ide)
Then I made the filesystems and mounted on /mnt/arch
Then ran /arch/setup and did FTP install of base packages only.
Then edited config files.
Then installed kernel.
Then installed Grub.
The first problem is that the computer hangs on first reboot.
To fix this I had to reboot minimax and manually install grub with:
device (hd0) /dev/hda
Then I could get Grub menu but initrd26.img was missing when I try and boot.
Had to reboot with minimax, mount filesystems and:
mknod dev/zero c 1 5
System booted farther now but got "can't open initial console error"
Had to reboot with minimax, mount filesystems and:
mknod -m 660 /dev/console c 5 1
Now it boots but Activating Swap fails, Mounting Root Read-only fails, and Checking Filesystems fails, and then I get a maintenance login.
When I login and mount my root filesystem, /dev has only a hand full of entries and none for my hard drive.
It seems udev is not starting and not populating the /dev folder? I've messed with many things like different settings in mkinitrd.conf and rc.conf, making new initrd every time. Nothing seems to help. Running /etc/start_udev is successful in maintenance mode and creates all the device files.
I actually did get the system working once and I thought I knew what I did to fix it. We went out for a little while and I came back and wiped the drive and started again so I knew for sure how to do it. Didn't work again and now I can't get a normal boot no matter what I do.
Seems to be a problem with / being mounted read only?? I took the ro option out of menu.lst but it doesn't seem to help.
[23;4HThe highlighted entry will be booted automatically in 1 seconds. [5;75H[H[J Booting 'Arch Linux [/boot/vmlinuz]' root (hd0,0) Filesystem type is ext2fs, partition type 0x83 kernel /vmlinuz26 root=/dev/hda3 console=tty0 console=ttyS0,9600n8 [Linux-bzImage, setup=0x1c00, size=0x1bd9be] initrd /initrd26.img [Linux-initrd @ 0x1dcd5000, 0x306c4c bytes] Linux version 2.6.15-ARCH (root@Wohnung) (gcc version 4.0.3 20051222 (prerelease)) #1 SMP PREEMPT Sun Feb 12 18:36:42 CET 2006 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 0000000000080000 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000001dfec000 (usable) BIOS-e820: 000000001dfec000 - 000000001dfef000 (ACPI data) BIOS-e820: 000000001dfef000 - 000000001dfff000 (reserved) BIOS-e820: 000000001dfff000 - 000000001e000000 (ACPI NVS) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved) 0MB HIGHMEM available. 479MB LOWMEM available. DMI 2.3 present. ACPI: PM-Timer IO Port: 0xe408 ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) Processor #0 6:8 APIC version 16 ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base) IOAPIC: apic_id 2, version 17, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl edge) ACPI: BIOS IRQ0 pin2 override ignored. ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) Enabling APIC mode: Flat. Using 1 I/O APICs Using ACPI (MADT) for SMP configuration information Allocating PCI resources starting at 20000000 (gap: 1e000000:e0c00000) Built 1 zonelists Kernel command line: root=/dev/hda3 console=tty0 console=ttyS0,9600n8 Initializing CPU#0 PID hash table entries: 2048 (order: 11, 32768 bytes) Detected 1463.128 MHz processor. Using pmtmr for high-res timesource Console: colour VGA+ 80x25 Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) Memory: 478688k/491440k available (2691k kernel code, 11984k reserved, 733k data, 252k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Calibrating delay using timer specific routine.. 2929.39 BogoMIPS (lpj=5858798) Security Framework v1.0.0 initialized Capability LSM initialized Mount-cache hash table entries: 512 CPU: CLK_CTL MSR was 6003d22f. Reprogramming to 2003d22f CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 256K (64 bytes/line) Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0. mtrr: v2.0 (20020519) Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... OK. CPU0: AMD Athlon(tm) Processor stepping 01 Total of 1 processors activated (2929.39 BogoMIPS). ENABLING IO-APIC IRQs ..TIMER: vector=0x31 apic1=0 pin1=0 apic2=-1 pin2=-1 Brought up 1 CPUs checking if image is initramfs...it isn't (no cpio magic); looks like an initrd Freeing initrd memory: 3099k freed NET: Registered protocol family 16 ACPI: bus type pci registered PCI: PCI BIOS revision 2.10 entry at 0xf1ab0, last bus=2 PCI: Using configuration type 1 ACPI: Subsystem revision 20050902 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Interrupt Link [LNKA] (IRQs 16 18) *6 ACPI: PCI Interrupt Link [LNKB] (IRQs 16 18) *0, disabled. ACPI: PCI Interrupt Link [LNKC] (IRQs 16 18) *0, disabled. ACPI: PCI Interrupt Link [LNKD] (IRQs 16 18) *0, disabled. ACPI: PCI Interrupt Link [LNKE] (IRQs 19) *11 ACPI: PCI Interrupt Link [LNKF] (IRQs 20 21 22) *6 ACPI: PCI Interrupt Link [LNKU] (IRQs 20 21 22) *10 ACPI: PCI Interrupt Link [LNKI] (IRQs 20 21 22) *10 ACPI: PCI Interrupt Link [LNKJ] (IRQs 20 21 22) *5 ACPI: PCI Interrupt Link [LNKK] (IRQs 20 21 22) *11 ACPI: PCI Interrupt Link [LNKM] (IRQs 20 21 22) *0, disabled. ACPI: PCI Root Bridge [PCI0] (0000:00) ACPI: Assume root bridge [_SB_.PCI0] bus is 0 Linux Plug and Play Support v0.97 (c) Adam Belay pnp: PnP ACPI init pnp: PnP ACPI: found 15 devices SCSI subsystem initialized PCI: Using ACPI for IRQ routing PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report pnp: 00:01: ioport range 0xe400-0xe4fe could not be reserved pnp: 00:01: ioport range 0xe4ff-0xe4ff has been reserved pnp: 00:01: ioport range 0xcf0-0xcf3 could not be reserved pnp: 00:0d: ioport range 0x370-0x371 has been reserved PCI: Bridge: 0000:00:08.0 IO window: disabled. MEM window: disabled. PREFETCH window: disabled. PCI: Bridge: 0000:00:1e.0 IO window: disabled. MEM window: ec000000-ecffffff PREFETCH window: eff00000-f7ffffff Simple Boot Flag at 0x3f set to 0x1 apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac) apm: overridden by ACPI. VFS: Disk quotas dquot_6.5.1 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) Installing knfsd (copyright (C) 1996 firstname.lastname@example.org). Initializing Cryptographic API io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered ACPI: Power Button (FF) [PWRF] ACPI: Power Button (CM) [PWRB] isapnp: Scanning for PnP cards... isapnp: No Plug & Play device found PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12 serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A 00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A 00:0a: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A floppy0: no floppy controllers found RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize loop: loaded (max 8 devices) mice: PS/2 mouse device common for all mice NET: Registered protocol family 2 input: AT Translated Set 2 keyboard as /class/input/input0 IP route cache hash table entries: 4096 (order: 2, 16384 bytes) TCP established hash table entries: 16384 (order: 5, 196608 bytes) TCP bind hash table entries: 16384 (order: 5, 196608 bytes) TCP: Hash tables configured (established 16384 bind 16384) TCP reno registered TCP bic registered NET: Registered protocol family 1 NET: Registered protocol family 10 lo: Disabled Privacy Extensions IPv6 over IPv4 tunneling driver NET: Registered protocol family 17 Using IPI No-Shortcut mode ACPI wakeup devices: PCI0 PCI1 UAR1 UAR2 PS2K PS2M USB0 USB1 MMAC ACPI: (supports S0 S1 S3 S4 S5) RAMDISK: Compressed image found at block 0 input: ImExPS/2 Generic Explorer Mouse as /class/input/input1 VFS: Mounted root (ext2 filesystem). Initial RAMDISK Loading Modules... Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx NFORCE: IDE controller at PCI slot 0000:00:09.0 NFORCE: chipset revision 195 NFORCE: not 100% native mode: will probe irqs later NFORCE: BIOS didn't set cable bits correctly. Enabling workaround. NFORCE: 0000:00:09.0 (rev c3) UDMA100 controller ide0: BM-DMA at 0xb800-0xb807, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xb808-0xb80f, BIOS settings: hdc:DMA, hdd:pio hda: HDS722580VLAT20, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hdc: LITE-ON COMBO LTC-48161H, ATAPI CD/DVD-ROM drive ide1 at 0x170-0x177,0x376 on irq 15 hda: max request size: 1024KiB hda: 156301488 sectors (80026 MB) w/1794KiB Cache, CHS=16383/255/63, UDMA(100) hda: cache flushes supported hda: hda1 hda2 hda3 hda4 hdc: ATAPI 48X DVD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 ide-floppy driver 0.99.newide Emulex LightPulse Fibre Channel SCSI driver 8.1.0 Copyright(c) 2004-2005 Emulex. All rights reserved. QLogic Fibre Channel HBA Driver seagate: ST0x/TMC-8xx not detected. st: Version 20050830, fixed bufsize 32768, s/g segs 256 qlogicfas: no cards were found, please specify I/O address and IRQ using iobase= and irq= optionsFailed initialization of WD-7000 SCSI card! 3ware 9000 Storage Controller device driver for Linux v2.26.02.004. sym53c416.c: Version 1.0.0-ac scsi: <fdomain> Detection failed (no card) GDT-HA: Storage RAID Controller Driver. Version: 3.04 GDT-HA: Found 0 PCI Storage RAID Controllers 3ware Storage Controller device driver for Linux v1.26.02.001. imm: Version 2.05 (for Linux 2.4.0) ipr: IBM Power RAID SCSI Device Driver version: 2.1.0 (October 31, 2005) Adaptec aacraid driver (1.1-4 Feb 12 2006 18:22:35) nsp32: loading... osst :I: Tape driver with OnStream support version 0.99.3 osst :I: $Id: osst.c,v 1.73 2005/01/01 21:13:34 wriede Exp $ NCR53c406a: no available ports found megaraid cmm: 184.108.40.206 (Release Date: Mon Mar 7 00:01:03 EST 2005) megasas: 00.00.02.00-rc4 Fri Sep 16 12:37:08 EDT 2005 megaraid: 220.127.116.11 (Release Date: Mon Mar 07 12:27:22 EST 2005) Loading Adaptec I2O RAID: Version 2.4 Build 5go Detecting Adaptec I2O RAID controllers... Fusion MPT base driver 3.03.04 Copyright (c) 1999-2005 LSI Logic Corporation Fusion MPT misc device (ioctl) driver 3.03.04 mptctl: Registered with Fusion MPT base driver mptctl: /dev/mptctl @ (major,minor=10,220) Fusion MPT SAS Host driver 3.03.04 Fusion MPT SPI Host driver 3.03.04 Fusion MPT FC Host driver 3.03.04 Compaq SMART2 Driver (v 2.6.0) HP CISS Driver (v 2.6.8) JFS: nTxBlock = 3765, nTxLock = 30127 SGI XFS with ACLs, security attributes, large block numbers, no debug enabled SGI XFS Quota Management subsystem ReiserFS: hda3: found reiserfs format "3.6" with standard journal ReiserFS: hda3: using ordered data mode ReiserFS: hda3: journal params: device hda3, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: hda3: checking transaction log (hda3) ReiserFS: hda3: Using r5 hash to sort names Initial RAMDISK Loading Completed... Freeing unused kernel memory: 252k freed INIT: version 2.86 booting [1;34m > [1;37mArch Linux v0.7.1 [1;34m([1;36mNoodle[1;34m) [1;0m [1;34m > [1;37m[1;36mhttp://www.archlinux.org[1;0m [1;34m > [1;37mCopyright 2002-2006 Judd Vinet[1;0m [1;34m > [1;37mDistributed under the GNU General Public License (GPL)[1;0m [1;30m ------------------------------ [1;34m:: [1;37mStarting UDev Daemon[1;0m [-9G [1;34m[[0;36mBUSY[1;34m][1;0m /etc/rc.d/functions: line 78: /dev/null: Read-only file system [-9G [1;34m[[1;31mFAIL[1;34m][1;0m /etc/rc.sysinit: line 44: /dev/null: Read-only file system [1;34m:: [1;37mFreeing memory from Initial Ramdisk[1;0m [-9G [1;34m[[0;36mBUSY[1;34m][1;0m /etc/rc.sysinit: line 57: /dev/null: Read-only file system /etc/rc.sysinit: line 58: /dev/null: Read-only file system [-9G [1;34m[[1;37mDONE[1;34m][1;0m [1;34m:: [1;37mActivating Swa INIT: Entering runlevel: 3 [1;34m:: [1;37mStarting Syslog-NG[1;0m [-9G [1;34m[[0;36mBUSY[1;34m][1;0m [-9G [1;34m[[1;37mDONE[1;34m][1;0m [1;34m:: [1;37mStarting Network[1;0m [-9G [1;34m[[0;36mBUSY[1;34m][1;0m SIOCSIFADDR: No such device eth0: unknown interface: No such device SIOCSIFNETMASK: No such device SIOCSIFBRDADDR: No such device eth0: unknown interface: No such device SIOCADDRT: Network is unreachable [-9G [1;34m[[1;31mFAIL[1;34m][1;0m [1;34m:: [1;37mMounting Network Filesystems[1;0m [-9G [1;34m[[0;36mBUSY[1;34m][1;0m [-9G [1;34m[[1;37mDONE[1;34m][1;0m [1;34m:: [1;37mStarting Cron Daemon[1;0m [-9G [1;34m[[0;36mBUSY[1;34m][1;0m [-9G [1;34m[[1;37mDONE[1;34m][1;0m INIT: Id "c1" respawning too fast: disabled for 5 minutes INIT: Id "c2" respawning too fast: disabled for 5 minutes INIT: Id "c3" respawning too fast: disabled for 5 minutes INIT: Id "s1" respawning too fast: disabled for 5 minutes INIT: Id "c4" respawning too fast: disabled for 5 minutes INIT: Id "c5
Init failures formatted a bit better:
:: Starting UDev Daemon 9G [BUSY] /etc/rc.d/functions: line 78: /dev/null: Rem 9G [FAIL] /etc/rc.sysinit: line 44: /dev/null: Read-only file system :: Freeing memory from Initial Ramdisk 9G [BUSY] /etc/rc.sysinit: line 57: /dm /etc/rc.sysinit: line 58: /dev/null: Read-only file system 9G [DONE] INIT: Entering runlevel: 3 :: Starting Syslog-NG 9G [BUSY] 9G [DONE] :: Starting Network 9G [BUSY] SIOCSIFADDR: No such device eth0: unknown interface: No such device SIOCSIFNETMASK: No such device SIOCSIFBRDADDR: No such device eth0: unknown interface: No such device SIOCADDRT: Network is unreachable 9G [FAIL] :: Mounting Network Filesystems 9G [BUSY] 9G [DONE] :: Starting Cron Daemon 9G [BUSY] 9G [DONE]
Well, during one reinstallation I took notes so that I could itemize what I had to do to get a good boot.
One note I made was:
after package install step, only thing in /dev was null
-- had to mknod -m 660 console c 5 1
The whole problem was apparently whatever created /dev/null to begin with... I looked for it, saw it was there, and so only created /dev/console manually.
This is what ls -l showed for /dev/null to begin with:
-rw-r--r-- 1 root root 31 Apr 2 2006 null
So I did:
rm -f /dev/null mknod -m 666 /dev/null c 1 3
which now makes ls -l produce:
crw-rw-rw- 1 root root 1, 3 2006-04-02 03:12 null
I can now boot successfully. Any idea why /dev/null was apparently not created correctly to begin with?
And just to sum up, this is what I did to do an Arch FTP install with Minimax:
-- Verify net connectivity and fix as required -- Partition the hard disk -- Create file systems -- Mount partitions at /mnt/arch -- Start Arch setup -- /arch/setup -- Complete installer steps 2-6 -- exit installer -- chroot /mnt/arch -- mknod -m 660 /dev/console c 5 1 -- rm -f /dev/null (if it exists) -- mknod -m 666 /dev/null c 1 3 -- mknod /dev/zero c 1 5 -- mkinitrd auto -- exit (back to minimax) -- Run grub and setup boot partition -- grub -- device (hd0) /dev/hda -- root (hd0,0) -- setup (hd0) -- quit -- Remove minimax cd and reboot into Arch
** doing the manual "mkinitrd auto" is because it fails during the kernel installation reporting that all loop devices were in use. I think that if I had created /mnt/arch/dev/zero before starting installation then mkinitrd would have worked during the kernel install.
Why you don't add this interesting info to the wiki?
Why you don't add this interesting info to the wiki?
Well, I was kind of thinking that some of these steps I had to perform were because I was just being a knuckle head and that someone would come on and set me straight.
Has anyone performed an FTP install from the most current Arch .iso? Does it work correctly if you do everything with the installer?
I might give that a shot tomorrow. If it goes anything like this install did, I think I would classify the Arch installer as being broken.
Current Minimax have problem with /dev/null and /dev/console fixed.
Problems was that base packages are installed in cycle, /dev/null is created in udev package. But udev is installed BEFORE some utils which are needed and /dev/null creating fails. You must call /sbin/migrate-udev after installation, or install udev at the end.
Google is watching...
Great Trained.Monkey I'll download the new version when I get home and give it a shot.
What about the kernel installation failing to make the initrd image successfully because of the "all loop devices in use" error (corrected by manully creating /dev/zero and re-running mkinitrd auto) - is this fixed also or is it something I was doing wrong?
Redid the install tonight with the latest Minimax version. Everything worked flawlessly except for the grub installation. The installer said that grub was installed successfully but on the reboot I got dumped into the grub command line.
I redid the grub setup manually and everything is good.
Thanks for Minimax!
I have simular problem with grub, I will compare it with original install cd and see problems.
I am planing add debian and slackware installer...
Google is watching...
Make good docs so we can port it to x86_64 ;-)