bsdinstall - testers wanted

zennybsd said:
@phoenix: You are right and I do agree that bsdinstall is simpler than sysinstall, but if you want to do something at atomic level (except ZFS), sysinstall is what I found better, though some of the configurations options are in duplicates.

I have no idea what you mean by the above. Personally, I think there should be 0 configuration done in the installer beyond partitioning the disk, network configuration, and creating an initial user. Everything else should be done after the OS is installed, and you have booted into it.

What are you trying to do in bsdinstall that you can't do in sysinstal? And, that you can't do from within the installed OS after booting?

The best among all installers that I found among operating systems is that of slackware and variants like zenwalk or salixos. It is fast to install (maybe they adopted xz compression) and atomic, too.

What do you mean by "atomic"?

I think bsdinstall would be wonderful if they just get inspiration from slackware installer and add just add the gpart, hastd, gmirror and zfs part as an addition as you suggested, imho (even does not worth 2 cents ;-)

Maybe we're talking about different bsdinstallers, then, because the current bsdinstall (available in 9-CURRENT) is about as simple as you can get: choose keyboard, partition disk, install, create user, set time, reboot. If you need more than that, you drop to a shell at various points.
 
phoenix said:
I have no idea what you mean by the above. Personally, I think there should be 0 configuration done in the installer beyond partitioning the disk, network configuration, and creating an initial user. Everything else should be done after the OS is installed, and you have booted into it.

What are you trying to do in bsdinstall that you can't do in sysinstal? And, that you can't do from within the installed OS after booting?



What do you mean by "atomic"?



Maybe we're talking about different bsdinstallers, then, because the current bsdinstall (available in 9-CURRENT) is about as simple as you can get: choose keyboard, partition disk, install, create user, set time, reboot. If you need more than that, you drop to a shell at various points.


Yes, I agree that dropping to the shell prompt at various point is a nice feature of bsdinstaller. Thank you for the info which I skipped.

About the installer I tested, I tried bsdinstall-amd64-20110222.iso from http://people.freebsd.org/~nwhitehorn/

And atomic means that can go into the depth to very sub-levels of configurations. I want the bsdinstaller developers to have a look at the installers at slackware or slack-based distros like zenwalk or salixos to clarify what I meant.

I am not saying the bsdinstaller does not work, it works fine, but it lacks some features, maybe I am biased with slackware installer ;-)
 
zennybsd said:
Maybe I am an old-styled sysadmin, but I found sysinstall having more options than bsdinstall. But as a sysadmin, I like to create configurations from ground up editing the /boot/loader.conf and /etc/rc.conf and other files making me aware what is where, and implications of the changes to system further helping me debug the system ;-)

Last I checked, bsdinstall is scriptable; everything is implemented as a bunch of shell commands. It should therefore be not too difficult to modify bsdinstall to install with whatever parameters you like!

The one thing that would be cool is automatic configuration of link-aggregation for networking. This is very useful for laptops and any other sort of mobile computing device where you're going to have multiple network connection interface (e.g. tablets!). If the installer can configure my laptop to have a smooth failover from ethernet to wireless, that would be awesome. For the unfamiliar, the process is described here:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-aggregation.html

but doing it manually is kind of error-prone and requires some device probing and similar jumping through hoops.
 
When a software is replaced there are a few questions that need to be asked in order for the replacement to succeed.

1) What is wrong with the current
2) What features do we need to have in the new one

Unfortunately as I see, those questions haven't been asked.
 
I just tried it earlier today, and the installer would not accept a password. It just sat there and didn't seem to recognize that I was typing anything. Up until that point I wasn't having any trouble with the keyboard.

I was using the most recent release on AMD64 if that helps, and the keyboard was just a cheapo PS2 that came with a Dell from a few years back.
gkontos said:
When a software is replaced there are a few questions that need to be asked in order for the replacement to succeed.

1) What is wrong with the current
2) What features do we need to have in the new one

Unfortunately as I see, those questions haven't been asked.
This is just a stop gap installer, while they work on the back end. The old installer worked just fine for most things, it's just that it couldn't handle ZFS and some of the newer things, the installer itself was better functioning in general than the ones that I've seen on Linux or Windows.
 
gkontos said:
When a software is replaced there are a few questions that need to be asked in order for the replacement to succeed.

1) What is wrong with the current
2) What features do we need to have in the new one

Unfortunately as I see, those questions haven't been asked.

Hi gkontos!

This is my opinion:

<frustration-venting-mode>
The current installer is a total mess of confusing menus. It does everything and the kitchen sink but it is totally useless and doesn't actually install the OS *if you want to boot from ZFS*. For my part it could be entirely left out and boot me right into a working shell with the the kernel extensions needed for ZFS already loaded.
</frustration-venting-mode>

Ok, to put it more mildly: I think it is hard to use the current installer correctly if you haven't already installed a dozen systems and exactly know what you are doing.

This is due to the fact (IMHO), that it tries to do too much, namely installation of the base system, package management and configuration in one program. This wouldn't be so much of a problem, if the creators had put more thoughts into these three usage scenarios and structured the program along those lines. But combining these three aspects is still very ugly and plainly bad design.

What are the responsibilities of these three aspects?

Installation of the base system
All you do here is prepare your disk(s), put boot code onto it (/them) and install the base system. These steps are so dependent onto one another, that it doesn't make much sense do them out of order. Makes a pretty simple installer if you ask me.

Package management
Here you choose where to go from your base system. What to install on top; Where to install it from; Using which method. And maybe what to deinstall. All this can be done from the installation boot medium or from the booted system. From a user perspective the debian-based package managers do that quite well (well, if you don't nit-pick). Again a total mess. The FreeBSD handbook describes five or six methods to get it done, several of them are already pretty defunct by now. I stuck with portmaster for now but it is more a tamagotchi than a master demanding attention all the time asking silly questions.

Configuration
This is a very dark area in every OS I have ever encountered. On one side those more or less futile attempts to concentrate all configuration aspects into one place (Mac OS X Preferences, Windows System Configuration, SuSE Yast, ... and, yes, sysinstall!). On the other side you have a plethora of services splattering /etc, /usr/etc, ~/ and what-not (\SYSTEM, /Library, ... gahh!) with their text-based config files with always a new (better?) syntax just around the corner. To be honest I don't know a good solution here, but whatever the solution is, at least it should be separate from the other two aspects.

So having said all that, to answer your question:

1) Should be obvious
2) Less! YES, we need less features in one place! (Ok, and a way to install ZFS as boot, but that's beside my point here)

And to answer a question you didn't ask:

3) We need ONE package management system that works well instead of half dozen who all have their short-comings! (see homebrew on the Mac to see what I mean)

Best Regards
Roddi
 
roddi said:
Hi gkontos!

This is my opinion:

<frustration-venting-mode>
The current installer is a total mess of confusing menus. It does everything and the kitchen sink but it is totally useless and doesn't actually install the OS *if you want to boot from ZFS*. For my part it could be entirely left out and boot me right into a working shell with the the kernel extensions needed for ZFS already loaded.
</frustration-venting-mode>
It does have a descent working shell unlike the old fix it environment;)
roddi said:
Ok, to put it more mildly: I think it is hard to use the current installer correctly if you haven't already installed a dozen systems and exactly know what you are doing.
True, imagine someone new to FreeBSD trying to use the installer.
roddi said:
This is due to the fact (IMHO), that it tries to do too much, namely installation of the base system, package management and configuration in one program. This wouldn't be so much of a problem, if the creators had put more thoughts into these three usage scenarios and structured the program along those lines. But combining these three aspects is still very ugly and plainly bad design.
Much like a Caesar salad :p
roddi said:
What are the responsibilities of these three aspects?

Installation of the base system
All you do here is prepare your disk(s), put boot code onto it (/them) and install the base system. These steps are so dependent onto one another, that it doesn't make much sense do them out of order. Makes a pretty simple installer if you ask me.

Package management
Here you choose where to go from your base system. What to install on top; Where to install it from; Using which method. And maybe what to deinstall. All this can be done from the installation boot medium or from the booted system. From a user perspective the debian-based package managers do that quite well (well, if you don't nit-pick). Again a total mess. The FreeBSD handbook describes five or six methods to get it done, several of them are already pretty defunct by now. I stuck with portmaster for now but it is more a tamagotchi than a master demanding attention all the time asking silly questions.

Configuration
This is a very dark area in every OS I have ever encountered. On one side those more or less futile attempts to concentrate all configuration aspects into one place (Mac OS X Preferences, Windows System Configuration, SuSE Yast, ... and, yes, sysinstall!). On the other side you have a plethora of services splattering /etc, /usr/etc, ~/ and what-not (\SYSTEM, /Library, ... gahh!) with their text-based config files with always a new (better?) syntax just around the corner. To be honest I don't know a good solution here, but whatever the solution is, at least it should be separate from the other two aspects.
IMHO the steps I expect from an installer are:

a) Pre installation
b) Installation / Upgrade
c) Post installation
roddi said:
So having said all that, to answer your question:

1) Should be obvious
2) Less! YES, we need less features in one place! (Ok, and a way to install ZFS as boot, but that's beside my point here)

And to answer a question you didn't ask:

3) We need ONE package management system that works well instead of half dozen who all have their short-comings! (see homebrew on the Mac to see what I mean)

Best Regards
Roddi
Maybe we need to decide a few things before we can answer those questions.

ZFS is considered to be stable for production since 8.0-Release

Pre installation thoughts:
Shouldn't we give the option for a ZFS on root installation ?
Do we want a default GPT partitioning scheme ?
Should the installer label the partitions and the OS reference them by labels?

Installation thoughts:
Package management-install or even upgrade

Post installation thoughts:
Network, users & services with 3 clicks.

Regards,
George
 
gkontos said:
ZFS is considered to be stable for production since 8.0-Release

Pre installation thoughts:
Shouldn't we give the option for a ZFS on root installation ?
As you said in your review, "we are months away from a 9 release". The wiki page says a "ZFS installation" is a "[m]issing feature" so I guess they intend to include it sometime.

gkontos said:
Do we want a default GPT partitioning scheme ?
The best would be to first check for any existing scheme and only then fallback to a fixed default. If the disk doesn't already have an MBR and you're not dual-booting with older Windows, then GPT will do just fine as fallback default.
 
Beastie said:
As you said in your review, "we are months away from a 9 release". The wiki page says a "ZFS installation" is a "[m]issing feature" so I guess they intend to include it sometime.
The real problem with ZFS boot support appears when we consider mirroring because there are currently 3 ways of doing that.

1) Create a full ZFS partition for everything + swap. It works well with no problems but you can't dump a kernel core there.

2) Create a separate partition for swap and if you need mirror then include both of them in etc/fstab. In other words split your swap. Not a bad idea but it sound kind of...

3) Use gmirror for swap. Not bad either but I am being forced to load another module and I depend on gmirror for my swap.

So, until a standard and "best" method is decided, ZFS is hard to implement.

A more radical approach would be to use a default ZFS swap for everything leaving core dumps to a dedicated USB device.
Beastie said:
The best would be to first check for any existing scheme and only then fallback to a fixed default. If the disk doesn't already have an MBR and you're not dual-booting with older Windows, then GPT will do just fine as fallback default.
I am with you here but I wouldn't mind a more radical approach saying that GPT is the only available option.
 
gkontos said:
It does have a descent working shell unlike the old fix it environment ;)

This is one of the nicest things about the bsdinstall setup. If there's something you want to do that's not presented in the installer TUI, then you drop to a shell and do it manually. Sure, maybe it's not the best setup for a newbie to a Unix system, but it's absolute heaven for an advanced user.

IMHO the steps I expect from an installer are:

a) Pre installation
b) Installation / Upgrade
c) Post installation

Nope. All an installer should do is install the OS. IOW, provide you with a way to partition the disk(s), spam the OS onto the disks, and then reboot into the new OS install. That's it! Of course, opinions vary. :)

Installation thoughts:
Package management-install or even upgrade

Nope, the installer should not offer anything other than to install the OS. 3rd party app installs should not an option. This is where sysinstall fails.

Post installation thoughts:
Network, users & services with 3 clicks.

Again, nope. The installer should install the OS, nothing more.

If the user chooses a network installation option, then it should configure the network.

However, all other OS configuration should be done using the normal OS tools, from within the OS itself.

The biggest problem with sysinstall is that it tries to be everything: disk partitioner, OS installer, OS configuration tool, package manager, etc, etc, etc, with three different ways to do everything, including standard, advanced, and expert options for everything. There's even a whole help manual section thingy in there. The main sysinstall screen has something like 15 different options ... before the installation routing even begins!

Maybe bsdinstall isn't perfect, but it's improving, and the devs are open to input. And it's so much nicer, easier to use already. And it's just an installer not an OS configuration tool, not a package manager, not a hand-holder, not a nanny, etc. :)
 
phoenix said:
This is one of the nicest things about the bsdinstall setup. If there's something you want to do that's not presented in the installer TUI, then you drop to a shell and do it manually. Sure, maybe it's not the best setup for a newbie to a Unix system, but it's absolute heaven for an advanced user.
I am glad we agree on something ;)


phoenix said:
gkontos said:
IMHO the steps I expect from an installer are:

a) Pre installation
b) Installation / Upgrade
c) Post installation
Nope. All an installer should do is install the OS. IOW, provide you with a way to partition the disk(s), spam the OS onto the disks, and then reboot into the new OS install. That's it! Of course, opinions vary. :)
What you just described can be divided into:

1) Pre Installation "provide you with a way to partition the disk(s)"
2) Installation "spam the OS onto the disks"

I also like to configure network, services and user accounts on a third step.

phoenix said:
gkontos said:
Installation thoughts:
Package management-install or even upgrade
Nope, the installer should not offer anything other than to install the OS. 3rd party app installs should not an option. This is where sysinstall fails.
So, you don't expect to install any packages from the installer. That's ok I don't either because I never actually do. I usually install just the sources and take it from there with ports.
However, we are at year 2011 and a lot of potential FreeBSD users would like to be able to install a few packages.

phoenix said:
gkontos said:
Post installation thoughts:
Network, users & services with 3 clicks.
Again, nope. The installer should install the OS, nothing more.

If the user chooses a network installation option, then it should configure the network.

However, all other OS configuration should be done using the normal OS tools, from within the OS itself.
This is the part where I mention about the 3rd step. Post installation. Of course opinions vary but we all have to realize that you can't install an OS without configuring network and initial services at least.
phoenix said:
The biggest problem with sysinstall is that it tries to be everything: disk partitioner, OS installer, OS configuration tool, package manager, etc, etc, etc, with three different ways to do everything, including standard, advanced, and expert options for everything. There's even a whole help manual section thingy in there. The main sysinstall screen has something like 15 different options ... before the installation routing even begins!
What's wrong with that ?
phoenix said:
Maybe bsdinstall isn't perfect, but it's improving, and the devs are open to input. And it's so much nicer, easier to use already. And it's just an installer not an OS configuration tool, not a package manager, not a hand-holder, not a nanny, etc. :)
So, is it safe to guess that you are happy with it ?
 
Back
Top