1
0
Fork 0
This commit is contained in:
Harald Hoyer 2023-09-14 16:09:49 +02:00
parent 6f02b55828
commit e812146cfa
4 changed files with 57 additions and 33 deletions

View file

@ -1,8 +1,8 @@
#!/bin/bash
#!/usr/bin/env bash
set -ex
zola build --output-dir /var/www/virt/harryh/html/
chmod go-w -R /var/www/virt/harryh/html/
chgrp -R apache /var/www/virt/harryh/html/
nix-shell -p zola --run 'zola build --force --output-dir /var/www/harald.hoyer.xyz/html'
chmod go-w -R /var/www/harald.hoyer.xyz/
#chgrp -R apache /var/www/virt/harryh/html/
#chcon -R -t httpd_sys_content_t /var/www/virt/harryh/html/

View file

@ -2,15 +2,10 @@ title = "Harald Hoyer"
description = "Triple Faults for Debug"
# The URL the site will be built for
base_url = "https://harald.hoyer.xyz"
base_url = "https://testharald.hoyer.xyz"
# Whether to automatically compile all Sass files in the sass directory
compile_sass = true
# Whether to do syntax highlighting
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
highlight_code = true
# Whether to build a search index to be used later on by a JavaScript library
build_search_index = true
@ -21,14 +16,24 @@ taxonomies = [
{name = "tags", rss = true, paginate_by=5},
]
generate_rss = true
generate_feed = true
[markdown]
# Whether to do syntax highlighting
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
highlight_code = true
render_emoji = true
#highlight_theme = "dracula"
#highlight_theme = "inspired-github"
highlight_theme = "ir-white"
#highlight_theme = "ir-white"
#highlight_theme = "material-light"
highlight_theme = "base16-ocean-dark"
extra_syntaxes = [
extra_syntaxes_and_themes = [
"syntaxes",
"syntaxes/Sublime-varlink",
"syntaxes/Sublime-console",
@ -49,7 +54,7 @@ clean_blog_social = [
{url = "https://hoyer.xyz/profile/harald", icon="fab fa-mastodon"},
{url = "https://github.com/haraldh", icon="fab fa-github"},
{url = "https://keybase.io/haraldhoyer/", icon="fab fa-keybase"},
{url = "https://twitter.com/haraldhoyer", icon="fab fa-twitter"},
{url = "https://floss.social/@backslash", icon="fab fa-mastodon"},
{url = "$BASE_URL/rss.xml", icon="fas fa-rss"}
]

View file

@ -2,6 +2,7 @@
title = "Fedora Boot Optimization"
date = 2013-11-13T10:12:04+00:00
+++
This article shows how to reduce boot time for Fedora 17, but the recipe can also be applied to 18, 19 and 20.
The target is to get a fast booting system with NetworkManager running and gdm displaying the login
@ -9,38 +10,46 @@ screen as fast as possible.
<!-- more -->
The system I use here is a Lenovo T420s (2x2x Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz)
with an INTEL SSDSA2BW160G3L harddrive.
The system I use here is a Lenovo T420s (2x2x Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz)
with an INTEL SSDSA2BW160G3L harddrive.
First we choose a manual disk layout and use primary partitions and format them with ext4.
First we choose a manual disk layout and use primary partitions and format them with ext4.
In my case this results in:
```sda1 ext4 /boot
```
sda1 ext4 /boot
sda2 swap
sda3 ext4
```
After the first boot, setup of the user, etc. and 2 reboots (always reboot 2 times,
before taking the measurement, because readahead needs to adapt to the changed boot process).
After the first boot, setup of the user, etc. and 2 reboots (always reboot 2 times,
before taking the measurement, because readahead needs to adapt to the changed boot process).
First we update everything.
```console
$ sudo yum update
```
After the reboots, I get:
```console
$ systemd-analyze
Startup finished in 1413ms (kernel) + 2911ms (initramfs) + 10593ms (userspace) = 14918ms
```
Because I don't use any LVM, RAID or encrypted devices, I can safely turn off all nearly all
Because I don't use any LVM, RAID or encrypted devices, I can safely turn off all nearly all
`fedora-\*storage\*` services. To turn off these services, we use the `systemctl mask` command.
A bonus with that mechanism is, that no rpm %post script turns them on automatically.
```console
$ cd /lib/systemd/system
$ for i in fedora*storage* lvm2-monitor.* mdmonitor*.*; \
do sudo systemctl mask $i; \
done
```
On Fedora 17, it seems there are still some SysV initscripts left, so we turn them off:
```console
$ for i in livesys livesys-late spice-vdagentd;\
do sudo chkconfig $i off;\
@ -48,15 +57,17 @@ $ for i in livesys livesys-late spice-vdagentd;\
```
Seems like we saved half of the time in userspace:
```console
$ systemd-analyze
Startup finished in 1640ms (kernel) + 6556ms (userspace) = 8197ms
```
From now on, you really have to know what you are doing and how to revert your actions.
To compare Fedora with e.g. Ubuntu, I will now turn off all services except NetworkManager.
The result will be a Linux system without mail, firewall, printing, the abrt tools, avahi,
From now on, you really have to know what you are doing and how to revert your actions.
To compare Fedora with e.g. Ubuntu, I will now turn off all services except NetworkManager.
The result will be a Linux system without mail, firewall, printing, the abrt tools, avahi,
some mountpoints, rsyslog, irqbalance, and selinux security.
```console
$ cd /lib/systemd/system
$ for i in abrt*.service auditd.service avahi-daemon.* \
@ -74,20 +85,23 @@ To disable selinux (only for measurements!), edit `/etc/selinux/config` and add
to the kernel command line.
My `/etc/grub2.cfg` now looks like this:
```
linux /vmlinuz-3.3.7-1.fc17.x86_64 root=/dev/sda3 rootfstype=ext4 libahci.ignore_sss=1 raid=noautodetect selinux=0
initrd /initramfs-3.3.7-1.fc17.x86_64.img
```
Now we are really fast!
```console
$ systemd-analyze
Startup finished in 1329ms (kernel) + 1596ms (userspace) = 2926ms
```
I also like the idea of automounting (systemd's automount feature was an idea of mine :-).
So I turn /boot in a "mount on demand" mountpoint. Also having /tmp as a tmpfs is one way to reduce
I also like the idea of automounting (systemd's automount feature was an idea of mine :-).
So I turn /boot in a "mount on demand" mountpoint. Also having /tmp as a tmpfs is one way to reduce
disk activity (useful for e.g. a slow flash disk). My resulting /etc/fstab looks like this:
```
/dev/sda3 / ext4 defaults 1 1
/dev/sda1 /boot ext4 noauto,comment=systemd.automount 1 2
@ -96,46 +110,53 @@ tmpfs /tmp tmpfs defaults 0 0
```
This only saved a little bit of time, but still:
```console
$ systemd-analyze
Startup finished in 1342ms (kernel) + 1426ms (userspace) = 2769ms
```
Because NetworkManager is started also by the graphical login target,
Because NetworkManager is started also by the graphical login target,
I can remove it from the multi-user target and it will be started in parallel to the gdm login screen.
```console
$ sudo rm /etc/systemd/system/multi-user.target.wants/NetworkManager.service
```
This will shave of a few milliseconds:
```console
$ systemd-analyze
Startup finished in 1323ms (kernel) + 1279ms (userspace) = 2603ms
```
To see the difference readahead makes for the system, I turn it off temporarily and reboot
```console
$ cd /lib/systemd/system
$ for i in *readahead*; do sudo systemctl mask $i;done
```
Which will give us:
```console
$ systemd-analyze
Startup finished in 1336ms (kernel) + 1210ms (userspace) = 2547ms
```
This time is a little bit misleading. Although it seems faster, the real time until the login screen
This time is a little bit misleading. Although it seems faster, the real time until the login screen
is displayed is taking longer. So a fair comparison would involve a **stopwatch**.
To turn off plymouth, because we want speed and not eye candy, I remove plymouth completely
To turn off plymouth, because we want speed and not eye candy, I remove plymouth completely
and regenerate the initramfs to get rid of it.
```console
$ sudo yum remove 'plymouth*'
$ sudo dracut -f
```
```
After a reboot we get the stunning result of:
```console
$ systemd-analyze
Startup finished in 612ms (kernel) + 499ms (initramfs) + 1330ms (userspace) = 2443ms

View file

@ -14,10 +14,8 @@ Gerda-Penzel-Str. 13
Email:webmaster@harald.hoyer.xyz
GPG key: current [0x4BC0896FB5693595](https://harald.hoyer.xyz/files/gpg-key.txt) as seen on the key servers and [people.redhat.com](https://people.redhat.com/harald/gpg-pub-7F3D64824AC0B6B8009E50504BC0896FB5693595.asc)
GPG key: current [0x4BC0896FB5693595](/files/gpg-key.txt) as seen on the key servers and [github.com/haraldh.gpg](https://github.com/haraldh.gpg)
Keybase: [https://keybase.io/haraldhoyer/](https://keybase.io/haraldhoyer/)
old GPG key (not compromised): C5575542 as seen on the key servers