# booting single user mode fails



## bsd64 (Jun 18, 2009)

Hello,

I am unable to boot into single user mode with a custom kernel. The machine reaches the point of user input: 





> Enter full pathname of shell or RETURN for bin/sh:


 But the machine does not respond to the keyboard and seems to be locked. The GENERIC kernel succeeds in booting into single user mode. 

The wrinkle is that the custom kernel IS able to boot up fine using option 1 (Normal boot). Any ideas as to which type of drivers I should investigate that would cause single user mode to fail while allowing normal boot?  

Please advise


----------



## bsd64 (Jun 18, 2009)

*OS description*

This post refers to new install of FreeBSD 7.2 Release for amd64. There is only the root user. Only software added: nano and cvsup-without-gui.


----------



## SirDice (Jun 18, 2009)

Have a look in your BIOS, make sure "Legacy USB" (or something similar) is turned on. That will make your USB keyboard act and work like a PS/2 one if the OS doesn't support USB.

Also make sure your kernel has support for uhid and ukbd.


----------



## crsd (Jun 18, 2009)

Paste your custom kernel config.


----------



## bsd64 (Jun 19, 2009)

I checked my BIOS settings as you suggested:


> make sure "Legacy USB" (or something similar) is turned on


However, the only option was to activate USB (1.1 + 2.0). So that seems a dead end. I also verified that I had support for uhid and ukbd.

Here is my kernel config file:

```
#
# FROG -- Custom kernel configuration file for FreeBSD/amd64
#
# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.484.2.19.2.1 2009/04/15 03:14:26 kensmith Exp $

cpu             HAMMER
ident           FROG

# To statically compile in device wiring instead of /boot/device.hints
#hints          "GENERIC.hints"         # Default places to look 

makeoptions     DEBUG=-g                # Build kernel with 

options         SCHED_ULE               # ULE scheduler
options         PREEMPTION              # Enable kernel thread 
options         INET                    # InterNETworking
options         INET6                   # IPv6 communications 
options         SCTP                    # Stream Control 
options         FFS                     # Berkeley Fast 
options         SOFTUPDATES             # Enable FFS soft 
options         UFS_ACL                 # Support for access 
options         UFS_DIRHASH             # Improve performance on 
options         UFS_GJOURNAL            # Enable gjournal-based 
options         MD_ROOT                 # MD is a potential root 
options         NFSCLIENT               # Network Filesystem 
options         NFSSERVER               # Network Filesystem 
options         NFSLOCKD                # Network Lock Manager
options         NFS_ROOT                # NFS usable as /, 
options         MSDOSFS                 # MSDOS Filesystem
options         CD9660                  # ISO 9660 Filesystem
options         PROCFS                  # Process filesystem 
options         PSEUDOFS                # Pseudo-filesystem 
options         GEOM_PART_GPT           # GUID Partition Tables.
options         GEOM_LABEL              # Provides labelization
options         COMPAT_43TTY            # BSD 4.3 TTY compat 
options         COMPAT_IA32             # Compatible with i386 
options         COMPAT_FREEBSD4         # Compatible with 
options         COMPAT_FREEBSD5         # Compatible with 
options         COMPAT_FREEBSD6         # Compatible with 
options         SCSI_DELAY=5000         # Delay (in ms) before 
options         KTRACE                  # ktrace(1) support
options         STACK                   # stack(9) support
options         SYSVSHM                 # SYSV-style shared 
options         SYSVMSG 
options         SYSVSEM                 # SYSV-style semaphores
options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B 
options         KBD_INSTALL_CDEV        # install a CDEV entry 
options         ADAPTIVE_GIANT          # Giant mutex is 
options         STOP_NMI                # Stop CPUS using NMI 
options         AUDIT                   # Security event auditing
#options        KDTRACE_FRAME           # Ensure frames are 
#options        KDTRACE_HOOKS           # Kernel DTrace hooks

# Make an SMP-capable kernel by default
options         SMP                     # Symmetric 

# CPU frequency control
device          cpufreq

# CPU temperature sensor added by root
device          coretemp

# Bus support.
device          acpi
device          pci

# ATA and ATAPI devices
device          ata
device          atadisk         # ATA disk drives
device          ataraid         # ATA RAID drives
device          atapicd         # ATAPI CDROM drives
#device         atapifd         # ATAPI floppy drives
#device         atapist         # ATAPI tape drives
options         ATA_STATIC_ID   # Static device numbering

# SCSI Controllers
device          ahc             # AHA2940 and onboard AIC7xxx 
options         AHC_REG_PRETTY_PRINT    # Print register 
                                        # output.  Adds ~128k to 
device          ahd             # AHA39320/29320 and onboard 
options         AHD_REG_PRETTY_PRINT    # Print register 
                                        # output.  Adds ~215k to 
device          amd             # AMD 53C974 (Tekram DC-390(T))
device          hptiop          # Highpoint RocketRaid 3xxx 
device          isp             # Qlogic family
#device         ispfw           # Firmware for QLogic HBAs- 
device          mpt             # LSI-Logic MPT-Fusion
#device         ncr             # NCR/Symbios Logic
device          sym             # NCR/Symbios Logic (newer 
device          trm             # Tekram DC395U/UW/F DC315U 

device          adv             # Advansys SCSI adapters
device          adw             # Advansys wide SCSI adapters
device          aic             # Adaptec 15[012]x SCSI 
device          bt              # Buslogic/Mylex MultiMaster 

# SCSI peripherals
device          scbus           # SCSI bus (required for SCSI)
device          ch              # SCSI media changers
device          da              # Direct Access (disks)
device          sa              # Sequential Access (tape etc)
device          cd              # CD
device          pass            # Passthrough device (direct 
device          ses             # SCSI Environmental Services 

# atkbdc0 controls both the keyboard and the PS/2 mouse
device          atkbdc          # AT keyboard controller
device          atkbd           # AT keyboard
device          psm             # PS/2 mouse

#device         kbdmux          # keyboard multiplexer

device          vga             # VGA video card driver

device          splash          # Splash screen and screen saver 
# syscons is the default console driver, resembling an SCO 
device          sc

# Serial (COM) ports
#device         sio             # 8250, 16[45]50 based serial 
#device         uart            # Generic UART driver

# Parallel port
device          ppc
device          ppbus           # Parallel port bus (required)
device          lpt             # Printer
#device         plip            # TCP/IP over parallel
#device         ppi             # Parallel port interface device
#device         vpo             # Requires scbus and da

# PCI Ethernet NICs.
#device         de              # DEC/Intel DC21x4x (``Tulip'')

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device          miibus          # MII bus support
device          dc              # DEC/Intel 21143 and various 
device          nfe             # nVidia nForce MCP on-board 

# Pseudo devices.
device          loop            # Network loopback
device          random          # Entropy device
device          ether           # Ethernet support
device          sl              # Kernel SLIP
device          ppp             # Kernel PPP
device          tun             # Packet tunnel.
device          pty             # Pseudo-ttys (telnet etc)
device          md              # Memory "disks"
device          gif             # IPv6 and IPv4 tunneling
device          faith           # IPv6-to-IPv4 relaying 
device          firmware        # firmware assist module

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device          bpf             # Berkeley packet filter

# USB support
device          uhci            # UHCI PCI->USB interface
device          ohci            # OHCI PCI->USB interface
device          ehci            # EHCI PCI->USB interface (USB 
device          usb             # USB Bus (required)
#device         udbp            # USB Double Bulk Pipe devices
device          ugen            # Generic
device          uhid            # "Human Interface Devices"
device          ukbd            # Keyboard
device          ulpt            # Printer
device          umass           # Disks/Mass storage - Requires 
device          ums             # Mouse
#device         ural            # Ralink Technology RT2500USB 
#device         urio            # Diamond Rio 500 MP3 player
device          uscanner        # Scanners

# USB Serial devices
#device         ucom            # Generic com ttys
#device         uark            # Technologies ARK3116 based 
#device         ubsa            # Belkin F5U103 and compatible 
#device         ubser           # BWCT console serial adapters
#device         uftdi           # For FTDI usb serial adapters
#device         uipaq           # Some WinCE based devices
#device         uplcom          # Prolific PL-2303 serial 
#device         uslcom          # SI Labs CP2101/CP2102 serial 
#device         uvisor          # Visor and Palm devices
#device         uvscom          # USB serial support for DDI 

# FireWire support
device          firewire        # FireWire bus code
device          sbp             # SCSI over FireWire (Requires 
device          fwe             # Ethernet over FireWire 
device          fwip            # IP over FireWire (RFC 
device          dcons           # Dumb console driver
device          dcons_crom      # Configuration ROM for
```

Please advise & Thanks for the replies!


----------



## SirDice (Jun 19, 2009)

It's most likely a BIOS issue. I have something similar with my G15. I can choose which OS to boot in the bootmanager but I cannot use the keyboard during the menu. If I use a temporary PS/2 keyboard to pick single usermode once the kernel is loaded I can use the USB keyboard again.

Have a look at your BIOS USB options. Perhaps there's a BIOS update even.


----------



## crsd (Jun 19, 2009)

If keyboard works with GENERIC and doesn't with your custom kernel, the following line is the main suspect here 

#device         kbdmux          # keyboard multiplexer

Try uncommenting it.


----------



## bsd64 (Jun 19, 2009)

*PS/2 keyboard works*

Switching to a PS/2 keyboard allows user input in single user mode.

I will try uncommenting 
	
	



```
#device kbdmux # keyboard multiplexer
```
 as you suggest and report back on Sunday or Monday.

Many thanks!


----------



## bsd64 (Jun 21, 2009)

*uncommenting #device kbdmux solves problem*

Thank you for your help everyone!

I uncommented #device kbdmux in my kernel configuration file. I rebuilt and installed the kernel which now includes the kbdmux driver. This solved the problem.

Many thanks!


----------

