freebsdgirl.com/2009/08/its-a-dirty-job-but-someone-ha.html
TrackBacks Every time I make a new post, I tell myself that I'm going to be better about posting in the future. I'll remember that this domain exists for something other than email.
I'm pretty good about keeping it updated unless I'm in the middle of being obsessed with a new project. I gave my talk at BSDCan back in May It went better than I thought. My doctor gave me pills with the instruction "take 30 minutes before any speaking engagement". They are just beta blockers, but I thought it was hilarious. I didn't die of stage fright, and I'm thinking I might just try this whole speaking thing again. While at BSDCan, a whole new can of worms got opened up. I think they are just glad that someone has decided to take on this code that has been sitting mostly untouched for 10+ years. I even went through and grabbed a bunch of PRs, which I don't think I'm technically supposed to be doing, but whatever, and I've been organizing which need to be worked on first.
I would say poor him, but he makes me go through and explain just about every single line of code I write. It's a good exercise for me to go through, as frustrating as it might be. I know when I write something, I can't say "well, it just worked this way, I don't know why," because he probably wouldn't accept that for an answer. Now that people know there's someone willing to work on sysinstall, holy crap, there are so many suggestions coming from all directions. It's an exciting thing to work on because everyone is interested in seeing it improve. Yeah, I've dicked around with C some in the past, but this is basically me starting from scratch. I'm not having to look up printf syntax, but there's been more than one time when I've asked myself "strsep? I was joking around with a few people the other day, saying it's not like I can make it any worse, right? It seems the mentality for the longest time is "until a replacement comes along" - well, fuck that. There's several replacements available or being worked on, but I don't really see them making it into base, so I'm going to work with what we've got. One of my primary goals is to improve the support for scripted installs. There are quite a few companies using FreeBSD, but most of them have a roll-yer-own approach for large scale installations. Linux has it easy, depending on how you look at it, anyways. cfg, the exact interface name has to be specified, ie: bge0. This means that if you have a mixed hardware environment, you need a separate installation media setup for each different type of server (that is, each different type of network card) you have. One of the first patches I submitted allowed the variable that specified the network card interface, netDev, to be a comma delimited list of network interfaces in order of preference. There were also a number of PRs related to USB support in sysinstall. Sure, you could write the installation media to a USB stick and boot from it, but there was no way to select it as the source media. img files that you can download off the FreeBSD FTP sites. I've got a few more patches written up that need to be tested that won't be making it into 80 With Colin's help, I've come up with a patch that allows the syntax netDev=ANY. If this is specified, sysinstall will query any available network interface and use whichever one has a link. I've also written a small patch that ejects the CDROM drive after the install is finished if the CDROM was the installation media. I don't have any servers that have CDROM drives, so I had no way of testing this. I'm still waiting to hear back to see if it worked properly. One of the larger projects I'm working on is obliterating libdisk from sysinstall in favor of libgeom.
August 4, 2009 6:24 PM I'm not trying to start a religious war, but I'd like to recommend that you look at OpenBSD's (-current, aka 46) installer for motivation. I've always preferred the direct approach, avoiding the roundabout nature of sysintall or the sugar-coated Linux installers.
August 4, 2009 7:28 PM Having a more simplistic installation method as an option would be a good idea in my opinion, if for no other reason than libdialog has issues on Sun displays (or so it's been reported to me - I haven't seen this first hand, as I lack a Sun monitor). The effort required to add such support would not be insignificant. Right now, my priorities lie in fixing existing issues (not supporting GPT, for example) instead of adding shiny new features. At some point I promise that the user interface will get at least some form of an overhaul.
August 4, 2009 11:08 PM I am not up to date when it comes to mass deployment and enterprise features. So maybe this already exists or is just a really really stupid idea. The installer just looks up the database and knows what to do. Thanks to all those web frameworks out there you can easily generate an interface to edit and maintain the database. How can does a system know which entry is the right one? cfg is not flexible enough and that the system isn't easy to maintain?
If I remember right sysinstall talks HTTP already, so it shouldn't be too much pain, and it avoids the "separate CD for each profile" thing when the profiles are 99% identical (in my case they only differ by partition layout - that's my last manual step). RedHat's installer has something similar to this (IMO theirs would be less polished -- last time I used it you had to specify the install profile URL via GRUB parameters, and if you typo the installer was less-than-graceful in its freaking out).
cfg to be loaded from various places instead of just the default inside the mfsroot. I haven't taken that close of a look at this, so I'm not sure what all media locations it allows from. The difficulty in telling it to use a remote location such as an HTTP or FTP URL is that a network interface has to be preconfigured to do so.
August 9, 2009 2:56 PM I have recently seen major improvements in ports with respect to multi-core boxen, multiple job support in 'make' specifically. Wouldn't it be uber-cool to also have multiple parallel threads during installs? This sort of thing is most effective when downloading from multiple mirror sites simultaneously, or installing one while downloading another (and so forth). You could potentially cut down the "net install" process time by a quite a bit just on download time alone. Serializing download/install/download/install is just too "20'th century". Yeah, expect _me_ to put 'techie' stuff in the blog, heh.
|