# Fresh install freezes when udev starts [Solved: nomodeset]

## BitJam

I'm making  a fresh install of Gentoo on a spare partition on my current Gentoo system.  

I made a copy of my existing world file, edited it and then emerged all of the packages in it on the new system from within a chroot.    It is a stable amd64 system.  I tried to minimize entries in the /etc/portage/package.* files on the new system.  IMO this is a good opportunity for me to clean out a lot of cruft.

I used the same kernel from my current system and just copied over /src/* and the modules directory.

When udev starts, the screen flashes and I lose the fbcondecor background.   I think this is from KMS kicking in.  

When udev starts up I get about six blank lines after the "waiting for" line and the whole system is frozen.  I have to use the big red switch to turn it off and then reboot.

I had created a /etc/udev/rules.d/80-net-name-slot.rules symlink to /dev/null so I could continue to use the eth0 name and the net.eth0 service.

Ironically, (or not) one of the main reasons I started over from scratch was to try using udev now that the hal-flash package is available.   My current system uses mdev.   I could switch to that or to eudev in the new system but I thought I would try to fix the udev problem first.   I thought I would first post about this problem in case it is useful to the devs since this is a fresh install.  Also, maybe I'm doing something stupid that is easy for someone else to spot.

```
 emerge --info udev

Portage 2.1.12.2 (default/linux/amd64/13.0/desktop, gcc-4.6.3, glibc-2.15-r3, 3.7.10-antix.4-fb+ x86_64)

=================================================================

                         System Settings

=================================================================

System uname: Linux-3.7.10-antix.4-fb+-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_5200+-with-gentoo-2.2

KiB Mem:     4051276 total,   2570024 free

KiB Swap:    8008364 total,   8008364 free

Timestamp of tree: Wed, 28 Aug 2013 03:30:01 +0000

ld GNU ld (GNU Binutils) 2.23.1

app-shells/bash:          4.2_p45

dev-java/java-config:     2.1.12-r1

dev-lang/python:          2.7.5-r2, 3.2.5-r2

dev-util/cmake:           2.8.10.2-r2

dev-util/pkgconfig:       0.28

sys-apps/baselayout:      2.2

sys-apps/openrc:          0.11.8

sys-apps/sandbox:         2.6-r1

sys-devel/autoconf:       2.13, 2.69

sys-devel/automake:       1.10.3, 1.11.6, 1.12.6

sys-devel/binutils:       2.23.1

sys-devel/gcc:            4.6.3

sys-devel/gcc-config:     1.7.3

sys-devel/libtool:        2.4-r1

sys-devel/make:           3.82-r4

sys-kernel/linux-headers: 3.7 (virtual/os-headers)

sys-libs/glibc:           2.15-r3

Repositories: gentoo x-portage

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="* -@EULA dlj-1.1 PUEL googleearth AdobeFlash-10.1 AdobeFlash-11.x AdobeFlash-10.3 Oracle-BCLA-JavaSE google-chrome MakeMKV-EULA"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=athlon64 -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"

CXXFLAGS="-march=athlon64 -O2 -pipe"

DISTDIR="/usr/portage/distfiles"

FCFLAGS="-O2 -pipe"

FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"

FFLAGS="-O2 -pipe"

GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo     http://chi-10g-1-mirror.fastsoft.net/pub/linux/gentoo/gentoo-distfiles/     http://gentoo.netnitco.net http://gentoo.mirrors.hoobly.com/     ftp://mirror.iawnet.sandia.gov/pub/gentoo/"

LANG="en_US.UTF-8"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

MAKEOPTS="-j3"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="3dnow 3dnowext X a52 aac acpi alsa amarok amd64 bash-completion berkdb bluray branding bzip2 cairo cdda cddb cdparanoia cdr cjk cli consolekit cracklib crypt cups cxx dbus djvu dri dts dvd dvdnav dvdr dvdread emboss emovix encode exif fam fbcon ffmpeg firefox flac fortran gdbm gif glitz gmp gpm gtk iconv icu id3 ieee1394 imagemagick java jpeg kpathsea lcms libnotify libwww lirc lm_sensors logitech-mouse mad mmx mmxext mng modules mp3 mp4 mpeg mplayer mudflap multilib musicbrainz ncurses nls nptl nsplugin objc ogg opengl openmp pam pango pcre pdf plotutils png policykit ppds python qt3support qt4 quicktime readline real ruby sdl session sockets spell sse sse2 ssl startup-notification svg tcltk tcpd tetex tidy tiff tk truetype udev udisks unicode upower usb vaapi vdpau vim-pager vim-syntax vorbis wxwidgets x264 xcb xcomposite xetex xine xinerama xml xmp xv xvid zlib" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="canon ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" LIRC_DEVICES="mceusb" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby19 ruby18" SANE_BACKENDS="net" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================

                        Package Settings

=================================================================

sys-fs/udev-204 was built with the following:

USE="firmware-loader gudev hwdb introspection keymap kmod openrc -acl -doc (-selinux) -static-libs"
```

----------

## BitJam

I solved this problem by adding the "nomodeset" boot parameter.  I don't know why KMS would cause the system to freeze and I don't know why I need "nomodeset" on the new system and not the old one but this does solve the problem.  I'm using the same kernel and modules directory.  I copied the Grub entry and just substituted a new partition in the root=xxx boot parameter.

----------

## Logicien

Using the nomodeset kernel parameter is just a workaround not a solution for framebuffer drivers who support KMS. A possible reason why you have to do that can be that the kernel, modules and initramfs(?) of your first Gentoo cannot deal with more different packages files in your new installation.

I suggest that you compile your kernel in your new installation and use it with it. That will tell you if the problem is the kernel of your first installation or not when you use it with your new installation.

----------

## BitJam

Thank you for the prompt reply.

 *Logicien wrote:*   

> Using the nomodeset kernel parameter is just a workaround not a solution for framebuffer drivers who support KMS.

 

I don't think this is true.  What I've seen is that KMS simply does not work on some older hardware.   That's why many distros offer a "safe video" option on their live media which adds the "nomodeset" boot option.  Freezing the computer instead of just messing up the screen seems to be a new trick which is why I first suspected udev.    

I don't understand what re-compiling the kernel will accomplish ...   Ah, that suggestion led me to the answer.  In the old system I blacklist the nouveau driver in /etc/modprobe.d/blacklist.conf.   That's why the old system doesn't need "nomodeset" but the new one does.  I'm using a general purpose kernel config from another distro which is why I have the nouveau driver installed even though it does not play nice with my hardware.   

I don't know why, but it helps to get input from someone else instead of sticking with the ideas that rattle around in my brain.  Thank you for your help.

----------

