WEBVTT 99:59:59.999 --> 99:59:59.999 Today, I talk about FAI.me, which is a build for images. 99:59:59.999 --> 99:59:59.999 First, anybody that never heard anything about FAI? 99:59:59.999 --> 99:59:59.999 Ok 99:59:59.999 --> 99:59:59.999 I started this project in 1999. 99:59:59.999 --> 99:59:59.999 I'm not sure… 99:59:59.999 --> 99:59:59.999 No, I'm sure that during those times, the Debian installer did not have 99:59:59.999 --> 99:59:59.999 the preseeding stuff, so we needed something automatically. 99:59:59.999 --> 99:59:59.999 I installed the first cluster with FAI and I always do talks on FAI or 99:59:59.999 --> 99:59:59.999 today in the lightning talks, I talk a little bit about dracut, 99:59:59.999 --> 99:59:59.999 which is used in FAI. 99:59:59.999 --> 99:59:59.999 So, what was the motivation. 99:59:59.999 --> 99:59:59.999 A neighbour of mine, she came to me with 99:59:59.999 --> 99:59:59.999 "My Windows desktop is broken, can you reinstall it?" 99:59:59.999 --> 99:59:59.999 And in the end, I installed her Linux, and I was shortly thinking about 99:59:59.999 --> 99:59:59.999 "Should I use FAI for installing her desktop with Linux?" 99:59:59.999 --> 99:59:59.999 And in the end, I did not use it because FAI is too complicated, 99:59:59.999 --> 99:59:59.999 like the Debian installer, I guess it's not really that easy for beginners 99:59:59.999 --> 99:59:59.999 because there are a lot of questions 99:59:59.999 --> 99:59:59.999 but also FAI is not really for beginners. 99:59:59.999 --> 99:59:59.999 So this was the motivation about thinking about FAI. 99:59:59.999 --> 99:59:59.999 The target group was always advanced sysadmins 99:59:59.999 --> 99:59:59.999 but I thought maybe it's possible to make FAI usable also for people 99:59:59.999 --> 99:59:59.999 that are not that advanced sysadmins. 99:59:59.999 --> 99:59:59.999 The idea is that an installer should cover most installations. 99:59:59.999 --> 99:59:59.999 The Debian installer is really perfect because I think it covers 99:59:59.999 --> 99:59:59.999 all different kinds and strange environments 99:59:59.999 --> 99:59:59.999 You can do a lot of things, you can configure very strange combination of language, 99:59:59.999 --> 99:59:59.999 keyboard layout and so on 99:59:59.999 --> 99:59:59.999 but I was thinking about an installer that covers 90 or 95% of the installations 99:59:59.999 --> 99:59:59.999 A lot of special cases can be ignored and since the Debian installer has like 99:59:59.999 --> 99:59:59.999 more than 20 questions, I thought it would be much nicer if there were only 99:59:59.999 --> 99:59:59.999 3 to 5 questions and I looked at Linux Mint and Mageia installers, CentOS installer, 99:59:59.999 --> 99:59:59.999 and they all ask much less questions. 99:59:59.999 --> 99:59:59.999 In the Debian installer, we sometimes have also things that are asked 99:59:59.999 --> 99:59:59.999 during the installation, so not everything is asked at the very beginning. 99:59:59.999 --> 99:59:59.999 For example, the task selection, where you select your desktop, 99:59:59.999 --> 99:59:59.999 is done after the base installation. 99:59:59.999 --> 99:59:59.999 This was also very important, I would like to have something that 99:59:59.999 --> 99:59:59.999 asks everything at the very beginning. 99:59:59.999 --> 99:59:59.999 Then, maybe some tool could create a customized installation image 99:59:59.999 --> 99:59:59.999 and this installation image should run then completely unattended 99:59:59.999 --> 99:59:59.999 so you can get yourself a coffee and when you come back, your machine is ready. 99:59:59.999 --> 99:59:59.999 There are 3 things to customize installation image, 99:59:59.999 --> 99:59:59.999 you just put this image, you do not have to touch anything, and then it's ready. 99:59:59.999 --> 99:59:59.999 I thought "Oh yes, this is FAI, maybe FAI can do this." 99:59:59.999 --> 99:59:59.999 As I said, FAI is only, or was until now only a tool for experienced sysadmins 99:59:59.999 --> 99:59:59.999 and you have to adjust several config files, these are ASCII files 99:59:59.999 --> 99:59:59.999 but still you have to touch 5 to 10 config files to make a customization. 99:59:59.999 --> 99:59:59.999 So, how can I make FAI usable for beginners? 99:59:59.999 --> 99:59:59.999 That's the beginning of FAI.me. 99:59:59.999 --> 99:59:59.999 There's a web page, we'll show it in more detail later, 99:59:59.999 --> 99:59:59.999 where you can just click some things, and then you get a customized image. 99:59:59.999 --> 99:59:59.999 This image can be put onto a CD, DVD or USB stick, just with dd 99:59:59.999 --> 99:59:59.999 and the customization is just by using the web interface 99:59:59.999 --> 99:59:59.999 so there's no need for you to edit a text file, a config file inside FAI. 99:59:59.999 --> 99:59:59.999 I hope I covered most important thangs that you want to adjust 99:59:59.999 --> 99:59:59.999 or a little bit customize. 99:59:59.999 --> 99:59:59.999 You can add additional packages, I think that's the most important thing 99:59:59.999 --> 99:59:59.999 that people say "I want to have the normal Debian installation 99:59:59.999 --> 99:59:59.999 but with some additional packages." 99:59:59.999 --> 99:59:59.999 And you can select different different distributions, so it's not only 99:59:59.999 --> 99:59:59.999 the installation image for the stable release, you can create 99:59:59.999 --> 99:59:59.999 3 variants of the installation. 99:59:59.999 --> 99:59:59.999 This is the web page and thanks to Juri, he did a great job 99:59:59.999 --> 99:59:59.999 during the first and second day, he added a new feature that we now have 99:59:59.999 --> 99:59:59.999 a toggle button. 99:59:59.999 --> 99:59:59.999 Is it big enough or should I zoom in? 99:59:59.999 --> 99:59:59.999 Ok. 99:59:59.999 --> 99:59:59.999 So, we have a toggle button, what you see now is just the bare minimum or questions 99:59:59.999 --> 99:59:59.999 and we can toggle it to more advanced settings. 99:59:59.999 --> 99:59:59.999 You have to select or just leave this as it is, username, 99:59:59.999 --> 99:59:59.999 if you do not enter a password, a password will be generated and shown to you 99:59:59.999 --> 99:59:59.999 and sent by e-mail. 99:59:59.999 --> 99:59:59.999 I will now just type in the password. 99:59:59.999 --> 99:59:59.999 It's here in clear text, for me that's fine because 99:59:59.999 --> 99:59:59.999 there's also a comment that you should change the password after the installation 99:59:59.999 --> 99:59:59.999 and I do not like to enter passwords twice so you can see what you typed in 99:59:59.999 --> 99:59:59.999 and hopefully do not make any wrong mistakes. 99:59:59.999 --> 99:59:59.999 For example, we could select the Stretch distribution with backports, 99:59:59.999 --> 99:59:59.999 so we will get a 4.15 kernel with Stretch. 99:59:59.999 --> 99:59:59.999 There are some buttons we can say we want to have some Debian developer tools. 99:59:59.999 --> 99:59:59.999 This is what I defined in the FAI configuration, so just a list of packages. 99:59:59.999 --> 99:59:59.999 Here, you can enter you own packages. 99:59:59.999 --> 99:59:59.999 I will select the desktop. 99:59:59.999 --> 99:59:59.999 You can have an installation without any desktop, so a very small installation. 99:59:59.999 --> 99:59:59.999 I will select the XFCE desktop, but all the other desktops are here. 99:59:59.999 --> 99:59:59.999 The language, these are just task packages that are… 99:59:59.999 --> 99:59:59.999 I think Debian has much more task packages, I just searched which are 99:59:59.999 --> 99:59:59.999 the most common languages, and what I do if I say I want the spanish language, 99:59:59.999 --> 99:59:59.999 also the keyboard layout is spanish. 99:59:59.999 --> 99:59:59.999 I know there are different combinations and with local time, 99:59:59.999 --> 99:59:59.999 it's getting more difficult. 99:59:59.999 --> 99:59:59.999 This installation will install the clock with UTC, so if you want to set 99:59:59.999 --> 99:59:59.999 your time, you have to do this manually. 99:59:59.999 --> 99:59:59.999 I want to cover the most common installations. 99:59:59.999 --> 99:59:59.999 We select english US, the desktop and, as an example, the midnight commander 99:59:59.999 --> 99:59:59.999 and GIMP. 99:59:59.999 --> 99:59:59.999 I can add an email address so if it would take longer, 99:59:59.999 --> 99:59:59.999 for example if this service will have success and a lot of people are using it, 99:59:59.999 --> 99:59:59.999 you may wait for some minutes so your job will be finished. 99:59:59.999 --> 99:59:59.999 So here are the comments, how to reconfigure the keyboard or the timezone 99:59:59.999 --> 99:59:59.999 and then you just click "Create the installation image". 99:59:59.999 --> 99:59:59.999 Now, in the background, there's some job, a script, looking "Oh, there's a new job" 99:59:59.999 --> 99:59:59.999 and there's a summary of the configuration, of the web configuration. 99:59:59.999 --> 99:59:59.999 Down here you see these are the FAI classes, 99:59:59.999 --> 99:59:59.999 I will explain a little bit more about this. 99:59:59.999 --> 99:59:59.999 But with this information, FAI configuration is generated, 99:59:59.999 --> 99:59:59.999 that's what normally the experienced sysadmins have to create 99:59:59.999 --> 99:59:59.999 but here you just click on some buttons and it will be done for you. 99:59:59.999 --> 99:59:59.999 In the meantime, we have some more advanced features 99:59:59.999 --> 99:59:59.999 which I will also show you later. 99:59:59.999 --> 99:59:59.999 For example, this very simple installation just creates one partition 99:59:59.999 --> 99:59:59.999 but you can also select that you want to have a separate /home partition 99:59:59.999 --> 99:59:59.999 or using lvm just by selecting this on the web interface. 99:59:59.999 --> 99:59:59.999 You can also add your SSH public key for logging as root without a password 99:59:59.999 --> 99:59:59.999 or what's very nice, I found the new Ubuntu installer does this, 99:59:59.999 --> 99:59:59.999 you can give your github account and then there's a comment which 99:59:59.999 --> 99:59:59.999 receives the public key from your github account and puts it 99:59:59.999 --> 99:59:59.999 into the root account so you can log in without password. 99:59:59.999 --> 99:59:59.999 I think that's very neat. 99:59:59.999 --> 99:59:59.999 And if you have a repository with your own packages, you could also add this and say 99:59:59.999 --> 99:59:59.999 "Please install those packages from my publicly available repository." 99:59:59.999 --> 99:59:59.999 Let's see. 99:59:59.999 --> 99:59:59.999 As we see, this job finished in 74 seconds. 99:59:59.999 --> 99:59:59.999 Now, this customised installation image is available for download. 99:59:59.999 --> 99:59:59.999 You can also download the log file. 99:59:59.999 --> 99:59:59.999 Since this is an installation image, I first have to create 99:59:59.999 --> 99:59:59.999 a partial package mirror. 99:59:59.999 --> 99:59:59.999 This is done by the command 'fai-mirror' and you can also read the log of 99:59:59.999 --> 99:59:59.999 this call of the fai-mirror, where a list of all you packages with all the dependencies 99:59:59.999 --> 99:59:59.999 are available. 99:59:59.999 --> 99:59:59.999 So you see, these are the list of packages and later they are downloaded 99:59:59.999 --> 99:59:59.999 and in the end, it says it created a mirror of 1G of packages 99:59:59.999 --> 99:59:59.999 and since I have a local mirror, it's very fast. 99:59:59.999 --> 99:59:59.999 This is the one part on the installation image partial mirror with all the packages 99:59:59.999 --> 99:59:59.999 and the other is that the config space which you can also download. 99:59:59.999 --> 99:59:59.999 So this is the config space that was really created for you 99:59:59.999 --> 99:59:59.999 by clicking the web interface. 99:59:59.999 --> 99:59:59.999 If you want to do more things with FAI, you can set up your own FAI server 99:59:59.999 --> 99:59:59.999 and use this configuration space. 99:59:59.999 --> 99:59:59.999 And, that's also very new, the two commands that are used for creating this ISO image 99:59:59.999 --> 99:59:59.999 are now also listed there. 99:59:59.999 --> 99:59:59.999 First, create the partial mirror and then create the installation image. 99:59:59.999 --> 99:59:59.999 Ok, copy link location… 99:59:59.999 --> 99:59:59.999 Let's see how good the network is here. 99:59:59.999 --> 99:59:59.999 [Q] It's a rather large image. 99:59:59.999 --> 99:59:59.999 Yeah, because it includes all the packages