From owner-freebsd-current@FreeBSD.ORG Mon Jan 6 23:36:42 2014 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3612BA25 for ; Mon, 6 Jan 2014 23:36:42 +0000 (UTC) Received: from mail-ob0-f172.google.com (mail-ob0-f172.google.com [209.85.214.172]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E05CB16F0 for ; Mon, 6 Jan 2014 23:36:41 +0000 (UTC) Received: by mail-ob0-f172.google.com with SMTP id gq1so19100250obb.17 for ; Mon, 06 Jan 2014 15:36:35 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=tdqQkpVFSzc1wB2aLb31I/0cyTGWwceKWW2x8ZPSFRo=; b=OyJFJkQJXOzi8gkg7ZsOWDpp/JV68WjAgesD9MwvG3fwu+p9zdmcQHDi5IQm5MycZp ArsdrzuxZiSjTZxQUqg77kxK9gMjiuNBcVEwHS0jizVb7Eqw0PppICKxG7bosKHSBiF6 rjFVZ2GZmQ+z2sLx2glIYkYsiLzmoxQstwxya8C7z0mspcOyINTod8azfqD+gARbP+I4 IWcCGMMFDN5qBe3vpOdbLbSdc6FLw51Crn14bPnQP4fj/JsFaLgYbs1/4jkbE+JFV9El QXeBa9YJ9e5wOPc4drUe3JS71GopYyodEErFHmz2tzXW5Bd9tjsTTuO1FPZbgKhb59hg V0bg== X-Gm-Message-State: ALoCoQlCCllnUtcg53+qvKMsyb03md/xhXDRP29k0pLTVeEX2BFbWUnuJWJZE9d3kh/TPo3pjj1P X-Received: by 10.60.34.3 with SMTP id v3mr2805226oei.67.1389051395471; Mon, 06 Jan 2014 15:36:35 -0800 (PST) Received: from Michaels-MacBook-Pro.local (c-98-246-202-204.hsd1.or.comcast.net. [98.246.202.204]) by mx.google.com with ESMTPSA id ej7sm87153606obb.8.2014.01.06.15.36.34 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 06 Jan 2014 15:36:34 -0800 (PST) Message-ID: <52CB3E01.8040605@callfortesting.org> Date: Mon, 06 Jan 2014 15:36:33 -0800 From: Michael Dexter User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Nathan Whitehorn , Jilles Tjoelker Subject: Re: [CFT] bsdinstall and zfsboot enhancements References: <5275C597.6070702@freebsd.org> <97944047-D575-4E2E-B687-9871DFE058E3@fisglobal.com> <52769CFE.5080707@freebsd.org> <5281340E.8080009@callfortesting.org> <52813E53.20403@freebsd.org> <5281441E.7060806@freebsd.org> <529A6862.7060308@freebsd.org> <20131201123442.GA6818@stack.nl> <52C9C8C3.7050108@freebsd.org> In-Reply-To: <52C9C8C3.7050108@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Mailman-Approved-At: Tue, 07 Jan 2014 00:01:55 +0000 Cc: Devin Teske , Current Current , "Teske, Devin" , Peter Grehan , "freebsd-arch@freebsd.org" X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Jan 2014 23:36:42 -0000 On 1/5/14 1:04 PM, Nathan Whitehorn wrote: > On 12/01/13 07:34, Jilles Tjoelker wrote: >> On Sat, Nov 30, 2013 at 04:36:18PM -0600, Nathan Whitehorn wrote: >>> This took much longer than I'd anticipated, but the patch to init is >>> attached. I chose not to make the changes to init rather than >>> getttyent() and friends in libc, which I am open to revisiting. >> lib/libpam/modules/pam_securetty/pam_securetty.c calls getttynam(3) and >> will not allow root login on a "fake" TTY that getttynam() does not >> know. This module is enabled by default for the "login" service. >> >> So it is probably better to patch libc rather than init. > > OK, here's a revised patch. This one is shorter and works by introducing > an "auto" flag (ideas for names appreciated) that means "on" if the line > is an active console and "off" otherwise. Note that the behavior is now: > - ttys marked "off" stay off > - ttys marked "on" stay on > - ttys marked "auto" are enabled iff they are console devices > - ttys not present in /etc/ttys stay off > > This behavior change is much easier to implement when doing it in libc > for various structural reasons and allows the terminal type, etc. to be > specified in the usual way. > >>> The behavior changes are as follows: >>> If the "console" device in /etc/ttys in marked "on", instead of opening >>> /dev/console, init will loop through the active kernel console devices, >>> and for each will: >>> 1. If the kernel console device is in /etc/ttys and marked "on", it >>> already has a terminal and will be ignored. >>> 2. If marked "off", that is an explicit statement that a console is not >>> wanted and so it will be ignored. >>> 3. If not present in /etc/ttys, init will run getty with whatever >>> parameters "console" has. >> This seems to make sense. >> >>> (3) is the main behavioral change. No changes in behavior will occur if >>> /etc/ttys is not modified. If we turn on "console" by default, it will >>> usually have no effect instead of trying to run multiple gettys, which >>> is new. If we then also comment out the ttyu0 line, instead of marking >>> it "off", the result will be the conditional presence of a login prompt >>> on the first serial port depending on whether it is an active console >>> device for the kernel. I believe this is the behavior we are going for. >> The terminal type for the console entry should probably be changed to >> something other than "unknown" to reduce annoyance. >> >>> Comments and test results would be appreciated. >> As a preparatory patch, you could remove se_index and session_index from >> init. They are only used to warn about a changed slot number in utmp(5) >> which is irrelevant with utmpx. This noise warning would also appear >> in most cases when changing from a "fake" console entry to a real line >> in /etc/ttys. Also, if you do decide to fake ttys entries in init rather >> than libc, the patch to init will be simpler. >> > > With the new patch, this is indeed the case: no changes to init are > necessary at all. This does not change any behavior unless explicitly > requested in /etc/ttys, so unless there are any objections in the next > couple days, I will commit it. > -Nathan Hello all, Not sure if everyone knows that Nathan posted a patched 11-current ISO: http://people.freebsd.org/~nwhitehorn/auto-console.iso I have fetched and booted to this with my "iso" mode in my scripts and IT WORKS. Install from ISO and boot as normal. Only glitch which I haven't seen for some time: The resulting guest console is shortened by one line with this persistent string at the bottom: /boot/kernel/kernel text=0xf45a98 data= .... syms= ... This persists after VM reboot, goes away with bhyveload and returns for the next VM boot. Okay, a second glitch upon second boot. The root prompt reads: login: Jan 6