[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:15.52,Default,,0000,0000,0000,,{\i1}wikipaka preroll music{\i0} Dialogue: 0,0:00:15.52,0:00:22.72,Default,,0000,0000,0000,,Hello and welcome to my talk on Remixing\NLinux. My name is The one with the braid, Dialogue: 0,0:00:22.72,0:00:30.48,Default,,0000,0000,0000,,and today I'm going to introduce your own\Ncreation of a Linux distribution. We will Dialogue: 0,0:00:30.48,0:00:37.28,Default,,0000,0000,0000,,talk on remixing Linux, on the\Narchitecture you require to run an own Dialogue: 0,0:00:37.28,0:00:50.83,Default,,0000,0000,0000,,Linux distribution, and some of the usual\Nuse cases. OK, let's start. Well, what are Dialogue: 0,0:00:50.83,0:00:57.36,Default,,0000,0000,0000,,use cases, what are purposes of your own\NLinux distribution? Of course, you could Dialogue: 0,0:00:57.36,0:01:02.54,Default,,0000,0000,0000,,customize Linux distribution for your\Nenterprise environment. For example, if Dialogue: 0,0:01:02.54,0:01:08.15,Default,,0000,0000,0000,,you require special network settings, your\Nown services to be installed, it's Dialogue: 0,0:01:08.15,0:01:15.30,Default,,0000,0000,0000,,sometimes easier to create an own\Ndistribution than using a ready to use Dialogue: 0,0:01:15.30,0:01:21.28,Default,,0000,0000,0000,,distribution and customizing it. Another\Noption is that you discovered something Dialogue: 0,0:01:21.28,0:01:27.88,Default,,0000,0000,0000,,fully new and decide to create your own\NLinux distribution. That's what we call Dialogue: 0,0:01:27.88,0:01:34.02,Default,,0000,0000,0000,,yet another Linux distribution.\NPlease, please do not do this. We already Dialogue: 0,0:01:34.02,0:01:42.29,Default,,0000,0000,0000,,have enough different flavors of Linux.\NOK, another valid reason is missing Dialogue: 0,0:01:42.29,0:01:46.64,Default,,0000,0000,0000,,software. If you require a special\Nsoftware for use case and you want to Dialogue: 0,0:01:46.64,0:01:52.45,Default,,0000,0000,0000,,bundle it into your operating system.\NThat's a usual use case. Moreover, Dialogue: 0,0:01:52.45,0:02:02.25,Default,,0000,0000,0000,,embedding for microcontrollers is a common\Nuse case for Linux remixing, as well as Dialogue: 0,0:02:02.25,0:02:11.20,Default,,0000,0000,0000,,OEM hardware support for computer vendors\Nto bundle Linux. Some known vendors do Dialogue: 0,0:02:11.20,0:02:18.51,Default,,0000,0000,0000,,this. Yeah, and of course, another desktop\Nor in general different preinstalled Dialogue: 0,0:02:18.51,0:02:24.76,Default,,0000,0000,0000,,applications are a good reason to create\Nyour own distribution. OK, what are we Dialogue: 0,0:02:24.76,0:02:30.62,Default,,0000,0000,0000,,going to have a look on today? We will\Nlook on live systems, because that's the Dialogue: 0,0:02:30.62,0:02:36.39,Default,,0000,0000,0000,,most common use case. Afterwards we will\Ngo through step by step instructions for Dialogue: 0,0:02:36.39,0:02:44.13,Default,,0000,0000,0000,,and next, we take an example of Ubuntu. We\Ntalk on making your system installable and Dialogue: 0,0:02:44.13,0:02:49.86,Default,,0000,0000,0000,,we will talk about a simple tool\Nsimplifying some of these steps. We will Dialogue: 0,0:02:49.86,0:02:55.37,Default,,0000,0000,0000,,have a look on Linux from scratch, meaning\Ncompiling everything yourself without Dialogue: 0,0:02:55.37,0:03:01.32,Default,,0000,0000,0000,,using any templates or anything. And we'll\Nlook at the architecture you require to Dialogue: 0,0:03:01.32,0:03:07.35,Default,,0000,0000,0000,,run your own Linux distribution, a.k.a.\Npackage mirrors. OK, let's start with a Dialogue: 0,0:03:07.35,0:03:15.08,Default,,0000,0000,0000,,live system. What are properties of a live\Nsystem? Of course it needs to fulfill some Dialogue: 0,0:03:15.08,0:03:22.76,Default,,0000,0000,0000,,requirements. If you use a tiny pen drive,\NI don't know, eight gigabyte or 16 Dialogue: 0,0:03:22.76,0:03:30.24,Default,,0000,0000,0000,,gigabyte, it's obvious you need to\Ncompress your whole system. Moreover, it Dialogue: 0,0:03:30.24,0:03:37.02,Default,,0000,0000,0000,,must be writable at runtime. Just try to\Nmount your root filesystem in Read-Only and Dialogue: 0,0:03:37.02,0:03:43.12,Default,,0000,0000,0000,,run a web browser. You run into big\Ntrouble. Same for network connections. If Dialogue: 0,0:03:43.12,0:03:50.25,Default,,0000,0000,0000,,you connect to wifi without writable root\Nsystem, you will run into big trouble. And Dialogue: 0,0:03:50.25,0:03:55.97,Default,,0000,0000,0000,,another requirement, it's not really a\Nrequirement, but it's recommended is an Dialogue: 0,0:03:55.97,0:04:00.84,Default,,0000,0000,0000,,accessible live media. So if we have our\Npen drive containing our live Linux Dialogue: 0,0:04:00.84,0:04:05.68,Default,,0000,0000,0000,,distribution, we sometimes need to access\Nthe pen drive itself in our live Dialogue: 0,0:04:05.68,0:04:12.11,Default,,0000,0000,0000,,environment. For example, if we'll have\Npackages of our distribution inside or on Dialogue: 0,0:04:12.11,0:04:19.67,Default,,0000,0000,0000,,our pen drive, we may want to install them\Nlater. Then it's quite good to have your Dialogue: 0,0:04:19.67,0:04:26.88,Default,,0000,0000,0000,,live media accessible. Well, of course, we\Ncould script everything on our own, but Dialogue: 0,0:04:26.88,0:04:33.68,Default,,0000,0000,0000,,someone already did all these steps and\Nhas put them into a tiny software called Dialogue: 0,0:04:33.68,0:04:40.60,Default,,0000,0000,0000,,Casper. Casper does exactly what we want,\Ncreates a union file system, meaning an Dialogue: 0,0:04:40.60,0:04:48.34,Default,,0000,0000,0000,,overlay on the existing file system and\Ncreates a kind of fake writable system in Dialogue: 0,0:04:48.34,0:04:53.94,Default,,0000,0000,0000,,memory, file system in memory. So it\Nallows modification of files, creation of Dialogue: 0,0:04:53.94,0:04:59.42,Default,,0000,0000,0000,,new files while they are actually being\Nstored in the memory instead of on our Dialogue: 0,0:04:59.42,0:05:05.72,Default,,0000,0000,0000,,physical disk. It mounts the live media\Nand it shows up a pretty display manager Dialogue: 0,0:05:05.72,0:05:12.04,Default,,0000,0000,0000,,you can see over here. That's the Ubuntu\Nmate, it asks whether you want to try our Dialogue: 0,0:05:12.04,0:05:19.16,Default,,0000,0000,0000,,system or whether we want to install our\Nsystem. OK, let's talk about the Dialogue: 0,0:05:19.16,0:05:24.94,Default,,0000,0000,0000,,compression, because the compression we\Nrequire is tremendous. If we have a normal Dialogue: 0,0:05:24.94,0:05:32.55,Default,,0000,0000,0000,,desktop distribution. Believe me, it\Nconsists of about 30 gigabyte of data. Dialogue: 0,0:05:32.55,0:05:37.81,Default,,0000,0000,0000,,Our applications, as soon as you install\Nsome more applications like LibreOffice or Dialogue: 0,0:05:37.81,0:05:46.77,Default,,0000,0000,0000,,a Web browser and some tools, you will\Nreach the 30 gigabyte or 20 gigabytes, but Dialogue: 0,0:05:46.77,0:05:53.28,Default,,0000,0000,0000,,if you ever downloaded a live\Ndistribution, you will realize it's not 30 Dialogue: 0,0:05:53.28,0:06:03.68,Default,,0000,0000,0000,,gigabyte. It's about two gigabyte or one\Npoint five. I noted in my slides. Yeah, it Dialogue: 0,0:06:03.68,0:06:10.56,Default,,0000,0000,0000,,means we need to compress our file system\Non about 5 or 10 percent of the actual Dialogue: 0,0:06:10.56,0:06:19.20,Default,,0000,0000,0000,,size. That's not difficult. There are many\Ncompression algorithms we may use, but we Dialogue: 0,0:06:19.20,0:06:26.64,Default,,0000,0000,0000,,have another requirement. We need\Nperformant readability. As soon as we boot Dialogue: 0,0:06:26.64,0:06:33.28,Default,,0000,0000,0000,,a system, our kernel won't stop accessing\Nany files, reading files, writing files. Dialogue: 0,0:06:33.28,0:06:38.89,Default,,0000,0000,0000,,So we need a performant readability\Nbecause no one wants to wait five minutes Dialogue: 0,0:06:38.89,0:06:45.84,Default,,0000,0000,0000,,to see the Web browser. And that's what\Nthe squash file system is made for. The Dialogue: 0,0:06:45.84,0:06:52.08,Default,,0000,0000,0000,,squash file system is a compressed file system.\NIt's kind of a disk image, but more Dialogue: 0,0:06:52.08,0:06:59.44,Default,,0000,0000,0000,,advanced. It's used in diverse Linuxes.\NIt's used in the operating system of Dialogue: 0,0:06:59.44,0:07:05.84,Default,,0000,0000,0000,,Chromecast and in the Linux userland it's\Nused by app images. These are these click- Dialogue: 0,0:07:05.84,0:07:12.96,Default,,0000,0000,0000,,to-run Linux binaries you can download,\Nand it's used by snap packages from Dialogue: 0,0:07:12.96,0:07:19.84,Default,,0000,0000,0000,,canonical's proprietary snap package\Nmanager, which is unfortunately very Dialogue: 0,0:07:19.84,0:07:27.20,Default,,0000,0000,0000,,widely spread. Yeah. Now we know something\Nabout compression. Let's talk about how Dialogue: 0,0:07:27.20,0:07:33.60,Default,,0000,0000,0000,,the customization works. Well, first of\Nall, we download a template. We create a Dialogue: 0,0:07:33.60,0:07:40.97,Default,,0000,0000,0000,,base system from which we start our\Ncustomization process. Well, we start Dialogue: 0,0:07:40.97,0:07:48.92,Default,,0000,0000,0000,,the customization itself. We prepare a CD\Nenvironment. So when you put a bootloader Dialogue: 0,0:07:48.92,0:07:56.10,Default,,0000,0000,0000,,on a CD, we pack our root file system we\Njust created, put it on the CD, put a Dialogue: 0,0:07:56.10,0:08:05.49,Default,,0000,0000,0000,,kernel there, make it, harden it a bit,\Nand at the end we will pack it. OK, let's Dialogue: 0,0:08:05.49,0:08:16.14,Default,,0000,0000,0000,,go through it, step by step. In this case,\Nwe will have a look at Ubuntu, we will go Dialogue: 0,0:08:16.14,0:08:23.15,Default,,0000,0000,0000,,step by step through the customization\Nprocess of Ubuntu. How do you start the Dialogue: 0,0:08:23.15,0:08:31.39,Default,,0000,0000,0000,,customization process? Well, you need an\Nexisting ISO file from a live environment Dialogue: 0,0:08:31.39,0:08:38.78,Default,,0000,0000,0000,,of Ubuntu, because it contains the\Nbootloader, the directory structure and Dialogue: 0,0:08:38.78,0:08:47.94,Default,,0000,0000,0000,,everything, all the assets. Of course, you\Ncould create them on your own, but, well, Dialogue: 0,0:08:47.94,0:08:54.72,Default,,0000,0000,0000,,it's more work than you have to do. You\Ncan easily use the existing bootloader and Dialogue: 0,0:08:54.72,0:09:00.52,Default,,0000,0000,0000,,the existing files and directory structure\Nfrom an existing ISO file. Well, let's Dialogue: 0,0:09:00.52,0:09:07.44,Default,,0000,0000,0000,,extract it and we're fine. We're done with\Nit. Afterwards, we need to create a base Dialogue: 0,0:09:07.44,0:09:14.55,Default,,0000,0000,0000,,system. A base system is, well, the base\Nof Linux. We have the base utils, the Dialogue: 0,0:09:14.55,0:09:24.59,Default,,0000,0000,0000,,base files, the directory structure, the\Nkernel, a shell. The package manager of Dialogue: 0,0:09:24.59,0:09:32.67,Default,,0000,0000,0000,,our operating system we have. Without any\Nunnecessary tools, without, just the base Dialogue: 0,0:09:32.67,0:09:40.99,Default,,0000,0000,0000,,of everything. You can either download the\Nprepared base system of the distribution for Dialogue: 0,0:09:40.99,0:09:48.56,Default,,0000,0000,0000,,download, but you could create one on your\Nown using tools like the other Debian tool Dialogue: 0,0:09:48.56,0:09:55.12,Default,,0000,0000,0000,,to create base system or the corresponding\Ntools from other distributions. Yeah, as Dialogue: 0,0:09:55.12,0:10:01.36,Default,,0000,0000,0000,,soon as you have your base system, you\Nneed to change your root inside this base Dialogue: 0,0:10:01.36,0:10:08.70,Default,,0000,0000,0000,,system. And then you start the\Ncustomization process by installing the Dialogue: 0,0:10:08.70,0:10:15.41,Default,,0000,0000,0000,,necessary drivers. We already talked about\NCasper. Casper is this tool providing the Dialogue: 0,0:10:15.41,0:10:23.54,Default,,0000,0000,0000,,live software and the live scripts, the\Noverlay file system in Ubuntu based Dialogue: 0,0:10:23.54,0:10:31.64,Default,,0000,0000,0000,,systems. And it creates an initial RAM-\Nfile-system and installes the required Dialogue: 0,0:10:31.64,0:10:37.88,Default,,0000,0000,0000,,kernel modules to load and to boot a\Nsquashed file system. So let's install Dialogue: 0,0:10:37.88,0:10:45.91,Default,,0000,0000,0000,,these three packages, Casper, Ubiquity-\NCasper and Lupin-Casper. And afterwards we Dialogue: 0,0:10:45.91,0:10:52.16,Default,,0000,0000,0000,,can install whatever we want. We can\Ninstall our loved vim, we can install our Dialogue: 0,0:10:52.16,0:10:59.60,Default,,0000,0000,0000,,loved Alpaka software, and we can install\Nan alternative shell, the packages we Dialogue: 0,0:10:59.60,0:11:07.22,Default,,0000,0000,0000,,want. In the example code I provided here\Nwe look on changing the plymouth screen. Dialogue: 0,0:11:07.22,0:11:13.02,Default,,0000,0000,0000,,That's the startup screen which shows up\Nwhen you boot the distribution. I don't Dialogue: 0,0:11:13.02,0:11:19.61,Default,,0000,0000,0000,,know, you could put an Alpaka in there or\Nthe logo of rC3. Yeah, that's what we do Dialogue: 0,0:11:19.61,0:11:27.28,Default,,0000,0000,0000,,in customization or modification of the\Nsystem. Afterwards, we continue packing Dialogue: 0,0:11:27.28,0:11:33.65,Default,,0000,0000,0000,,everything we created. First of all, we\Nneed a Kernel to boot , because well Dialogue: 0,0:11:33.65,0:11:39.79,Default,,0000,0000,0000,,before our base system can be extracted,\Nwe need to load a kernel by the bootloader Dialogue: 0,0:11:39.79,0:11:46.69,Default,,0000,0000,0000,,and the kernel must contain the\Ncorresponding kernel modules to load, to Dialogue: 0,0:11:46.69,0:11:52.89,Default,,0000,0000,0000,,boot a squash file system. That's what\NCaspar already prepared for us, we only Dialogue: 0,0:11:52.89,0:12:00.50,Default,,0000,0000,0000,,need to create the initial run file system\Nand if you read the code I provided, you Dialogue: 0,0:12:00.50,0:12:08.04,Default,,0000,0000,0000,,will see I was missing an minus between\Nupdate and init RAM file system. Let's Dialogue: 0,0:12:08.04,0:12:16.56,Default,,0000,0000,0000,,create our initial RAM file system and\Ncopy them or copy it together with our Dialogue: 0,0:12:16.56,0:12:25.25,Default,,0000,0000,0000,,kernel to our extracted live environment.\NAnd can delete the prior kernels and so Dialogue: 0,0:12:25.25,0:12:30.60,Default,,0000,0000,0000,,on. We don't need them. We have our own\Nkernels now. Afterwards we pack our base Dialogue: 0,0:12:30.60,0:12:36.32,Default,,0000,0000,0000,,system. Of course we need to unmount any\Nmount points in the base system we created Dialogue: 0,0:12:36.32,0:12:42.94,Default,,0000,0000,0000,,and create a squash file system from it.\NAnd these three files, the VM Linux, the Dialogue: 0,0:12:42.94,0:12:50.12,Default,,0000,0000,0000,,initial Ramdisk and the squashfs file\Nsystem, they are the major pillars of our Dialogue: 0,0:12:50.12,0:12:55.68,Default,,0000,0000,0000,,live environment. If we have those three,\Nwe are actually ready to go now. We can Dialogue: 0,0:12:55.68,0:13:00.99,Default,,0000,0000,0000,,either use our existing bootloader from\Nour extracted ISO file or we, of course, Dialogue: 0,0:13:00.99,0:13:06.96,Default,,0000,0000,0000,,you can install your own bootloader in\Nthis directory. But well, it's easier to Dialogue: 0,0:13:06.96,0:13:13.87,Default,,0000,0000,0000,,use the existing. For security purposes\Nand for hardening your live environment I Dialogue: 0,0:13:13.87,0:13:22.15,Default,,0000,0000,0000,,would recommend to put the MD5 sums of all\Nfiles in your ISO file in this Dialogue: 0,0:13:22.15,0:13:28.38,Default,,0000,0000,0000,,environment, because as soon as you, for\Nexample, copy your distribution, for Dialogue: 0,0:13:28.38,0:13:36.93,Default,,0000,0000,0000,,example, on a pen drive on which is fat or\Next4 formatted, it could be modified by Dialogue: 0,0:13:36.93,0:13:43.43,Default,,0000,0000,0000,,anyone. And that's why it's much better to\Nverify the MD5 sums at the boot process. Dialogue: 0,0:13:43.43,0:13:50.38,Default,,0000,0000,0000,,Casper will automatically detect whether\Nthe MD5 sum, the txt file exists and if Dialogue: 0,0:13:50.38,0:13:56.56,Default,,0000,0000,0000,,it exists, it will automatically verify\Nthese MD5 sums. OK, now we are actually Dialogue: 0,0:13:56.56,0:14:03.38,Default,,0000,0000,0000,,ready to go, ready to pack up our ISO\Nfile. There's a famous tool called Dialogue: 0,0:14:03.38,0:14:11.03,Default,,0000,0000,0000,,genisoimage. So generate an ISO image,\Nthat's a command you could use. The Dialogue: 0,0:14:11.03,0:14:20.08,Default,,0000,0000,0000,,command takes care of legacy booting\Nexcept of output file, the disk and the Dialogue: 0,0:14:20.08,0:14:28.40,Default,,0000,0000,0000,,disk image and the -r parameter, you could\Nleave out everything if you do not require Dialogue: 0,0:14:28.40,0:14:37.32,Default,,0000,0000,0000,,legacy bootloaders. But if you want to\Nobey legacy bootloaders, you should also Dialogue: 0,0:14:37.32,0:14:44.96,Default,,0000,0000,0000,,hybritize your ISO file to be able to dd\Nthe ISO file to a pen drive. Otherwise, Dialogue: 0,0:14:44.96,0:14:51.60,Default,,0000,0000,0000,,without the ISO hybrid command, it won't\Nboot from, it would boot from a CD, but Dialogue: 0,0:14:51.60,0:15:01.28,Default,,0000,0000,0000,,not from a pen drive. Yeah. OK, now we\Ncreated our own Linux distribution. Well Dialogue: 0,0:15:01.28,0:15:05.36,Default,,0000,0000,0000,,not that much. It's actually just a\Nrepacked Linux distribution. Now we talk Dialogue: 0,0:15:05.36,0:15:11.04,Default,,0000,0000,0000,,about making it a real distribution.\NThat's why we talk about making it Dialogue: 0,0:15:11.04,0:15:18.56,Default,,0000,0000,0000,,installable. Why should we make it\Ninstallable? Of course we could manually Dialogue: 0,0:15:18.56,0:15:25.28,Default,,0000,0000,0000,,install our system. We could manually format\Nour hard drive, extract our file system and Dialogue: 0,0:15:25.28,0:15:32.96,Default,,0000,0000,0000,,manually create users and so on, et\Ncetera, et cetera. But most of users Dialogue: 0,0:15:32.96,0:15:39.92,Default,,0000,0000,0000,,prefer graphical way except of these geeks\Ntaking part at the rC3. That's why an Dialogue: 0,0:15:39.92,0:15:48.40,Default,,0000,0000,0000,,installer may be useful. An installer does\Nexactly what we need. It creates Dialogue: 0,0:15:48.40,0:15:54.56,Default,,0000,0000,0000,,partitions, creates users, installs\Nlanguage-packs, offers installation of Dialogue: 0,0:15:54.56,0:15:59.76,Default,,0000,0000,0000,,extra software and does everything the\Nuser might want. Creates users, connects Dialogue: 0,0:15:59.76,0:16:05.76,Default,,0000,0000,0000,,to wifi, whatever. And there are three\Nvery common installer frameworks: Dialogue: 0,0:16:05.76,0:16:12.08,Default,,0000,0000,0000,,Ubiquity, Calamaris and Anaconda. Now\Nwe'll have a look at these frameworks. Dialogue: 0,0:16:12.96,0:16:21.76,Default,,0000,0000,0000,,Ubiquity is known from Ubuntu. It's ready\Nto use if installed, but it's actually not Dialogue: 0,0:16:21.76,0:16:30.32,Default,,0000,0000,0000,,at all customizable. Anyway, some hackers\Nat GitHub found some ways to customize it Dialogue: 0,0:16:30.88,0:16:36.32,Default,,0000,0000,0000,,and provided some good information, some\Nhelpful information in their repositories. Dialogue: 0,0:16:36.32,0:16:42.88,Default,,0000,0000,0000,,The next one is Calamaris. Calamiris is\Nhighly customizable, is used by many Dialogue: 0,0:16:42.88,0:16:50.72,Default,,0000,0000,0000,,distributions, including SUSE Linux, I\Nthink Xubuntu, so the XFCE Ubuntu flavor, Dialogue: 0,0:16:51.44,0:16:59.84,Default,,0000,0000,0000,,DeepinOS, I think I am unsure. I think\Nelementary as well. But if you only Dialogue: 0,0:16:59.84,0:17:05.60,Default,,0000,0000,0000,,install it, it won't work. You need to\Ncustomize it. The third one is known from Dialogue: 0,0:17:05.60,0:17:13.84,Default,,0000,0000,0000,,the Fedora project. It's called Anaconda.\NIt's a very advanced tool. It's able to Dialogue: 0,0:17:13.84,0:17:19.52,Default,,0000,0000,0000,,update existing systems. If we have an old\NFedora installation, we can boot our live Dialogue: 0,0:17:19.52,0:17:26.64,Default,,0000,0000,0000,,CD and update the existing installation\Nand moreover, very useful for admins is Dialogue: 0,0:17:26.64,0:17:32.64,Default,,0000,0000,0000,,the remote functionality. It can be\Nstarted via SSH and automatically update Dialogue: 0,0:17:32.64,0:17:38.40,Default,,0000,0000,0000,,everything and automatically install and\Ndeploy the software we need. Um, yeah. Dialogue: 0,0:17:40.24,0:17:46.72,Default,,0000,0000,0000,,Well, I already mentioned, for everything\Nyou can manually do and customize, there Dialogue: 0,0:17:46.72,0:17:52.08,Default,,0000,0000,0000,,is a graphical tool. If you prefer the\Ngraphical way you could use the tool Dialogue: 0,0:17:52.08,0:18:00.56,Default,,0000,0000,0000,,remastersys, aka LinuxRespin. That's the\Nthe older name. It offers a simple Dialogue: 0,0:18:00.56,0:18:07.12,Default,,0000,0000,0000,,graphical user interface for packing your\Ncurrently installed system into a live Dialogue: 0,0:18:07.12,0:18:13.04,Default,,0000,0000,0000,,distribution, allowing to install it. It\Ndoes not allow a high amount of Dialogue: 0,0:18:13.04,0:18:16.88,Default,,0000,0000,0000,,customization in the graphical way, of\Ncourse, you can manually perform it on the Dialogue: 0,0:18:16.88,0:18:24.08,Default,,0000,0000,0000,,command prompt. But it's an easy way to,\Nfor example, backup your just installed Dialogue: 0,0:18:24.08,0:18:29.92,Default,,0000,0000,0000,,system or you readily configured system to\Na pen drive to make it installable later. Dialogue: 0,0:18:34.16,0:18:40.48,Default,,0000,0000,0000,,And now, Linux from scratch. I guess most\Nof you already heard of Linux from scratch Dialogue: 0,0:18:40.48,0:18:45.92,Default,,0000,0000,0000,,from scratch means, yeah, pretty much\NLinux from scratch. You start without Dialogue: 0,0:18:45.92,0:18:51.68,Default,,0000,0000,0000,,anything. You start on your host system\Nand create an own system from scratch. Dialogue: 0,0:18:53.12,0:18:59.12,Default,,0000,0000,0000,,What does that mean? It means you should\Nhave lots of time. Lots of RAM, and many Dialogue: 0,0:18:59.12,0:19:05.12,Default,,0000,0000,0000,,processor cores. Because you need to\Ncompile everything yourself. Beside the Dialogue: 0,0:19:05.12,0:19:10.48,Default,,0000,0000,0000,,kernel, you need to compile the whole\Nuserland. If you want, you can include a Dialogue: 0,0:19:10.48,0:19:15.84,Default,,0000,0000,0000,,package manager or whatever. But if you\Nmake real Linux from scratch, you do not Dialogue: 0,0:19:15.84,0:19:20.40,Default,,0000,0000,0000,,take any binaries but compile everything\Nyourself, everything on your own. Dialogue: 0,0:19:21.44,0:19:28.72,Default,,0000,0000,0000,,Currently, minimally, you need to compile\N226 dependencies. But in some years it Dialogue: 0,0:19:28.72,0:19:36.00,Default,,0000,0000,0000,,will be some more dependencies and the\Namount of dependencies required increases. Dialogue: 0,0:19:36.00,0:19:40.80,Default,,0000,0000,0000,,Yeah, after you compile everything, of\Ncourse you need to configure everything, Dialogue: 0,0:19:40.80,0:19:47.12,Default,,0000,0000,0000,,need to provide a bootloader. But as soon\Nas this is done, as soon as you created Dialogue: 0,0:19:47.76,0:19:53.84,Default,,0000,0000,0000,,your own base system, your own system from\Nscratch inside a fake root, it's the same Dialogue: 0,0:19:53.84,0:20:02.72,Default,,0000,0000,0000,,as we already talked on during live system\Ncustomization. As soon as you have this Dialogue: 0,0:20:02.72,0:20:08.08,Default,,0000,0000,0000,,fake root, you simply pack it to an image,\Nso a squash file system, write it on a Dialogue: 0,0:20:08.08,0:20:13.84,Default,,0000,0000,0000,,disk, provide a bootloader, and that's it.\NOK, one more word. I will talk about Dialogue: 0,0:20:14.56,0:20:18.96,Default,,0000,0000,0000,,maintaining architecture for\Ndistributions. I will talk about package Dialogue: 0,0:20:18.96,0:20:24.88,Default,,0000,0000,0000,,servers. If you have a distribution, you\Nusually provide updates, security fixes Dialogue: 0,0:20:25.68,0:20:32.96,Default,,0000,0000,0000,,and whatsoever. Maybe software the users\Nmay install later. Yeah, that's a package Dialogue: 0,0:20:32.96,0:20:40.32,Default,,0000,0000,0000,,mirror, a packet server. From Debian, you\Ncan simply mirror existing servers, for Dialogue: 0,0:20:40.32,0:20:47.92,Default,,0000,0000,0000,,example, the Debian or the Ubuntu or the\NLinux Mint servers by using the tool apt- Dialogue: 0,0:20:47.92,0:20:54.32,Default,,0000,0000,0000,,mirror. It simply mirrors, means it does\Nnot allow any customization. For ArchLinux Dialogue: 0,0:20:54.32,0:21:01.44,Default,,0000,0000,0000,,it's easy as well. You can simply use vftp\Nand crontab to download the packages and Dialogue: 0,0:21:01.44,0:21:09.36,Default,,0000,0000,0000,,provide them on your host system, on your\Nserver and synchronize from them. That's Dialogue: 0,0:21:09.36,0:21:15.44,Default,,0000,0000,0000,,much easier than in the Debian\Nenvironment. But usually if you have a Dialogue: 0,0:21:15.44,0:21:21.52,Default,,0000,0000,0000,,distribution, you want to customize it. At\NDebian, the tool aptly is very widely Dialogue: 0,0:21:21.52,0:21:26.08,Default,,0000,0000,0000,,spread because it allows very advanced\Nmanagement of different snapshots from Dialogue: 0,0:21:26.08,0:21:31.20,Default,,0000,0000,0000,,different repositories, mirrors, local\Nrepositories, single packages, allows Dialogue: 0,0:21:31.20,0:21:36.56,Default,,0000,0000,0000,,diffs and so on. But it does not allow any\Noptimization. So good luck at scripting on Dialogue: 0,0:21:36.56,0:21:43.84,Default,,0000,0000,0000,,your own. If you look at ArchLinux, for\Nexample, you would usually write your own Dialogue: 0,0:21:44.56,0:21:50.32,Default,,0000,0000,0000,,package build files as you know them from\Nthe Arch user repository and include the Dialogue: 0,0:21:50.88,0:21:57.92,Default,,0000,0000,0000,,readily build packages into your directory\Nfrom which you serve your updates. That's Dialogue: 0,0:21:57.92,0:22:02.08,Default,,0000,0000,0000,,much easier than in the Debian\Nenvironment. I still found one more Dialogue: 0,0:22:02.08,0:22:08.40,Default,,0000,0000,0000,,graphic explaining aptly. That's what\Naptly can do. It can do everything. Well, Dialogue: 0,0:22:08.40,0:22:12.40,Default,,0000,0000,0000,,you have mirrors, you have local\Nrepositories. You can take snapshots, take Dialogue: 0,0:22:12.40,0:22:17.04,Default,,0000,0000,0000,,differences from snapshots, publish these\Ndifferences, publish merged snapshots of Dialogue: 0,0:22:17.04,0:22:23.68,Default,,0000,0000,0000,,them, publish single snapshots, diff\Neverything and do whatever you want. It's Dialogue: 0,0:22:23.68,0:22:30.64,Default,,0000,0000,0000,,very performant, the tool and yeah, but\Nit's hard to use. It requires some time to Dialogue: 0,0:22:30.64,0:22:38.72,Default,,0000,0000,0000,,be learned. Yeah, that's it already on\Nremixing Linux. Now there should be an Dialogue: 0,0:22:38.72,0:22:44.64,Default,,0000,0000,0000,,Q&A. Thank you very much for your\Nattention of this talk. I hope I could Dialogue: 0,0:22:44.64,0:22:53.04,Default,,0000,0000,0000,,give you a good introduction into remixing\NLinux and good luck at coding and enjoy Dialogue: 0,0:22:53.04,0:22:56.90,Default,,0000,0000,0000,,your Remote Chaos Experience. Dialogue: 0,0:22:56.90,0:23:00.73,Default,,0000,0000,0000,,{\i1}Music{\i0} Dialogue: 0,0:23:00.73,0:23:13.16,Default,,0000,0000,0000,,Subtitles created by c3subtitles.de\Nin the year 2021. Join, and help us!