Since a few day ago, it's not possible to boot into a runlevel other than "default" when using the "softlevel" kernel option. For example, when writing: softlevel=boot in the Grub screen, the system boots into "default" anyway. I have different runlevels set up ("vmware", "kvm", "xen", "native", etc) and none of them work. This is a major loss of function. There's no way to boot into those runlevels anymore. I am not sure which specific update has broken it.
Created attachment 201569 [details] emerge --info
I'm assuming that this is an openrc bug/feature request, and am assigning accordingly. @Roy Marples: If this isn't you, feel free to drop yourself from CC.
Can someone actually confirm this? I see people added themselves to CC, but no one confirmed.
I can confirm that it works for me, so I have no idea why it doesn't work for you.
(In reply to comment #4) > I can confirm that it works for me, so I have no idea why it doesn't work for > you. Are you on ~arch? It doesn't happen on stable, only on ~arch (~amd64 here).
I tried this a couple weeks ago and it does not boot to the runlevel requested. It boots to the default runlevel regardless of what is put on the softlevel option. This did work a few months ago. Here is some info about my system: [ebuild R ] sys-boot/grub-0.97-r9 USE="ncurses -custom-cflags -netboot -static" And if it helps any: root@smoker / # emerge --info Portage 2.2_rc40 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.9_p20081201-r2, 2.6.25-gentoo-r9 i686) ================================================================= System uname: Linux-2.6.25-gentoo-r9-i686-AMD_Athlon-tm-_XP_2500+-with-gentoo-1.12.11.1 Timestamp of tree: Thu, 03 Sep 2009 11:15:01 +0000 app-shells/bash: 3.2_p39 dev-java/java-config: 2.1.8-r1 dev-lang/python: 2.5.4-r3, 2.6.2-r1 dev-util/cmake: 2.6.4-r2 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps y" FEATURES="assume-digests buildpkg distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS= <<SNIP>> LANG="en_US" LC_ALL="en_US.utf8" LDFLAGS="-Wl,-O1" LINGUAS="en_US en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_EXTRA_OPTS="--timeout=600" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="3dnow X aac acl acpi alsa amd arts artswrappersuid automount berkdb bzip2 cairo cddb cdr chroot cli cracklib crypt cups curl dbus dri dvd dvdr dvdread eds emboss encode esd evo exif fam fdftk flac fortran gdbm gif gimp gkrellm gphoto2 gpm gstreamer gtk hal hbci htmlhandbook iconv ipv6 isdnlog java javascript jbig jpeg jpeg2k justify kde ldap libnotify libwww logrotate loop-aes mad mikmod mmx mng mp3 mp4 mpeg mplayer mudflap ncurses nptl nptlonly nsplugin offensive ofx ogg opengl openmp pam parport pcre pdf perl png ppds pppd python qt3 qt3support qt4 quicktime readline realmedia reflection sdl seamonkey session spell spl sqlite sse ssl startup-notification svg sysfs syslog tcl tcpd thunar tiff tk truetype unicode usb vorbis webkit win32codecs wma wmf wmp x264 x86 xml xorg xv xvid yahoo zeroconf zlib" ALSA_CARDS="emu10k1" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" CAMERAS="canon ptp2" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LINGUAS="en_US en" SANE_BACKENDS="hp" USERLAND="GNU" VIDEO_CARDS="nvidia nv" Unset: CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTDIR_OVERLAY root@smoker / # I can reboot later today and test this again if needed. Just let me know either here or directly by email. I'll post what blows up. o_O Dale
verify your /proc/cmdline is correct and has softlevel= in it
(In reply to comment #7) > verify your /proc/cmdline is correct and has softlevel= in it "softlevel=boot" shows up in /proc/cmdline normally: root=/dev/sda2 rootfstype=ext4 quiet vga=0x0324 video=vesafb:mtrr:3,ywrap splash=verbose,fadein,fadeout,theme:livecd-2007.0 console=tty1 usbhid.mousepoll=2 softlevel=boot Which part of the system does the commandline parsing? Where do I need to look to track this down?
softlevel=boot makes no sense. /proc/cmdline reflects what the boot loader passed to the kernel (or what you hardcoded into your kernel .config -- check CMDLINE_BOOL in /proc/config.gz). once the kernel has been started, /proc/cmdline cannot be changed. make sure you're using latest grub and reinstall it (grub-install/etc...) if your grub.conf is correct.
I've emerged grub again (0.97-r9). Didn't help. Also: zgrep CMDLINE /proc/config.gz # CONFIG_CMDLINE_BOOL is not set
well, softlevel=boot still makes no sense at all (there is always a runlevel named "boot" and it is reserved). pick one that isnt actually reserved and review your /proc/cmdline again.
(In reply to comment #11) > well, softlevel=boot still makes no sense at all (there is always a runlevel > named "boot" and it is reserved). pick one that isnt actually reserved and > review your /proc/cmdline again. Hmm. I've copied the boot runlevel to boottest, and that one works :P Does "reserved" mean that even though I have /etc/runlevels/boot/ I can never boot into it?
"booting into boot" makes no sense. the "boot" runlevel is always processed first before moving on to the selected runlevel (softlevel). linux -> init -> rc boot -> rc $softlevel -> login
To my defense, it *did* make sense previously. softlevel=boot would result in stopping before going into "default" and there was absolutely nothing in the docs suggesting that boot was somehow special. I guess a news item about this change would have been a good idea :P
For future reference, if you want a runlevel that runs nothing more than is in "boot", you can mkdir /etc/runlevels/minimal to create an empty runlevel named "minimal", and just never put anything in it. You can then use "softlevel=minimal" to boot into the "minimal" runlevel instead of the "default" runlevel.