From 61a5f8009e03179fc7bbca50f080aa029d9858b1 Mon Sep 17 00:00:00 2001 From: Fernando Cejas Date: Wed, 8 Apr 2020 15:15:08 +0200 Subject: [PATCH 1/5] Fix articles ids. Add description to latest article. --- _posts/2019-06-13-technical-debt-guru-level-unlocked.md | 2 +- _posts/2020-03-21-learn-out-of-mistakes-postmortems.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/_posts/2019-06-13-technical-debt-guru-level-unlocked.md b/_posts/2019-06-13-technical-debt-guru-level-unlocked.md index d9fbb4f..0219736 100644 --- a/_posts/2019-06-13-technical-debt-guru-level-unlocked.md +++ b/_posts/2019-06-13-technical-debt-guru-level-unlocked.md @@ -420,4 +420,4 @@ There is also a video of my talk at Technical Debt explained. * In defense of Tech Debt. * How to manage Technical Debt. -* People and Code. \ No newline at end of file +* People and Code. diff --git a/_posts/2020-03-21-learn-out-of-mistakes-postmortems.md b/_posts/2020-03-21-learn-out-of-mistakes-postmortems.md index ce5c180..5cd184d 100644 --- a/_posts/2020-03-21-learn-out-of-mistakes-postmortems.md +++ b/_posts/2020-03-21-learn-out-of-mistakes-postmortems.md @@ -1,9 +1,9 @@ --- -id: 16 +id: 17 title: Learn out of mistakes. Postmortems to the rescue. date: 2020-03-21T12:54:33+00:00 author: fernando -description: description. +description: Postmortem are a good way of promoting and encouraging continuos improvement and learning out of mistakes. Let's jump in and see how we can leverage this technique in order to get the best out it. layout: post permalink: /2020/03/21/learn-out-of-mistakes-postmortems/ image: assets/images/learn_out_mistakes_postmortems_featured.jpg From 71d3739e657d2ca1a562ec47fe943f9c70177b10 Mon Sep 17 00:00:00 2001 From: Fernando Cejas Date: Wed, 8 Apr 2020 15:27:34 +0200 Subject: [PATCH 2/5] Add new article: Install Arch Linux with disk encryption. --- ...all-arch-linux-with-disk-encryption-nuc.md | 524 ++++++++++++++++++ 1 file changed, 524 insertions(+) create mode 100644 _posts/2020-04-08-install-arch-linux-with-disk-encryption-nuc.md diff --git a/_posts/2020-04-08-install-arch-linux-with-disk-encryption-nuc.md b/_posts/2020-04-08-install-arch-linux-with-disk-encryption-nuc.md new file mode 100644 index 0000000..2e5e6d2 --- /dev/null +++ b/_posts/2020-04-08-install-arch-linux-with-disk-encryption-nuc.md @@ -0,0 +1,524 @@ +--- +id: 18 +title: Install Arch Linux with Disk Encryption +date: 2020-04-08T10:22:11+00:00 +author: fernando +description: This post is going to help you to install Arch Linux with full disk encryption. +layout: post +permalink: /2020/04/08/install-arch-linux-with-disk-encryption/ +image: assets/images/learn_out_mistakes_postmortems_featured.jpg +comments: false +featured: true +hidden: true +categories: [ linux, security, encryption ] +tags: + - linux + - security + - encryption + - lvm + - luks + - arch +--- +This post is going to help you to install Arch Linux with full disk encryption. +In this case I will do it on an Intel NUC I will use as a server but this guide could be applied to any other device. +Make sure that you check device specifics on the well documented Arch Linux Wiki while following this guide. + +## Why Arch Linux +Give the reasons + +## First steps + +Once you've loaded the Arch Linux LiveCD and booted from it you'll find +yourself at a prompt. Graphical installations is not a thing Arch Linux +does, so this is where we'll start. + +The prompt should say `root@archiso ~ #` to indicate you're at a root +prompt. I'll be shortening that to `$` in this guide, because `#` trips up +the syntax highlighting. + +First things first, lets ensure we can actually read the console: + +```bash +$ setfont latarcyrheb-sun32 +``` + +Now, configure the network. I connected over WiFi, which you can set up +by launching `wifi-menu`. + +The hostname of my system is `monoceros`, aka unicorn. You'll see this +come back in a few places, especially when setting up the volumes in +LVM. Swap it out for your own :). Or don't use the hostname at all but +some generic like `myvol` or `archlinux`. + +Once that's done, we can start building up to the installation. + +## Disk partitioning + +My layout is as follows: + + * /dev/nvme0n1p1: /boot + * /dev/nvmen0n1p2: LUKS + * /dev/mapper/cryptlvm: lvm + * /dev/mapper/monoceros-swap: swap + * /dev/mapper/monoceros-root: / + * /dev/mapper/monoceros-home: /home + +This results in a fully encrypted system, aside from the boot partition. This +is good enough for my threat model, which is mostly to ensure my data doesn't +land on the street if someone steals my laptop. It'll give most law +enforcement agencies a run for their money too, though if you want to protect +from nation state actors you'll probably need to come up with something +more. + +I did this with parted: + +```bash +$ parted /dev/nvme0n1 + + (parted) mklabel gpt # wipes out existing partitioning + (parted) mkpart ESP fat32 1MiB 513MiB # create the UEFI boot partition + (parted) set 1 boot on # mark the first partition as bootable + (parted) mkpart primary # turn the remaining space in one big partition + File system type: ext2 # don't worry about this, we'll format it after anyway + Start: 514MiB + End: 100% +``` + +If you now check the layout: + +```bash + (parted) print + Model: Unknown (unknown) + Disk /dev/nvme0n1: 512GB + Sector size (logical/physical): 512B/512B + Partition Table: gpt + Disk Flags: + + Number Start End Size File system Name Flags + 1 1049kB 538MB 537MB fat32 boot, esp + 2 539MB 512GB 512GB ext2 + + (parted) exit +``` + +### Setting up disk encryption + +This will encrypt the second partition, which we'll then hand off to LVM to +manage the rest of our partitions. Doing it this way means everything is +protected by a single password. This is good enough for me, especially since +I don't share this machine with anyone else. + +```bash +$ cryptsetup luksFormat /dev/nvme0n1p2 + WARNING! + ======== + This will overwrite data on /dev/nvme0n1p2 irrevocably. + + Are you sure? (Type uppercase yes): YES + Enter passphrase: + Verify passphrase: +``` + +Now we need to open the encrypted disk so LVM can do its thing: + +```bash +$ cryptsetup open /dev/nvme0n1p2 cryptlvm + +Enter passphrase for /dev/nvme0n1p2: +``` + +### LVM + +Time to setup LVM. + +```bash +$ pvcreate /dev/mapper/cryptlvm # create the physical volume +Physical volume "/dev/mapper/cryptlvm" successfully created. + +$ vgcreate monoceros /dev/mapper/cryptlvm # create the volume group + Volume group "monoceros" successfully created + +$ lvcreate -L 60G monoceros -n root # create a 60GB root partition + Logical volume "root" created. + +$ lvcreate -L 18G monoceros -n swap # create a RAM+2GB swap, must be bigger than RAM for hibernate + Logical volume "swap" created. + +$ lvcreate -l 100%FREE monoceros -n home # assign the rest to home + Logical volume "home" created. + +``` + +You can check the layout by running `lvs`: + +```bash +$ lvs + LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert + home monoceros -wi-a----- 398.43g + root monoceros -wi-a----- 60.00g + swap monoceros -wi-a----- 18.00g +``` + +### Format all the partitions + +Now we're going to format all the partitions we've created so we can actually +use them. + +First the root partition: +```bash +$ mkfs.ext4 /dev/mapper/monoceros-root +mke2fs 1.43.6 (29-Aug-2017) +Creating filesystem with 15728640 4k blocks and 3932160 inodes +Filesystem UUID: 055d8ed0-19c3-4c20-bcfe-b296939f7b9b +Superblock backups stored on blocks: + 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, + 4096000, 7962624, 11239424 + +Allocating group tables: done +Writing inode tables: done +Creating journal (65536 blocks): done +Writing superblocks and filesystem accounting information: done +``` + +Now our home partition: + +```bash +$ mkfs.ext4 /dev/mapper/monoceros-home +mke2fs 1.43.6 (29-Aug-2017) +Creating filesystem with 104446976 4k blocks and 26116096 inodes +Filesystem UUID: 71738ad7-a620-496b-98a1-2b1e27b6a5e7 +Superblock backups stored on blocks: + 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, + 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, + 102400000 + +Allocating group tables: done +Writing inode tables: done +Creating journal (262144 blocks): done +Writing superblocks and filesystem accounting information: done +``` + +Swap: + +```bash +$ mkswap /dev/mapper/monoceros-swap +Setting up swapspace version 1, size = 18 GiB (19327348736 bytes) +no label, UUID=8d7a92ae-0c61-4105-aaf0-71aa61082124 +``` + +And boot. This must be a FAT32 formatted partition b/c UEFI: + +```bash +$ mkfs.fat -F32 /dev/nvme0n1p1 +mkfs.fat 4.1 (2017-01-24) +``` + +## Installing the base system + +It's time to install the base system, which we can then chroot into and +further customise our installation. + +### Mount all the partitions + +Before we can install the OS we need to mount all the partitions and then +chroot into the moutpoint of the root partition. + +```bash +$ mount /dev/mapper/monoceros-root /mnt +$ mount /dev/mapper/monoceros-home /mnt/home +$ mount /dev/nvme0n1p1 /mnt/boot +$ swapon /dev/mapper/monoceros-swap +``` + +### Setting up the mirrorlist + +Last step is to edit `/etc/pacman.d/mirrorlist` and put the mirrors closest +to you at the top. This'll help speed up the installation. You can also +[generate a mirrorlist](https://www.archlinux.org/mirrorlist/). I'd highly +recommend doing so and ensure you unckeck the `http` checkbox so you only +use mirrors you can fetch from over `https`. + +### Installing `base` + +Now that everything is set up we need to bootstrap the OS: + +```bash +$ pacstrap -i /mnt base base-devel +``` + +It'll now prompt you to confirm your package selection and then start with the +installation of the base system. + +## Configuring the new installation + +Now that the base system is there, we can chroot into it to customise our +installation and finish it. + +```bash +$ genfstab -U /mnt >> /mnt/etc/fstab +$ arch-chroot /mnt +``` + +Your prompt will now change to: `[root@archiso /]#`. + +The first thing I do is install `vim` so I can edit and customise my the +configuration: + +```bash +$ pacman -Sy vim +``` + +### Locale + +In order to setup your locale edit `/etc/locale.gen` and uncomment the locales +you want. + +After that execute the following: + +```bash +$ locale-gen +$ echo LANG=en_US.UTF-8 > /etc/locale.conf +$ export LANG=en_US.UTF-8 +``` + +### Timezone + +Set your timezone by running: + +```bash +$ tzselect +``` + +Once you've selected your timezone we need to update a few more things. First +override the `/etc/localtime` file and symlink it to your timezone: + +```bash +$ ln -sf /usr/share/zoneinfo// /etc/localtime +``` + +Sync the clock settings and set the hardware clock to UTC: + +```bash +$ hwclock --systohc --utc +``` + +### vconsole + +Set the keyboard layout and font to be used by default for the virtual +console. Create `/etc/vconsole.conf`: + +```bash +FONT=latarcyrheb-sun32 +KEYMAP=colemak +``` + +Careful with the keymap, you probably don't want to set that to `colemak` on +your system. If you don't set it you'll get the default of `us`. + +### Hostname + +Time to give your system a name by adding that to `/etc/hostname`. + +Also, add a line for that same hostname to `/etc/hosts`: + +``` +127.0.1.1 monoceros.localdomain monoceros +``` + +And tell systemd about it: + +```bash +$ hostnamectl set-hostname monoceros +``` + +### Graphics card power saving options + +Create `/etc/modprobe.d/i915.conf` with the following content: + +``` +options i915 enable_guc_loading=-1 enable_guc_submission=-1 +``` + +### mkinitcpio + +`mkinitcpio` is what is used to generate the `initramfs` you'll soon boot form. +However, due to the hardware in this laptop and our disk partitioning we have +to update it a bit. This configuration will use a full systemd based boot +stack. + +* set `MODULES` to: `(nvme i915 intel_agp)` +* set `HOOKS` to: `(base systemd autodetect keyboard sd-vconsole modconf block sd-encrypt sd-lvm2 filesystems fsck)` + +Now regenerate the initramfs: + +```bash +$ mkinitcpio -p linux + +==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default' + -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img +==> Starting build: 4.13.9-1-ARCH + -> Running build hook: [base] + -> Running build hook: [systemd] + -> Running build hook: [autodetect] + -> Running build hook: [keyboard] + -> Running build hook: [sd-vconsole] + -> Running build hook: [modconf] + -> Running build hook: [block] + -> Running build hook: [sd-encrypt] + -> Running build hook: [sd-lvm2] + -> Running build hook: [filesystems] + -> Running build hook: [fsck] +==> Generating module dependencies +==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img +==> Image generation successful +==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback' + -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect +==> Starting build: 4.13.9-1-ARCH + -> Running build hook: [base] + -> Running build hook: [systemd] + -> Running build hook: [keyboard] + -> Running build hook: [sd-vconsole] + -> Running build hook: [modconf] + -> Running build hook: [block] +==> WARNING: Possibly missing firmware for module: wd719x +==> WARNING: Possibly missing firmware for module: aic94xx + -> Running build hook: [sd-encrypt] + -> Running build hook: [sd-lvm2] + -> Running build hook: [filesystems] + -> Running build hook: [fsck] +==> Generating module dependencies +==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img +==> Image generation successful +``` + +Don't worry about those two warnings, the XPS 13 doesn't have any hardware on +board that needs those drivers. + +### Microcode + +Sometimes bugs are discovered in processors for which microcode updates are +released. These are loaded together with the initramfs when your system boots +but we need to install the package for it first: + +```bash +$ pacman -Sy intel-ucode +``` + +### Setting up the bootloader + +First, we need to tell `bootctl` to install the necessary things onto `/boot`: + +```bash +$ bootctl install --path=/boot +``` + +In the future you won't need to call `install`, but `update` instead. + +Now, edit `/boot/loader/loader.conf` and make it look like this: + +``` +timeout 10 +default arch +editor 1 +``` + +One note, by setting `editor 1` it's possible for anyone to edit the kernel +boot parameters, add `init=/bin/bash` and become root on your system. However, +since the disk is still encrypted at this point they can't do much with it and +I find it rather convenient to be able to edit those options when something does +go wrong. + +We now need to create the boot entry named `arch`. To that end, create the file +`/boot/loader/entries/arch.conf` with the following content: + +``` +title Arch Linux +linux /vmlinuz-linux +initrd /intel-ucode.img +initrd /initramfs-linux.img +options rd.luks.uuid=$UUID rd.luks.name=$UUID=cryptlvm root=/dev/mapper/monoceros-root rw resume=/dev/mapper/monoceros-swap ro intel_iommu=igfx_off +``` + +Replace `$UUID` with the value from `cryptsetup luksUUID /dev/nvme0n1p2`. + +I usually also create another entry that allows me to boot with resume support +disabled, in case that's broken. To that end, create a file like +`/boot/loader/entries/arch-noresume.conf` with the same content as above, but +simply omit the `resume=/dev/mapper/monceros-swap ro` option. + +### sudo + +I prefer using `sudo` over changing to root. In order to do so we need to +install the `sudo` package and update the configuration: + +```bash +$ pacman -Sy sudo +``` + +Now that the package is installed update the configuration and uncomment the +line that reads `%wheel ALL=(ALL) ALL`: + +```bash +$ EDITOR=vim visudo +``` + +### Creating a user account + +Create a user account for yourself and ensure you're added to the `wheel` +group: + +```bash +$ useradd -m -G wheel,users -s /bin/bash daenney +$ passwd daenney + New password: + Retype new password: + passwd: password updated successfully +``` + +### Installing GNOME + +```bash +$ pacman -Sy gnome gnome-extra dhclient iw wpa_supplicant dialog network-manager-applet networkmanager xf86-input-libinput +``` + +I explicitly install `dhclient` because `dhcpd` isn't very good at dealing with +non-spec compliant DHCP implementations. Especially if you have a D-Link router +or might encounter one, install this package. It also avoids some issues I've +had on large networks like at the office, Eduroam etc. + +Now, enable GDM and Network Manager: + +```bash +$ systemctl enable gdm +$ systemctl enable NetworkManager +``` + + +### Optional: Installing GNOME + +I like to use GNOME as my DE so it's time to install that: + +```bash +$ pacman -Sy gnome gnome-extra iw dialog network-manager-applet +``` + +Now, enable GDM: + +```bash +$ systemctl enable gdm +``` + +## Boot into the new installation + +We're actually done now. What a ride. First, exit the chroot by issuing `exit`. +Now, unmount our filesystems: `umount -R /mnt`. + +And finally, `reboot`. + +## TODO NEXT: + - Install oh-my-zsh + - pacaur + - git and dev tools + +## PERSONAL + - docker \ No newline at end of file From dbc23a354821de8e9fa6760f986b1b84d2550083 Mon Sep 17 00:00:00 2001 From: Fernando Cejas Date: Wed, 15 Apr 2020 22:38:54 +0200 Subject: [PATCH 3/5] Remove featured article. --- _posts/2020-03-21-learn-out-of-mistakes-postmortems.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2020-03-21-learn-out-of-mistakes-postmortems.md b/_posts/2020-03-21-learn-out-of-mistakes-postmortems.md index 5cd184d..4735566 100644 --- a/_posts/2020-03-21-learn-out-of-mistakes-postmortems.md +++ b/_posts/2020-03-21-learn-out-of-mistakes-postmortems.md @@ -8,8 +8,8 @@ layout: post permalink: /2020/03/21/learn-out-of-mistakes-postmortems/ image: assets/images/learn_out_mistakes_postmortems_featured.jpg comments: false -featured: true -hidden: true +featured: false +hidden: false categories: [ culture, development, company, agile, learning, continuous learning, organization ] tags: - organization From 5a5e46dd0317d921250b96c1b083e179676364e5 Mon Sep 17 00:00:00 2001 From: Fernando Cejas Date: Wed, 15 Apr 2020 22:51:15 +0200 Subject: [PATCH 4/5] Add smaller feature image for postmortems article. --- ...0-03-21-learn-out-of-mistakes-postmortems.md | 2 +- ..._out_mistakes_postmortems_featured_small.jpg | Bin 0 -> 38785 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 assets/images/learn_out_mistakes_postmortems_featured_small.jpg diff --git a/_posts/2020-03-21-learn-out-of-mistakes-postmortems.md b/_posts/2020-03-21-learn-out-of-mistakes-postmortems.md index 4735566..491b249 100644 --- a/_posts/2020-03-21-learn-out-of-mistakes-postmortems.md +++ b/_posts/2020-03-21-learn-out-of-mistakes-postmortems.md @@ -6,7 +6,7 @@ author: fernando description: Postmortem are a good way of promoting and encouraging continuos improvement and learning out of mistakes. Let's jump in and see how we can leverage this technique in order to get the best out it. layout: post permalink: /2020/03/21/learn-out-of-mistakes-postmortems/ -image: assets/images/learn_out_mistakes_postmortems_featured.jpg +image: assets/images/learn_out_mistakes_postmortems_featured_small.jpg comments: false featured: false hidden: false diff --git a/assets/images/learn_out_mistakes_postmortems_featured_small.jpg b/assets/images/learn_out_mistakes_postmortems_featured_small.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ad737d3ec0307e394e816f37ad41957ef692c781 GIT binary patch literal 38785 zcmb5VbzBtx7dN`Vf}|`$MN(xdUvA~kTQqs~XDM)uW2-1y&gmejb z_xpREd;h;@>h+q>%$YMYC*O1C-@?BQ07zM0NgjZPh6YeXO@M#P09gPQ5Qqr`Vqs!p zVqsxD!+DN_gN=;?CLq9lP6{R?BL$O?kW(?zkWs&8CO<04qtt+#mlt%z{nA|YGyY-3FOW&-&e3LYe{be)a6~02FRFnJv017FHL_N-k zH_7_RwGm$+dW@-ckW|jRdjzac%=5=D$L5Fz1vYLUpXk%p`>RZ7AKHyE z_r_PUKWvwk{YWdRyb`srzDx_kRVjnKDbzztRn7ymms2XkqhGKfH5H>FUqU${=m1V+ zngB}iP!kEz<}TZQ0t1)&Q{_af&$HaY?;#gY@x1CmPeJXIFgUwc zRIlDo8b}rSd&(;#4Wmf&(7}b#)Q*rcD+D~DF`^VZx-@u1g`oxn(gncep+Eq3zVKwm zntx&+UP8E^SJ0P6eJgEo}0{`c=!iUJ*~D9^t7E?^Ism+F*-b?c{50xTl{`f8NvyXPiB`d z(=Cs3LXsjPUSKk!G3G-6U;sJ

PKWuqYh@bt!0`zR#iHj2B>ffj>_^elPyM(FNQ* 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 literal 0 HcmV?d00001 From cdd820d259e78b62e0d2582ce963b79e6f33f989 Mon Sep 17 00:00:00 2001 From: Fernando Cejas Date: Wed, 23 Dec 2020 16:57:53 +0100 Subject: [PATCH 5/5] Add image article: disk encryption in arch linux. --- .gitignore | 4 +- Gemfile.lock | 90 ++++++++++-------- ...all-arch-linux-with-disk-encryption-nuc.md | 26 +++-- .../install_arch_disk_encryption_featured.jpg | Bin 0 -> 51154 bytes 4 files changed, 71 insertions(+), 49 deletions(-) create mode 100644 assets/images/install_arch_disk_encryption_featured.jpg diff --git a/.gitignore b/.gitignore index 74839c9..068c8ce 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,6 @@ _site .DS_Store *.swp .sass-cache - +.jekyll-cache +jekyll-cache +.jekyll-cache/ diff --git a/Gemfile.lock b/Gemfile.lock index 47bf7f6..59e8ec7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,66 +1,72 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.5.2) - public_suffix (>= 2.0.2, < 4.0) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) colorator (1.1.0) - concurrent-ruby (1.0.5) - em-websocket (0.5.1) + concurrent-ruby (1.1.7) + em-websocket (0.5.2) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) eventmachine (1.2.7) eventmachine (1.2.7-x64-mingw32) - ffi (1.9.25) - ffi (1.9.25-x64-mingw32) + ffi (1.13.1) + ffi (1.13.1-x64-mingw32) forwardable-extended (2.6.0) http_parser.rb (0.6.0) - i18n (0.9.5) + i18n (1.8.5) concurrent-ruby (~> 1.0) - jekyll (3.8.4) + jekyll (4.1.1) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) - i18n (~> 0.7) - jekyll-sass-converter (~> 1.0) + i18n (~> 1.0) + jekyll-sass-converter (~> 2.0) jekyll-watch (~> 2.0) - kramdown (~> 1.14) + kramdown (~> 2.1) + kramdown-parser-gfm (~> 1.0) liquid (~> 4.0) - mercenary (~> 0.3.3) + mercenary (~> 0.4.0) pathutil (~> 0.9) - rouge (>= 1.7, < 4) + rouge (~> 3.0) safe_yaml (~> 1.0) - jekyll-archives (2.1.1) - jekyll (>= 2.4) - jekyll-feed (0.10.0) - jekyll (~> 3.3) + terminal-table (~> 1.8) + jekyll-archives (2.2.1) + jekyll (>= 3.6, < 5.0) + jekyll-feed (0.15.1) + jekyll (>= 3.7, < 5.0) jekyll-paginate (1.1.0) - jekyll-sass-converter (1.5.2) - sass (~> 3.4) - jekyll-sitemap (1.2.0) - jekyll (~> 3.3) - jekyll-watch (2.0.0) + jekyll-sass-converter (2.1.0) + sassc (> 2.0.1, < 3.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-watch (2.2.1) listen (~> 3.0) - kramdown (1.17.0) - liquid (4.0.0) - listen (3.1.5) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) - mercenary (0.3.6) - pathutil (0.16.1) + kramdown (2.3.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.3) + listen (3.2.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.4.0) + pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (3.0.3) - rb-fsevent (0.10.3) - rb-inotify (0.9.10) - ffi (>= 0.5.0, < 2) - rouge (3.2.1) - ruby_dep (1.5.0) - safe_yaml (1.0.4) - sass (3.5.7) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) + public_suffix (4.0.6) + rb-fsevent (0.10.4) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.4) + rouge (3.23.0) + safe_yaml (1.0.5) + sassc (2.4.0) + ffi (~> 1.9) + sassc (2.4.0-x64-mingw32) + ffi (~> 1.9) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + unicode-display_width (1.7.0) PLATFORMS ruby diff --git a/_posts/2020-04-08-install-arch-linux-with-disk-encryption-nuc.md b/_posts/2020-04-08-install-arch-linux-with-disk-encryption-nuc.md index 2e5e6d2..caef34e 100644 --- a/_posts/2020-04-08-install-arch-linux-with-disk-encryption-nuc.md +++ b/_posts/2020-04-08-install-arch-linux-with-disk-encryption-nuc.md @@ -3,10 +3,10 @@ id: 18 title: Install Arch Linux with Disk Encryption date: 2020-04-08T10:22:11+00:00 author: fernando -description: This post is going to help you to install Arch Linux with full disk encryption. +description: This post might act as a guide for learning and it is going to help you to install Arch Linux with full disk encryption. layout: post permalink: /2020/04/08/install-arch-linux-with-disk-encryption/ -image: assets/images/learn_out_mistakes_postmortems_featured.jpg +image: assets/images/install_arch_disk_encryption_featured.jpg comments: false featured: true hidden: true @@ -19,12 +19,26 @@ tags: - luks - arch --- -This post is going to help you to install Arch Linux with full disk encryption. -In this case I will do it on an Intel NUC I will use as a server but this guide could be applied to any other device. -Make sure that you check device specifics on the well documented Arch Linux Wiki while following this guide. +I'm a Linux fan, and the main reason is because of its open source nature: I have been using it for years and I gotta say a lot has changed since the early days... If you remember re-compiling the kernel in order to install an application, you know what I'm talking about... Fortunately that does not happen anymore, so do not freak out, not yet :). + +This article will act as a guide, which is goint to help you to install (and understand) Arch Linux with full disk encryption. We are also going to walk together through some of the concepts involved in the linux world, expecifically in the Arch Linux World that will provide you with a better picture of this ecosystem. + +Disclaimer: give yourself time since it is a long text and you will need also patience, but I promise you will learn and have fun. Let's get started! -## Why Arch Linux +## Why Arch Linux? +I used SuSe, Red Hat, Devian, Ubuntu and Arch, in that order. +But First why Arch Linux? Mention Oriol Give the reasons +There are many distros out there.... but let me enumerate the reasons why I choose Arch and made me feel in love with him +Do it yourself person. Installing arch linux is like building your own hause. +Rolling release + +## Why disk encryption? + +## Before Start +Preparing the terrain +In this case I will do it on an Intel NUC I will use as a server but this guide could be applied to any other device. +Make sure that you check device specifics on the well documented Arch Linux Wiki while following this guide. ## First steps diff --git a/assets/images/install_arch_disk_encryption_featured.jpg b/assets/images/install_arch_disk_encryption_featured.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a47bb95648c8fb2170a2492731dedfe6d1de5ea7 GIT binary patch literal 51154 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 S=6}h5v;I;)o-KmXZIG~&7d literal 0 HcmV?d00001