Installer program for FreeBSD-9.0?
josh at tcbug.org
Thu Dec 9 13:13:40 UTC 2010
On Dec 8, 2010, at 9:07 PM, Polytropon <freebsd at edvax.de> wrote:
> On Wed, 08 Dec 2010 23:48:11 +1000, Da Rock <freebsd-questions at herveybayaustralia.com.au> wrote:
>> On 12/08/10 11:26, Polytropon wrote:
>>> On Wed, 08 Dec 2010 00:09:24 +0100, "Julian H. Stacey"<jhs at berklix.com> wrote:
>>>> My comments/ wish list
>>>> - One text mode (non bitmap graphical) browser: /usr/ports/www/lynx
>>> The lynx browser, due to its "special" key handling, does not
>>> appeal to novice users. NO text mode browser gives a "first
>>> sight effect" that will "convince" a user he's installing a
>>> modern OS. Sounds stupid, I know.
>>> As I said, the way the user interacts with the browser does
>>> determine how fast he gets through the installation. Learning
>>> the browser (instead of just pressing the keys shown on the
>>> screen) could make things look worse.
>>> On the other hand, with the ability of X to run without
>>> configuration on recent hardware, what's wrong with running
>>> X with a graphical web browser - if the user DECIDED that
>>> way? Of course, this decision is the FIRST step in the install
>>> Install method
>>> T -> traditional text mode installer (sysinstall)
>>> (this one does not have all the options)
>>> W -> web-based installer in text mode
>>> (typical for professional users)
>>> G -> web-based installer in graphics mode
>>> (typical for novice users)
>>> R -> remote installation
>>> (just starts the server)
>>> S -> shell
>>> (dialog shell access to live system)
>>> Enter choice: _
>>> Just a simple idea.
>> I like that approach- works for me anyway...
> Let me add that it would be good to default do an action
> after a certain time (e. g. 60 seconds). This default should
> be the preparation for remote installation as this is the
> obvious choice when no interaction is done - because it
> maybe is not possible (like for headless servers). So
> you put in the installation media (CD or USB stick), wait
> a minute, and then remotely access the installer.
>> Accessibility should be foremost at this level and above.
> I would also like to see it that way; sadly, "market share"
> oriented development doesn't share this thought. You can
> make money on all the healthy users, there's plenty of
> them. Users with disabilites are uninteresting, from a
> "marketing" point of view. Users in niche markets are
> uninteresting, too.
>> The legalities
>> themselves are becoming hairy these days, and considering the point that
>> we are trying to push accessibility in terms of applications (such as
>> issues with flash, to name one) using physical accessibility as a
>> parallel argument we should be setting an example as well.
> Accessibility on the web is just one point. Operating systems,
> the backbones of all the dancing bunnies, should be a good
> example of how to make information accessible to the widest
> amount of people. This includes the idea of NOT cutting out
> those who do not have the ability to access a graphical
> installer: Not because they don't want to use it, but because
> they don't have the means to access it.
>> That said, there is no reason why can't make it look as pretty as we can
>> without compromising this principle :)
> GUI installer, remote access and not rising barriers does not
> contradict. If done properly, it can benefit both the professional
> users AND those who judge at first sight.
I'm going to weigh in now. :)
If you want to install FreeBSD using X with a pretty GUI, you can do that today. Use a PC-BSD install DVD. There is a radio button in the installer to make it install plain FreeBSD.
pc-sysinstall is in HEAD now, and it is completely functional. It's been doing PC-BSD and FreeBSD installs for a long time now.
The way it works is it does an install based on a config file, so really the work on the front end is building a tool that will build a config file.
The real issue is that you really want a volume and disk layout "wizard" of sorts. The ability to take some disks, maybe make a gmirror, or a ZFS RAIDZ, or even use glabel on a single disk, then layout some filesystems on that, then do the install.
It turns out that this is really simple to do in a web app, and not quite so simple to do in curses. You want things like constraining choices based on previous input. For instance you can't make a RAID-Z from two devices.
As far as floppy based installs and all of that, the last successful install via floppy that I can find documented was in the 3.x era, in the 90's. That was over 10 years ago. Booting from floppy is pretty rare these days, and I submit that a system that has no choice but to boot from floppy isn't going to be able to run FreeBSD 9 anyways. My Pentium Pro can't boot anything newer than 4.11, and *that* has USB ports.
Anything with a chance of running FreeBSD 9 can boot from USB or PXE. If it's a small modern embedded system you're using dd to put an image on it's flash card. Other situations fall in the category of really rare edge cases, and I'm ok with making those people jump through hoops to get FreeBSD running on their classic pentium if it makes life easier for people attempting to do realistic things. I'm a huge proponent of not mixing and matching hardware and software generations. FreeBSD 2.1.5 ran well enough on our 386's that we used them as nameservers for thousands of users at my ISP. FreeBSD 9 works great on my dual Nehalem. I probably would be as unhappy with FreeBSD 2.x on my dual Nehalem as I would be with FreeBSD 9 on a 386....oh, right, it won't even install in either case, let alone run.
We are very aware that there are people doing CLI installs. Remote serial port, etc, etc, etc, and we are not going to go down a road that raises the barrier to entry very high for them. I think sysinstall proves you can set the bar pretty high though, and people will figure out a way to make it work.
(Try and install FreeBSD to a RAID-Z for example, or use glabel, or install to GELI....)
At the end of the day, pc-sysinstall needs a plain text config file that you can write by hand. (It's very well documented) So all this front end talk is really about what's the best way to build a config file.
Josh "Feedback Welcome" Paetzel
More information about the freebsd-questions