linux:debian:automatic-installation
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
linux:debian:automatic-installation [2013/06/23 06:13] – [Example of parameters passed to kernel] update preseed URL stybla | linux:debian:automatic-installation [2013/06/25 05:06] (current) – finish up - foreword, conclusion and some other stuff stybla | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Debian - Automatic Installation ====== | ====== Debian - Automatic Installation ====== | ||
- | <note warning> | + | ===== Foreword of sorts ===== |
- | **WORK IN PROGRESS** | + | |
- | + | ||
- | * NOTE to myself - preseed file can be supplied by DHCP | + | |
- | * NOTE to myself - preseed generated by CGI script | + | |
- | </ | + | |
As a pretty much any mainstream GNU/Linux distribution, | As a pretty much any mainstream GNU/Linux distribution, | ||
- | system installation. You can either use Preseed or build a custom ramdisk and use debootstrap | + | system installation. You can either use Preseed or a custom |
directly. | directly. | ||
- | No doubt each approach has its own pros and cons. Personally, | + | When I told my friend I'm looking into preseeding Debian he was like: // |
- | most cases and basic OS installation | + | The answer |
- | Ansible/ | + | So why not to use Preseeding if it can do the job? |
- | installation. Preseed is capable of handling | + | |
- | You can also run commands and do stuff, although admitingly in limited scope. | + | |
- | On the other hand, customized | + | No doubt each approach has its pros and cons. I'm positive custom build ramdisk |
- | You can add vendor specific tools, assemble HW RAIDs, debug/fix broken OS, run pre/post install | + | will be faster than installer. Also, you can add tools you need, eg. tools for HW RAID, but you |
- | via your favourite management tool etc. and create | + | can do a bit of scripting(and magic) as well, eg. assemble HW RAID prior to installation. Ramdisk can be used for |
+ | rescue and debugging. As a con I see maintenance - you have to create it, script(automate) it and keep it up-to-date. | ||
+ | |||
+ | Preseeding has pretty much the same capabilities. It allows you to install base Debian which is, in my opinion, | ||
+ | all you need and fine-tune the rest with Ansible/Chef/ | ||
+ | packages; support for LVM and Linux SW RAID; run additional commands; what have you. I'd almost forget you | ||
+ | can use Preseed for installation from USB/DVD/CD as well! And it's all maintained for you. | ||
+ | Now, here are some cons which, despite solveable, are a bit annoying. | ||
+ | |||
+ | ==== Cons of Debian Preseeding ==== | ||
+ | |||
+ | === Things don't always work out-of-the-box === | ||
+ | |||
+ | For example I didn't have much of success with network console. It just kept segfaulting on me at " | ||
+ | You might want to use different kernel, although replacing kernel should be the least warry and quite easy. | ||
+ | Something can be or get broken or there is going to be some sort of regression. | ||
+ | |||
+ | === More than one Preseed configuration might be necessary === | ||
+ | |||
+ | This might be due to the differences in hardware configuration. The thing is, you must specify target drive in case | ||
+ | there is more than one drive present. And I'm sure this isn't uncommon case. However, this can be solved by simple | ||
+ | CGI/script preseed generator which will return correct Preseed configuration file, eg. based on hostname. | ||
+ | |||
+ | === Missing tools === | ||
+ | |||
+ | I believe you could easilly add whatever you want and pretty much modify netboot | ||
+ | |||
+ | === MD5 sum of Preseed config must be kept up to date === | ||
+ | |||
+ | Yes, this is particularly annoying one. You can solve it in two ways. Don't use MD5 sum, however then you can't be sure | ||
+ | about integrity of preseed file you've just downloaded. Or just integrate it into your script you have for updating TFTP | ||
+ | boot configuration. I don't really think this is a hard one to do. | ||
+ | |||
+ | === Can't be used for rescue and/or debugging === | ||
+ | |||
+ | I'm not entirely sure this is true. I also think with a bit of work and modification it very well could be. | ||
+ | |||
+ | ===== Conclusion of sorts ===== | ||
+ | |||
+ | I find Debian Preseeding to be enough. It does basic Debian installation which is all I need, because after installation | ||
+ | is finished, I hand it over to Ansible/ | ||
+ | to install | ||
+ | curiosity rather than actual need, I guess. As I mentioned, not every time things work out-of-the-box. However, | ||
+ | the same can be said about everything | ||
- | Now, you might argue every server(hardware configuration) is different and requires specific approach. | ||
- | I'd counter-argue it's more about profiling and you end up with only couple profiles. I agree | ||
- | stuff like HW RAID assembly and vendor specific tools to do that might be a problem. However, you can | ||
- | modify Debian' | ||
- | enough to assembly HW RAID? Would installer notice/ | ||
- | I still think rolling with Preseed for basic OS installation is better and easier to maintain way than | ||
- | having to maintain your customized ramdisk. Althouhg, once you automate its [ramdisk] creation, then | ||
- | it won't matter that much. | ||
===== Customized ramdisk and debootstrap ===== | ===== Customized ramdisk and debootstrap ===== | ||
Line 43: | Line 71: | ||
a way it boots into shell instead of installer, add stuff you need want, remove stuff you don't need, | a way it boots into shell instead of installer, add stuff you need want, remove stuff you don't need, | ||
pack it, run with it. | pack it, run with it. | ||
+ | |||
+ | |||
===== Preseeding ===== | ===== Preseeding ===== | ||
Line 48: | Line 78: | ||
* TFTP, DHCP, web server | * TFTP, DHCP, web server | ||
+ | * [[linux: | ||
* time | * time | ||
* patience | * patience | ||
+ | |||
==== Example of preseed file ==== | ==== Example of preseed file ==== | ||
Line 185: | Line 217: | ||
Turning off Frame Buffer('' | Turning off Frame Buffer('' | ||
However, turning Frame Buffer off means graphics in installer will go wonky from time to time even when running in SDL window. | However, turning Frame Buffer off means graphics in installer will go wonky from time to time even when running in SDL window. | ||
+ | |||
+ | |||
+ | ==== How to configure network-console, | ||
+ | |||
+ | < | ||
+ | ### Network console | ||
+ | # Use the following settings if you wish to make use of the network-console | ||
+ | # component for remote installation over SSH. This only makes sense if you | ||
+ | # intend to perform the remainder of the installation manually. | ||
+ | d-i anna/ | ||
+ | d-i network-console/ | ||
+ | #d-i network-console/ | ||
+ | #d-i network-console/ | ||
+ | </ | ||
+ | |||
+ | This happens before APT repository is configured. You're presented with instructions and I believe as long | ||
+ | as you don't click // | ||
+ | '' | ||
+ | manually, or switch into shell. | ||
+ | |||
+ | Note, however, network-console has segfaulted(Wheezy 7.1) on my on several occasions. The first was when | ||
+ | I attempted to get into shell and second when I've clicked // | ||
+ | via SSH when installation proceeded. | ||
+ | |||
+ | |||
+ | ==== When is '' | ||
+ | |||
+ | Before APT repository is configured. | ||
+ | |||
+ | |||
+ | ==== When is '' | ||
+ | |||
+ | Just before machine is about to be rebooted. However ''/ | ||
+ | |||
==== When things go wrong - unusual/ | ==== When things go wrong - unusual/ |
linux/debian/automatic-installation.txt · Last modified: 2013/06/25 05:06 by stybla