From owner-freebsd-questions@FreeBSD.ORG Sat Apr 25 23:46:05 2009 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1428A106564A for ; Sat, 25 Apr 2009 23:46:05 +0000 (UTC) (envelope-from tajudd@gmail.com) Received: from qw-out-2122.google.com (qw-out-2122.google.com [74.125.92.24]) by mx1.freebsd.org (Postfix) with ESMTP id BEAB88FC08 for ; Sat, 25 Apr 2009 23:46:04 +0000 (UTC) (envelope-from tajudd@gmail.com) Received: by qw-out-2122.google.com with SMTP id 3so1290432qwe.7 for ; Sat, 25 Apr 2009 16:46:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:message-id:subject:to:content-type; bh=5K+Mph3PlpoKWiRKdEtaZKPyQPZm9TUiv8+XAbKeFqY=; b=WKkoUjy17vZ98cRVy16vEB4I5mliZk0O9ChYTfuBh+UA7NMoATL7zf3kPmW4j+dxcE +4DDQHCGucmZciWhdWxRK7mToqjLHF6MlJtD7L5m92nLTc8i1R5dAx2SaJK+EKkzXMDd kYGNMSYe6eZS3b5y4K+cwxuXaEUaa65vc8JN4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=QGhKeap8QZ4fcHeYmsVQQ0DY+adneo8CcP2wQGD9YzCctzrPvckeOmON1mWZhLBbiw xQjaED8eZqTAZWTicA8bzHzlzNKAhGUbnSH4JlAdRciYOH+DMBYZ3eCsnmFwql4Jkk7o 42uV6Rr43F3OU5bvjrGkzBlBEYIMCFWL+upAk= MIME-Version: 1.0 Received: by 10.220.44.206 with SMTP id b14mr7647037vcf.55.1240703164104; Sat, 25 Apr 2009 16:46:04 -0700 (PDT) In-Reply-To: References: From: Tim Judd Date: Sat, 25 Apr 2009 17:45:49 -0600 Message-ID: To: FreeBSD Questions Mailing List Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Re: Modern FreeBSD Installer? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Apr 2009 23:46:05 -0000 Reading the second half of these mailings got me thinking. Thinking of ways to detect what CAN be done, and what CAN'T -- based entirely on the hardware at boot. I think that we might come to a middle ground to get something working. Here's my thought process right now, with hopefully ample samples to example my angle (that was fun to say). It's based on two principles. First is the CPU class. If it's a 486 or 586, run a pure dialog(3) interface. If it's a slow 686 (and the fudge factor to define slow is based on Xorg's *recommended* CPU specs + the software installation CPU/RAM needs), run the dialog(3) interface. If it's a fast 686, default to a X environment. Second (which ties into the first) is the hardware that was probed during boot-time. If a /dev entry (or even some sysctl) exists for a pci/agp/pci-e device, it can run a graphical installer. If it finds none of the graphical adapters, and sees serial ports, enable the dialog(3) as well. I feel like some pseudo-code might help paint the picture more. text-mode_install = graphic-mode_install = false if (CPUCLASS<=586 || CPUSPEED<=(Xorg-suggested-minimums+install requirements)) { set text-mode_install true } else { set graphic-mode_install true } if (found(VGA-graphics) && graphic-mode_install) { exec xinstall } else { # enable console installer exec sysinstall } I seem to find this very logical and can't (yet) see any flaws with doing this. sysinstall is built, we'd just need to maintain it and create the x-based installer. Run it with a minimalist (twm?) startup so we don't waste time booting. I've also thought about the concept of a web-ui installer, even if it's run from the local machine. The benefit of a webui installer is that you can give the disk to someone, tell them to put it up on a publically available IP address and just sit back and let it run. but I ramble on.... And also brainstorming now has brought me another idea about installing base with the concerns Jordan Hubbard wrote in 2000 mentioned in this thread. Again based on the hardware probed (this one being the amount of RAM in the box, in contrast to the amount of disk space needed to install on disk), create a in-ram disk as the staging area when you write to disk. The other idea is to use dump/restore instead of tar files. It is possible to have a 3GHz machine with 256MB ram as a valid combination, but when bin distribution is about 128MB in size, and kernel distribution is 128MB in size, and blindly running an X install -- not wise. Last idea is to do similar to what Ubuntu (used to) do. Provide a X-based installer CD and a console-based installer CD. I'd be happy to provide feedback; these were brainstorming ideas and would really like to see progress move toward a more eye-candy installer. Thanks.