<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>systemd - Hamradio.my</title>
	<atom:link href="https://hamradio.my/tag/systemd/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Amateur Radio, Tech Insights and Product Reviews</description>
	<lastBuildDate>Sun, 06 Jul 2025 22:59:15 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://hamradio.my/wp-content/uploads/2026/02/cropped-cropped-image-removebg-preview-3-32x32.png</url>
	<title>systemd - Hamradio.my</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Building and Running aprsc on Arch Linux with aprsc-9m2pju-git</title>
		<link>https://hamradio.my/2025/07/building-and-running-aprsc-on-arch-linux-with-aprsc-9m2pju-git/</link>
					<comments>https://hamradio.my/2025/07/building-and-running-aprsc-on-arch-linux-with-aprsc-9m2pju-git/#comments</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sun, 06 Jul 2025 22:56:43 +0000</pubDate>
				<category><![CDATA[amateur radio]]></category>
		<category><![CDATA[APRS]]></category>
		<category><![CDATA[archlinux]]></category>
		<category><![CDATA[automatic packet reporting system]]></category>
		<category><![CDATA[cachyos]]></category>
		<category><![CDATA[free open source software]]></category>
		<category><![CDATA[ham radio]]></category>
		<category><![CDATA[radio amatur]]></category>
		<category><![CDATA[9m2pju]]></category>
		<category><![CDATA[AmateurRadio]]></category>
		<category><![CDATA[aprsc]]></category>
		<category><![CDATA[APRSIS]]></category>
		<category><![CDATA[aur]]></category>
		<category><![CDATA[aur-package]]></category>
		<category><![CDATA[AX25]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[hamradio]]></category>
		<category><![CDATA[hessu]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[packetradio]]></category>
		<category><![CDATA[radio-server]]></category>
		<category><![CDATA[systemd]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8288</guid>

					<description><![CDATA[<p>If you’ve ever wanted to run your own APRS-IS server, especially on an Arch-based system, I’ve packaged a convenient way to do that: aprsc-9m2pju-git, an unofficial Arch Linux AUR package for aprsc, the high-performance APRS-IS core server daemon. This project is aimed at amateur radio operators, APRS tinkerers, and sysadmins interested in experimenting with their [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/07/building-and-running-aprsc-on-arch-linux-with-aprsc-9m2pju-git/">Building and Running aprsc on Arch Linux with aprsc-9m2pju-git</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p class="wp-block-paragraph">If you’ve ever wanted to run your own APRS-IS server, especially on an Arch-based system, I’ve packaged a convenient way to do that: <strong><code>aprsc-9m2pju-git</code></strong>, an unofficial Arch Linux AUR package for <a>aprsc</a>, the high-performance <a>APRS-IS</a> core server daemon.</p>



<p class="wp-block-paragraph">This project is aimed at amateur radio operators, APRS tinkerers, and sysadmins interested in experimenting with their own APRS infrastructure. I created this package to simplify the process of building and deploying the latest development version of aprsc on Arch Linux.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6f0.png" alt="🛰" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What is aprsc?</h2>



<p class="wp-block-paragraph"><a>aprsc</a> is a lightweight, multithreaded server daemon written in C that forms the backbone of the <a>APRS-IS network</a>. It relays packets between APRS clients, Internet Gateways (IGates), and RF repeaters. aprsc is widely used on the global APRS backbone due to its performance, reliability, and robust protocol support.</p>



<h3 class="wp-block-heading">Highlights:</h3>



<ul class="wp-block-list">
<li>Fully multithreaded and scalable</li>



<li>Supports thousands of concurrent client connections</li>



<li>Built-in APRS-IS filter support</li>



<li>Web status interface</li>



<li>TLS/SSL and <a>SCTP</a> support</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> About <code>aprsc-9m2pju-git</code></h2>



<p class="wp-block-paragraph">This AUR package builds the <strong>latest git version</strong> of aprsc from upstream:<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://github.com/hessu/aprsc">https://github.com/hessu/aprsc</a></p>



<p class="wp-block-paragraph">It installs everything into <code>/opt/aprsc</code>, provides a working <code>systemd</code> service, sets up user permissions, and handles runtime directory creation. It’s tailored for custom or experimental setups without interfering with core system paths.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Installation</h3>



<p class="wp-block-paragraph">To install via your favorite AUR helper:</p>



<pre class="wp-block-code"><code>yay -S aprsc-9m2pju-git
</code></pre>



<p class="wp-block-paragraph">Or manually:</p>



<pre class="wp-block-code"><code>git clone https://aur.archlinux.org/aprsc-9m2pju-git.git
cd aprsc-9m2pju-git
makepkg -si
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What Gets Installed?</h2>



<p class="wp-block-paragraph">Here’s a quick breakdown of installed files and locations:</p>



<ul class="wp-block-list">
<li><strong>Binary &amp; Config:</strong> <code>/opt/aprsc/</code></li>



<li><strong>Systemd Service:</strong> <code>/usr/lib/systemd/system/aprsc.service</code></li>
</ul>



<p class="wp-block-paragraph">Log files live under <code>/opt/aprsc/logs</code>, and the default config file is at <code>/opt/aprsc/etc/aprsc.conf</code>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Running aprsc</h2>



<p class="wp-block-paragraph">After installation, start the service with:</p>



<pre class="wp-block-code"><code>sudo systemctl --user enable --now aprsc.service
</code></pre>



<p class="wp-block-paragraph">Check logs:</p>



<pre class="wp-block-code"><code>journalctl -u aprsc.service -f
</code></pre>



<p class="wp-block-paragraph">Then open your browser and visit the web interface to verify it&#8217;s running!</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Things to Know</h2>



<ul class="wp-block-list">
<li><strong>APRS-IS Authentication</strong>: You&#8217;ll need a valid <a>callsign</a> and <a>APRS-IS passcode</a> to allow client connections or gating.</li>



<li><strong>Customize Your Config</strong>: The default <code>aprsc.conf</code> is a minimal example. You should update it before exposing the server to the public.</li>



<li><strong>Development Version</strong>: This package tracks the latest commit from the <code>main</code> branch upstream. It’s great for testing, not necessarily for production unless you know what you&#8217;re doing.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f64f.png" alt="🙏" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Thanks &amp; Credits</h2>



<p class="wp-block-paragraph">Big shout-out to:</p>



<ul class="wp-block-list">
<li><strong><a>Heikki Hannikainen (hessu)</a></strong> – author and maintainer of aprsc</li>



<li><strong>Arch Linux &amp; AUR community</strong> – for empowering users to package and share tools easily</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4eb.png" alt="📫" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Maintainer</h2>



<ul class="wp-block-list">
<li>Callsign: <strong>9M2PJU</strong></li>



<li>Email: <a href="mailto:9m2pju@hamradio.my">9m2pju@hamradio.my</a></li>



<li>GitHub: <a href="https://github.com/9M2PJU">@9M2PJU</a></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4da.png" alt="📚" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Resources</h2>



<ul class="wp-block-list">
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://github.com/hessu/aprsc">Upstream Project (hessu/aprsc)</a></li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://aur.archlinux.org/packages/aprsc-9m2pju-git">AUR Package: aprsc-9m2pju-git</a></li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://aprs-is.net">APRS-IS Technical Wiki</a></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">If you’re curious about APRS internals, want to run your own APRS-IS node, or just like experimenting with ham radio and Arch Linux, I hope this package makes it easier for you to get started.</p>



<p class="wp-block-paragraph">73 de 9M2PJU <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e1.png" alt="📡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>The post <a href="https://hamradio.my/2025/07/building-and-running-aprsc-on-arch-linux-with-aprsc-9m2pju-git/">Building and Running aprsc on Arch Linux with aprsc-9m2pju-git</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/07/building-and-running-aprsc-on-arch-linux-with-aprsc-9m2pju-git/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Setting Up a Btrfs-Compatible Swap File with Hibernation on CachyOS (or Any Arch-based System)</title>
		<link>https://hamradio.my/2025/06/setting-up-a-btrfs-compatible-swap-file-with-hibernation-on-cachyos-or-any-arch-based-system/</link>
					<comments>https://hamradio.my/2025/06/setting-up-a-btrfs-compatible-swap-file-with-hibernation-on-cachyos-or-any-arch-based-system/#comments</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sat, 28 Jun 2025 11:37:57 +0000</pubDate>
				<category><![CDATA[archlinux]]></category>
		<category><![CDATA[cachyos]]></category>
		<category><![CDATA[free operating system]]></category>
		<category><![CDATA[hibernation]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux desktop]]></category>
		<category><![CDATA[btrfs]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[initramfs]]></category>
		<category><![CDATA[linuxkernel]]></category>
		<category><![CDATA[linuxoptimization]]></category>
		<category><![CDATA[linuxperformance]]></category>
		<category><![CDATA[linuxsetup]]></category>
		<category><![CDATA[resume]]></category>
		<category><![CDATA[suspend]]></category>
		<category><![CDATA[swap]]></category>
		<category><![CDATA[swapfile]]></category>
		<category><![CDATA[systemd]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[uefi]]></category>
		<category><![CDATA[zram]]></category>
		<category><![CDATA[zswap]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8052</guid>

					<description><![CDATA[<p>If you&#8217;re using CachyOS or any Arch-based distribution with Btrfs and want to enable hibernation, this guide will walk you through a clean and correct setup. We&#8217;ll create a dedicated Btrfs subvolume for swap, configure the swap file correctly for compatibility, and set up everything needed for hibernation, including kernel parameters. Why This Matters Btrfs [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/06/setting-up-a-btrfs-compatible-swap-file-with-hibernation-on-cachyos-or-any-arch-based-system/">Setting Up a Btrfs-Compatible Swap File with Hibernation on CachyOS (or Any Arch-based System)</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p class="wp-block-paragraph">If you&#8217;re using CachyOS or any Arch-based distribution with Btrfs and want to enable hibernation, this guide will walk you through a clean and correct setup.</p>



<p class="wp-block-paragraph">We&#8217;ll create a dedicated Btrfs subvolume for swap, configure the swap file correctly for compatibility, and set up everything needed for hibernation, including kernel parameters.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Why This Matters</h2>



<p class="wp-block-paragraph">Btrfs is great, but it introduces some complications when using swap files, especially for hibernation. The kernel needs to know the physical disk offset of the swap file, and that file must be non-compressed, non-COW, and stored in its own dedicated subvolume.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">1. Clean Up Any Existing Broken Setup</h2>



<pre class="wp-block-code"><code>sudo swapoff -a
sudo umount /swap 2&gt;/dev/null || true
sudo btrfs subvolume delete /swap 2&gt;/dev/null || true
sudo rm -rf /swap
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">2. Create a New Swap Subvolume</h2>



<pre class="wp-block-code"><code>sudo mkdir -p /mnt/btrfs-root
sudo mount -o subvolid=5 /dev/disk/by-uuid/&lt;YOUR_ROOT_UUID&gt; /mnt/btrfs-root
sudo btrfs subvolume create /mnt/btrfs-root/swap
sudo umount /mnt/btrfs-root
sudo rmdir /mnt/btrfs-root
</code></pre>



<p class="wp-block-paragraph">Replace <code>&lt;YOUR_ROOT_UUID&gt;</code> with the UUID of your Btrfs root. Find it using:</p>



<pre class="wp-block-code"><code>findmnt -no UUID /
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">3. Mount the Subvolume via <code>/etc/fstab</code></h2>



<p class="wp-block-paragraph">Add this line to <code>/etc/fstab</code>:</p>



<pre class="wp-block-code"><code>UUID=&lt;YOUR_ROOT_UUID&gt; /swap btrfs subvol=swap,noatime,compress=no,space_cache=v2 0 0
</code></pre>



<p class="wp-block-paragraph">Then:</p>



<pre class="wp-block-code"><code>sudo mkdir /swap
sudo mount -a
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">4. Create the Swap File</h2>



<pre class="wp-block-code"><code>sudo chattr +C /swap
sudo fallocate -l 16G /swap/swapfile  # adjust size as needed
sudo chmod 600 /swap/swapfile
sudo mkswap /swap/swapfile
sudo swapon /swap/swapfile
</code></pre>



<p class="wp-block-paragraph">Make sure it appears with:</p>



<pre class="wp-block-code"><code>swapon --show
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">5. Get the Resume Offset</h2>



<pre class="wp-block-code"><code>sudo btrfs inspect-internal map-swapfile -r /swap/swapfile
</code></pre>



<p class="wp-block-paragraph">You&#8217;ll get a number like <code>4546994</code>. That is your <code>resume_offset</code>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">6. Update Kernel Parameters (GRUB)</h2>



<p class="wp-block-paragraph">Edit <code>/etc/default/grub</code>:</p>



<pre class="wp-block-code"><code>GRUB_CMDLINE_LINUX_DEFAULT="... resume=UUID=&lt;YOUR_ROOT_UUID&gt; resume_offset=4546994"
</code></pre>



<p class="wp-block-paragraph">Then regenerate GRUB config:</p>



<pre class="wp-block-code"><code>sudo grub-mkconfig -o /boot/grub/grub.cfg
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">7. mkinitcpio Hooks</h2>



<p class="wp-block-paragraph">Edit <code>/etc/mkinitcpio.conf</code> and make sure <code>resume</code> is after <code>udev</code>:</p>



<pre class="wp-block-code"><code>HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block filesystems resume fsck)
</code></pre>



<p class="wp-block-paragraph">Then:</p>



<pre class="wp-block-code"><code>sudo mkinitcpio -P
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">8. Test Hibernation</h2>



<pre class="wp-block-code"><code>sudo systemctl hibernate
</code></pre>



<p class="wp-block-paragraph">After the system powers off, turn it on again. It should resume your session from swap.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Final Notes</h2>



<ul class="wp-block-list">
<li>Don’t rely on <code>/boot/efi/EFI/cachyos/grub.cfg</code>; GRUB on EFI loads <code>/boot/grub/grub.cfg</code>.</li>



<li>zram does not support hibernation; ensure your swapfile is active and recognized.</li>



<li>Want to increase speed? Consider adding <code>hibernate.compressor=lz4</code> to your kernel line.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">Hibernation on Btrfs is not trivial, but once it’s done properly, it works just as well as with traditional setups. Good luck and happy hacking!</p>
<p>The post <a href="https://hamradio.my/2025/06/setting-up-a-btrfs-compatible-swap-file-with-hibernation-on-cachyos-or-any-arch-based-system/">Setting Up a Btrfs-Compatible Swap File with Hibernation on CachyOS (or Any Arch-based System)</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/06/setting-up-a-btrfs-compatible-swap-file-with-hibernation-on-cachyos-or-any-arch-based-system/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Understanding the Linux Boot Process: From Power On to Login</title>
		<link>https://hamradio.my/2025/05/understanding-the-linux-boot-process-from-power-on-to-login/</link>
					<comments>https://hamradio.my/2025/05/understanding-the-linux-boot-process-from-power-on-to-login/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Fri, 30 May 2025 15:02:16 +0000</pubDate>
				<category><![CDATA[archlinux]]></category>
		<category><![CDATA[boot]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[bios]]></category>
		<category><![CDATA[bootprocess]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[initramfs]]></category>
		<category><![CDATA[linuxboot]]></category>
		<category><![CDATA[linuxcommands]]></category>
		<category><![CDATA[linuxguide]]></category>
		<category><![CDATA[linuxkernel]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[penguinpower]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[systemd]]></category>
		<category><![CDATA[TechBlog]]></category>
		<category><![CDATA[uefi]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7662</guid>

					<description><![CDATA[<p>Whether you&#8217;re a seasoned sysadmin or just diving into Linux, understanding the boot process is key to mastering how your system starts up. The Linux boot process is a fascinating journey that transforms powered-off hardware into a fully operational system. In this post, we&#8217;ll walk through the entire boot sequence, breaking down each stage with [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/05/understanding-the-linux-boot-process-from-power-on-to-login/">Understanding the Linux Boot Process: From Power On to Login</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p class="wp-block-paragraph">Whether you&#8217;re a seasoned sysadmin or just diving into Linux, understanding the boot process is key to mastering how your system starts up. The Linux boot process is a fascinating journey that transforms powered-off hardware into a fully operational system. In this post, we&#8217;ll walk through the entire boot sequence, breaking down each stage with technical clarity.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50c.png" alt="🔌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Stage 1: BIOS or UEFI – The System’s First Breath</h2>



<p class="wp-block-paragraph">The process begins the moment you press the power button.</p>



<h3 class="wp-block-heading">BIOS (Legacy Systems)</h3>



<ul class="wp-block-list">
<li><strong>POST (Power-On Self Test)</strong> is triggered to check RAM, CPU, keyboard, and basic hardware.</li>



<li>Searches for a bootable device by scanning the boot order (HDD, SSD, USB, etc.).</li>



<li>Once a bootable device is found, BIOS reads the <strong>Master Boot Record (MBR)</strong>, which contains the bootloader.</li>
</ul>



<h3 class="wp-block-heading">UEFI (Modern Systems)</h3>



<ul class="wp-block-list">
<li>Replaces BIOS with a more advanced firmware interface.</li>



<li>Reads the <strong>EFI System Partition (ESP)</strong>, which contains EFI applications like <code>GRUB.efi</code>.</li>



<li>Supports <strong>Secure Boot</strong>, GUID Partition Table (GPT), and faster booting.</li>
</ul>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4dd.png" alt="📝" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Note:</strong> UEFI is now the standard for most modern hardware.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4bd.png" alt="💽" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Stage 2: Bootloader – The Linux Gatekeeper</h2>



<p class="wp-block-paragraph">The bootloader is the program that loads and starts the Linux kernel.</p>



<h3 class="wp-block-heading">Common Bootloaders:</h3>



<ul class="wp-block-list">
<li><strong>GRUB (GRand Unified Bootloader)</strong> – Most common in Linux systems.</li>



<li><strong>systemd-boot</strong> – Lightweight bootloader for UEFI systems.</li>



<li><strong>LILO (older systems)</strong> – Largely deprecated.</li>
</ul>



<p class="wp-block-paragraph">The bootloader:</p>



<ul class="wp-block-list">
<li>Loads the selected <strong>kernel image</strong> (e.g., <code>/boot/vmlinuz-linux</code>).</li>



<li>Loads the <strong>initramfs/initrd</strong> – a temporary root filesystem used during early boot.</li>



<li>Passes control and parameters (e.g., root device path, kernel options) to the kernel.</li>
</ul>



<p class="wp-block-paragraph">Example of GRUB config:</p>



<pre class="wp-block-code"><code>linux /boot/vmlinuz-6.1.0 root=/dev/sda2 ro quiet splash
initrd /boot/initrd.img-6.1.0
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Stage 3: Kernel Initialization – The Heart of Linux</h2>



<p class="wp-block-paragraph">Now, the <strong>Linux kernel</strong> takes control.</p>



<h3 class="wp-block-heading">What the Kernel Does:</h3>



<ul class="wp-block-list">
<li>Sets up low-level system components: memory management, I/O scheduling, and CPU initialization.</li>



<li>Loads drivers for essential hardware (from initramfs).</li>



<li>Mounts the <strong>real root filesystem</strong> (e.g., from ext4, btrfs, XFS).</li>



<li>Starts the <strong><code>init</code> process</strong> (PID 1) – the first user-space program.</li>
</ul>



<p class="wp-block-paragraph">If anything goes wrong here (like missing root filesystem), you&#8217;ll see a <strong>kernel panic</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2699.png" alt="⚙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Stage 4: Init System – Orchestrating the System Startup</h2>



<p class="wp-block-paragraph">The init system is the &#8220;conductor&#8221; that starts all necessary services.</p>



<h3 class="wp-block-heading">Common Init Systems:</h3>



<ul class="wp-block-list">
<li><strong>systemd</strong> (default on most modern distros like Debian, Ubuntu, Fedora)</li>



<li><strong>SysVinit</strong> (traditional)</li>



<li><strong>OpenRC</strong> (used in Alpine, Gentoo)</li>
</ul>



<h3 class="wp-block-heading">If using <code>systemd</code>, it:</h3>



<ul class="wp-block-list">
<li>Reads <strong>unit files</strong> from <code>/etc/systemd/system/</code> and <code>/usr/lib/systemd/system/</code>.</li>



<li>Mounts local filesystems, activates swap, configures networking.</li>



<li>Starts system services like <code>sshd</code>, <code>NetworkManager</code>, <code>cron</code>, and more.</li>
</ul>



<p class="wp-block-paragraph">You can inspect boot performance using:</p>



<pre class="wp-block-code"><code>systemd-analyze
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Stage 5: Login Prompt – Ready for Action</h2>



<p class="wp-block-paragraph">Once all services are up and running:</p>



<ul class="wp-block-list">
<li><strong>CLI systems</strong>: <code>getty</code> spawns login prompts on virtual terminals (e.g., tty1–tty6).</li>



<li><strong>GUI systems</strong>: A <strong>Display Manager</strong> (GDM, LightDM, SDDM) launches, leading to your graphical desktop environment (GNOME, KDE, etc.).</li>
</ul>



<p class="wp-block-paragraph">After login, the system is fully operational, ready for your commands or applications.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5fa.png" alt="🗺" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Visual Summary of the Linux Boot Flow</h2>



<pre class="wp-block-code"><code>&#91; Power On ]
     ↓
&#91; BIOS / UEFI ]
     ↓
&#91; Bootloader (GRUB/systemd-boot) ]
     ↓
&#91; Kernel + initramfs ]
     ↓
&#91; Init system (systemd, etc.) ]
     ↓
&#91; System Services + Targets ]
     ↓
&#91; Login Prompt / GUI ]
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Bonus: Useful Commands to Explore Boot</h2>



<ul class="wp-block-list">
<li>View last boot duration: <code>systemd-analyze</code></li>



<li>See the breakdown of each service&#8217;s boot time: <code>systemd-analyze blame</code></li>



<li>Inspect boot logs: <code>journalctl -b</code></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Thoughts</h2>



<p class="wp-block-paragraph">The Linux boot process may seem complex, but each stage is logically structured to ensure a flexible, powerful, and modular startup system. Whether you&#8217;re debugging a failed boot or optimizing your boot time, understanding this process equips you with the tools to handle your system like a pro.</p>



<p class="wp-block-paragraph">If you&#8217;re using Linux in embedded projects, servers, or even on low-power SBCs like Raspberry Pi, this knowledge becomes even more critical.</p>
<p>The post <a href="https://hamradio.my/2025/05/understanding-the-linux-boot-process-from-power-on-to-login/">Understanding the Linux Boot Process: From Power On to Login</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/05/understanding-the-linux-boot-process-from-power-on-to-login/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Power Management on Linux: A Guide to power-profiles-daemon, TLP, Laptop-Mode-Tools, i7z, turbostat, cpupower, auto-cpufreq, and tuned</title>
		<link>https://hamradio.my/2025/01/power-management-on-linux-a-guide-to-power-profiles-daemon-tlp-laptop-mode-tools-i7z-turbostat-cpupower-auto-cpufreq-and-tuned/</link>
					<comments>https://hamradio.my/2025/01/power-management-on-linux-a-guide-to-power-profiles-daemon-tlp-laptop-mode-tools-i7z-turbostat-cpupower-auto-cpufreq-and-tuned/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Thu, 30 Jan 2025 09:13:19 +0000</pubDate>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[acpi]]></category>
		<category><![CDATA[autocpufreq]]></category>
		<category><![CDATA[batteryhealth]]></category>
		<category><![CDATA[batterylife]]></category>
		<category><![CDATA[cpufrequency]]></category>
		<category><![CDATA[cpuoptimization]]></category>
		<category><![CDATA[cpupower]]></category>
		<category><![CDATA[diskactivity]]></category>
		<category><![CDATA[energyefficiency]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[i7z]]></category>
		<category><![CDATA[laptopmodetools]]></category>
		<category><![CDATA[linuxpower]]></category>
		<category><![CDATA[linuxtools]]></category>
		<category><![CDATA[overheating]]></category>
		<category><![CDATA[pciepowermanagement]]></category>
		<category><![CDATA[powermanagement]]></category>
		<category><![CDATA[powerprofilesdaemon]]></category>
		<category><![CDATA[powertop]]></category>
		<category><![CDATA[suspend]]></category>
		<category><![CDATA[systemd]]></category>
		<category><![CDATA[systemperformance]]></category>
		<category><![CDATA[thermalmanagement]]></category>
		<category><![CDATA[tlp]]></category>
		<category><![CDATA[tuned]]></category>
		<category><![CDATA[turbostat]]></category>
		<category><![CDATA[usbautosuspend]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=6320</guid>

					<description><![CDATA[<p>Power management is a critical aspect of maintaining the performance, battery life, and thermal stability of Linux systems, especially for laptops and portable devices. Whether you&#8217;re a casual user looking for simple power-saving solutions or an advanced user seeking fine-grained control over CPU frequency scaling, thermal management, and system performance, Linux offers a rich ecosystem [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/01/power-management-on-linux-a-guide-to-power-profiles-daemon-tlp-laptop-mode-tools-i7z-turbostat-cpupower-auto-cpufreq-and-tuned/">Power Management on Linux: A Guide to power-profiles-daemon, TLP, Laptop-Mode-Tools, i7z, turbostat, cpupower, auto-cpufreq, and tuned</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Power management is a critical aspect of maintaining the performance, battery life, and thermal stability of Linux systems, especially for laptops and portable devices. Whether you&#8217;re a casual user looking for simple power-saving solutions or an advanced user seeking fine-grained control over CPU frequency scaling, thermal management, and system performance, Linux offers a rich ecosystem of tools to help you optimize your system.</p>



<p class="wp-block-paragraph">In this guide, we will explore <strong>power-profiles-daemon </strong>, <strong>TLP </strong>, <strong>Laptop-Mode-Tools </strong>, <strong>i7z </strong>, <strong>turbostat </strong>, <strong>cpupower </strong>, <strong>auto-cpufreq </strong>, and <strong>tuned </strong>. We&#8217;ll delve into their features, use cases, pros, and cons, and provide guidance on how to combine these tools for optimal results.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">1. <strong>power-profiles-daemon</strong></h2>



<h3 class="wp-block-heading">Overview:</h3>



<p class="wp-block-paragraph"><strong>power-profiles-daemon </strong>is a modern power management daemon developed by the GNOME project. It provides simple, high-level profiles (e.g., &#8220;Power Saver,&#8221; &#8220;Balanced,&#8221; &#8220;Performance&#8221;) for managing power consumption. It integrates well with GNOME desktop environments but can also be used in other environments.</p>



<h3 class="wp-block-heading">Key Features:</h3>



<ul class="wp-block-list">
<li><strong>Simplicity </strong>: Provides easy-to-use power profiles without requiring deep technical knowledge.</li>



<li><strong>Integration </strong>: Works seamlessly with GNOME&#8217;s power settings and other desktop environments.</li>



<li><strong>Profiles </strong>: Offers predefined profiles like &#8220;Power Saver,&#8221; &#8220;Balanced,&#8221; and &#8220;Performance.&#8221;</li>



<li><strong>Systemd Integration </strong>: Uses <code>systemd</code> to manage power states and services.</li>



<li><strong>CPU Governor Management </strong>: Manages CPU governors (e.g., powersave, performance) based on the selected profile.</li>



<li><strong>Modern Approach </strong>: Designed for newer systems and works well with modern hardware.</li>
</ul>



<h3 class="wp-block-heading">Pros:</h3>



<ul class="wp-block-list">
<li>Easy to use and configure.</li>



<li>Good integration with GNOME and systemd-based systems.</li>



<li>Minimal configuration required.</li>



<li>Lightweight and efficient.</li>
</ul>



<h3 class="wp-block-heading">Cons:</h3>



<ul class="wp-block-list">
<li>Limited customization compared to TLP.</li>



<li>Primarily focused on high-level profiles rather than fine-grained control.</li>



<li>Less suitable for advanced users who want granular control over power settings.</li>
</ul>



<h3 class="wp-block-heading">Use Case:</h3>



<ul class="wp-block-list">
<li>Ideal for users who want a simple, out-of-the-box solution with minimal configuration, especially those using GNOME or other systemd-based desktop environments.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">2. <strong>TLP (Tuned for Linux Power)</strong></h2>



<h3 class="wp-block-heading">Overview:</h3>



<p class="wp-block-paragraph"><strong>TLP </strong>is a highly configurable power management tool designed to optimize battery life and performance on laptops. It offers a wide range of customizable settings for power management, including CPU frequency scaling, disk spindown, USB autosuspend, and more. TLP is independent of any specific desktop environment and works across various Linux distributions.</p>



<h3 class="wp-block-heading">Key Features:</h3>



<ul class="wp-block-list">
<li><strong>Advanced Configuration </strong>: Allows fine-grained control over power settings, including CPU governor, disk spindown, USB autosuspend, and more.</li>



<li><strong>Automatic Tuning </strong>: Automatically applies power-saving settings when the laptop is running on battery and switches to performance mode when plugged in.</li>



<li><strong>Cross-Platform </strong>: Works with any Linux distribution and desktop environment.</li>



<li><strong>Extensive Documentation </strong>: Well-documented with a comprehensive configuration file (<code>/etc/tlp.conf</code>) that allows users to tweak every aspect of power management.</li>



<li><strong>Battery Health Management </strong>: Includes features like battery charge thresholds to prolong battery life.</li>



<li><strong>Wake-on-LAN and PCIe Power Management </strong>: Supports advanced features like Wake-on-LAN and PCIe ASPM (Active State Power Management).</li>
</ul>



<h3 class="wp-block-heading">Pros:</h3>



<ul class="wp-block-list">
<li>Highly customizable and flexible.</li>



<li>Works across all Linux distributions and desktop environments.</li>



<li>Extensive feature set for both power saving and performance tuning.</li>



<li>Automatic switching between battery and AC modes.</li>



<li>Battery health management features.</li>
</ul>



<h3 class="wp-block-heading">Cons:</h3>



<ul class="wp-block-list">
<li>Steeper learning curve due to the complexity of configuration.</li>



<li>Requires manual editing of configuration files for advanced customization.</li>



<li>May conflict with other power management tools if not configured properly.</li>
</ul>



<h3 class="wp-block-heading">Use Case:</h3>



<ul class="wp-block-list">
<li>Ideal for advanced users who want granular control over power settings and are comfortable with manual configuration.</li>



<li>Suitable for users who need to maximize battery life or performance depending on their usage scenario.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">3. <strong>Laptop-Mode-Tools</strong></h2>



<h3 class="wp-block-heading">Overview:</h3>



<p class="wp-block-paragraph"><strong>Laptop-Mode-Tools </strong>is an older power management tool that was widely used in the past but has seen less development in recent years. It focuses on extending battery life by enabling &#8220;laptop mode,&#8221; which reduces disk activity and optimizes power usage. It includes a variety of modules for managing different aspects of power consumption, such as CPU frequency scaling, disk spindown, and USB power management.</p>



<h3 class="wp-block-heading">Key Features:</h3>



<ul class="wp-block-list">
<li><strong>Laptop Mode </strong>: Reduces disk activity by delaying writes to the hard drive, which helps conserve power.</li>



<li><strong>Modules </strong>: Includes a wide range of modules for managing CPU governors, disk spindown, USB power management, and more.</li>



<li><strong>Custom Scripts </strong>: Allows users to write custom scripts for additional power-saving tweaks.</li>



<li><strong>Legacy Support </strong>: Still supports older hardware and configurations.</li>
</ul>



<h3 class="wp-block-heading">Pros:</h3>



<ul class="wp-block-list">
<li>Simple and effective for reducing disk activity and conserving power.</li>



<li>Modular design allows users to enable or disable specific features.</li>



<li>Works well on older systems where modern tools may not be fully supported.</li>
</ul>



<h3 class="wp-block-heading">Cons:</h3>



<ul class="wp-block-list">
<li>Development has slowed down, and it may not be as actively maintained as TLP or power-profiles-daemon.</li>



<li>Some features may be outdated or less relevant on modern hardware.</li>



<li>Can be complex to configure, especially for beginners.</li>



<li>May conflict with newer power management tools like TLP or power-profiles-daemon.</li>
</ul>



<h3 class="wp-block-heading">Use Case:</h3>



<ul class="wp-block-list">
<li>Suitable for users with older hardware or those who prefer a simpler, module-based approach to power management.</li>



<li>Best for users who want to extend battery life through reduced disk activity and are comfortable with older, less actively maintained software.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">4. <strong>i7z</strong></h2>



<h3 class="wp-block-heading">Overview:</h3>



<p class="wp-block-paragraph"><strong>i7z </strong>is a specialized tool designed to monitor Intel Core i3, i5, and i7 processors in real-time. It provides detailed information about CPU performance, including Turbo Boost states, core frequencies, temperatures, and power consumption.</p>



<h3 class="wp-block-heading">Key Features:</h3>



<ul class="wp-block-list">
<li><strong>Real-Time Monitoring </strong>: Displays live data about CPU frequencies, Turbo Boost states, and thermal throttling.</li>



<li><strong>Turbo Boost Insights </strong>: Provides insights into how Turbo Boost is being utilized across cores.</li>



<li><strong>Temperature Tracking </strong>: Monitors CPU temperatures to help identify overheating issues.</li>



<li><strong>Power Consumption </strong>: Estimates power usage based on CPU activity and frequency.</li>
</ul>



<h3 class="wp-block-heading">Pros:</h3>



<ul class="wp-block-list">
<li>Excellent for diagnosing CPU performance issues, especially on Intel processors.</li>



<li>Provides granular details about Turbo Boost and per-core performance.</li>



<li>Lightweight and easy to use for monitoring purposes.</li>
</ul>



<h3 class="wp-block-heading">Cons:</h3>



<ul class="wp-block-list">
<li>Limited to Intel processors; does not support AMD CPUs.</li>



<li>Primarily a diagnostic tool; does not actively manage power settings.</li>



<li>Requires manual interpretation of data for actionable insights.</li>
</ul>



<h3 class="wp-block-heading">Use Case:</h3>



<ul class="wp-block-list">
<li>Ideal for users with Intel processors who want to monitor CPU performance and Turbo Boost behavior.</li>



<li>Useful for troubleshooting performance bottlenecks or thermal throttling issues.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">5. <strong>turbostat</strong></h2>



<h3 class="wp-block-heading">Overview:</h3>



<p class="wp-block-paragraph"><strong>turbostat </strong>is a command-line utility that reports processor topology, frequency, idle power-state statistics, temperature, and power usage on modern Intel and AMD processors. It is part of the <strong>linux-tools-common </strong>package and is widely used for analyzing CPU power efficiency.</p>



<h3 class="wp-block-heading">Key Features:</h3>



<ul class="wp-block-list">
<li><strong>Processor Topology </strong>: Displays detailed information about CPU cores, threads, and cache hierarchy.</li>



<li><strong>Frequency Monitoring </strong>: Tracks CPU frequencies, including base, maximum, and current operating frequencies.</li>



<li><strong>Idle States (C-states) </strong>: Reports time spent in various idle states (e.g., C0, C1, C6) to assess power efficiency.</li>



<li><strong>Thermal and Power Data </strong>: Provides real-time data on CPU temperature, power consumption, and energy usage.</li>
</ul>



<h3 class="wp-block-heading">Pros:</h3>



<ul class="wp-block-list">
<li>Highly detailed and accurate reporting of CPU performance and power metrics.</li>



<li>Works on both Intel and AMD processors.</li>



<li>Lightweight and runs directly from the terminal.</li>
</ul>



<h3 class="wp-block-heading">Cons:</h3>



<ul class="wp-block-list">
<li>Primarily a diagnostic tool; does not actively manage power settings.</li>



<li>Requires familiarity with CPU architecture and power management concepts to interpret the data effectively.</li>
</ul>



<h3 class="wp-block-heading">Use Case:</h3>



<ul class="wp-block-list">
<li>Best suited for advanced users and developers who need to analyze CPU power efficiency and performance.</li>



<li>Useful for diagnosing issues related to CPU idle states, frequency scaling, and thermal management.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">6. <strong>cpupower</strong></h2>



<h3 class="wp-block-heading">Overview:</h3>



<p class="wp-block-paragraph"><strong>cpupower </strong>is a collection of utilities for managing CPU frequency scaling and power-related settings. It allows users to query and set CPU governors, adjust minimum and maximum frequencies, and monitor CPU performance.</p>



<h3 class="wp-block-heading">Key Features:</h3>



<ul class="wp-block-list">
<li><strong>CPU Governor Management </strong>: Supports setting CPU governors like <code>powersave</code>, <code>performance</code>, <code>ondemand</code>, and <code>conservative</code>.</li>



<li><strong>Frequency Scaling </strong>: Allows users to manually set minimum and maximum CPU frequencies.</li>



<li><strong>Monitoring </strong>: Provides real-time information about CPU frequencies, governor status, and idle states.</li>



<li><strong>Cross-Platform </strong>: Works on both Intel and AMD processors.</li>
</ul>



<h3 class="wp-block-heading">Pros:</h3>



<ul class="wp-block-list">
<li>Simple and effective for managing CPU frequency scaling.</li>



<li>Lightweight and easy to use for basic power management tasks.</li>



<li>Compatible with a wide range of processors.</li>
</ul>



<h3 class="wp-block-heading">Cons:</h3>



<ul class="wp-block-list">
<li>Limited to CPU-related optimizations; does not handle broader power management tasks like disk spindown or USB autosuspend.</li>



<li>Requires manual configuration for advanced use cases.</li>
</ul>



<h3 class="wp-block-heading">Use Case:</h3>



<ul class="wp-block-list">
<li>Ideal for users who want to manually control CPU governors and frequency scaling.</li>



<li>Suitable for systems where other power management tools may not fully support CPU optimization.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">7. <strong>auto-cpufreq</strong></h2>



<h3 class="wp-block-heading">Overview:</h3>



<p class="wp-block-paragraph"><strong>auto-cpufreq </strong>is a lightweight, automatic CPU frequency scaling tool designed to optimize power consumption and performance based on system load and power source (AC or battery). It is particularly useful for laptops and portable devices.</p>



<h3 class="wp-block-heading">Key Features:</h3>



<ul class="wp-block-list">
<li><strong>Automatic CPU Scaling </strong>: Dynamically adjusts CPU governors (e.g., <code>powersave</code>, <code>performance</code>) based on system load and power source.</li>



<li><strong>Power Profiles </strong>: Offers predefined profiles like &#8220;Battery,&#8221; &#8220;Performance,&#8221; and &#8220;Balanced.&#8221;</li>



<li><strong>Lightweight </strong>: Minimal resource usage and easy to install.</li>



<li><strong>Cross-Platform </strong>: Works across various Linux distributions and desktop environments.</li>
</ul>



<h3 class="wp-block-heading">Pros:</h3>



<ul class="wp-block-list">
<li>Simple and easy to use with minimal configuration.</li>



<li>Focuses on CPU optimization, which is critical for both battery life and performance.</li>



<li>Lightweight and efficient, making it suitable for older hardware.</li>
</ul>



<h3 class="wp-block-heading">Cons:</h3>



<ul class="wp-block-list">
<li>Limited to CPU-related optimizations; does not handle disk spindown, USB autosuspend, etc.</li>



<li>Less feature-rich compared to TLP.</li>
</ul>



<h3 class="wp-block-heading">Use Case:</h3>



<ul class="wp-block-list">
<li>Ideal for users who want automatic CPU frequency scaling without the complexity of TLP.</li>



<li>Suitable for users who prioritize CPU performance and power savings but don&#8217;t need full-system power management.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">8. <strong>tuned</strong></h2>



<h3 class="wp-block-heading">Overview:</h3>



<p class="wp-block-paragraph"><strong>tuned </strong>is a dynamic system tuning daemon that optimizes system performance and power consumption based on predefined profiles. It is widely used in enterprise environments and is included by default in many Linux distributions.</p>



<h3 class="wp-block-heading">Key Features:</h3>



<ul class="wp-block-list">
<li><strong>Predefined Profiles </strong>: Offers profiles like &#8220;balanced,&#8221; &#8220;powersave,&#8221; &#8220;throughput-performance,&#8221; and &#8220;latency-performance.&#8221;</li>



<li><strong>Custom Profiles </strong>: Allows users to create custom profiles tailored to specific workloads.</li>



<li><strong>Dynamic Tuning </strong>: Automatically adjusts settings based on system load and power source.</li>



<li><strong>Integration </strong>: Works well with systemd and other system services.</li>
</ul>



<h3 class="wp-block-heading">Pros:</h3>



<ul class="wp-block-list">
<li>Easy to use with predefined profiles for common use cases.</li>



<li>Highly customizable with support for custom profiles.</li>



<li>Actively maintained and supported by major Linux distributions.</li>
</ul>



<h3 class="wp-block-heading">Cons:</h3>



<ul class="wp-block-list">
<li>Limited customization compared to TLP for advanced users.</li>



<li>May conflict with other power management tools if not configured properly.</li>
</ul>



<h3 class="wp-block-heading">Use Case:</h3>



<ul class="wp-block-list">
<li>Ideal for users who want a balance between simplicity and customization.</li>



<li>Suitable for enterprise environments where predefined profiles can be applied across multiple systems.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Combining Tools for Optimal Results</h2>



<p class="wp-block-paragraph">To achieve the best power management setup, you can combine several of these tools to address different aspects of system performance and power consumption:</p>



<ol start="1" class="wp-block-list">
<li><strong>For High-Level Profiles </strong>: Use <strong>power-profiles-daemon </strong>to manage high-level power profiles like &#8220;Power Saver,&#8221; &#8220;Balanced,&#8221; and &#8220;Performance.&#8221; This tool is ideal for users who want minimal configuration and seamless integration with modern desktop environments.</li>



<li><strong>For Fine-Grained Control </strong>: Use <strong>TLP </strong>for comprehensive power management. TLP offers advanced customization options for CPU frequency scaling, disk spindown, USB autosuspend, and more. It is perfect for advanced users who want maximum control over their system&#8217;s power consumption.</li>



<li><strong>For Disk Activity Reduction </strong>: If you&#8217;re particularly concerned about disk activity and want to reduce power consumption by delaying writes to the hard drive, you can enable <strong>laptop-mode-tools </strong>alongside <strong>TLP </strong>. This tool is especially useful for older systems with spinning hard drives.</li>



<li><strong>For CPU Monitoring and Diagnostics </strong>: Use <strong>i7z </strong>and <strong>turbostat </strong>to monitor CPU performance and diagnose issues related to Turbo Boost, frequency scaling, and thermal management. These tools are invaluable for identifying inefficiencies and optimizing power usage.</li>



<li><strong>For CPU Frequency Scaling </strong>: Use <strong>cpupower </strong>or <strong>auto-cpufreq </strong>to manage CPU governors and frequency scaling. These tools are lightweight and focus specifically on CPU performance and power savings.</li>



<li><strong>For Predefined Profiles </strong>: Use <strong>tuned </strong>to apply predefined profiles for common use cases. Tuned is easy to use and highly customizable, making it suitable for both casual and advanced users.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Conclusion</h2>



<p class="wp-block-paragraph">Linux offers a rich ecosystem of power management tools, each catering to different needs and use cases. Whether you&#8217;re looking for simple, out-of-the-box solutions like <strong>power-profiles-daemon </strong>or advanced, customizable tools like <strong>TLP </strong>, there&#8217;s something for everyone.</p>
<p>The post <a href="https://hamradio.my/2025/01/power-management-on-linux-a-guide-to-power-profiles-daemon-tlp-laptop-mode-tools-i7z-turbostat-cpupower-auto-cpufreq-and-tuned/">Power Management on Linux: A Guide to power-profiles-daemon, TLP, Laptop-Mode-Tools, i7z, turbostat, cpupower, auto-cpufreq, and tuned</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/01/power-management-on-linux-a-guide-to-power-profiles-daemon-tlp-laptop-mode-tools-i7z-turbostat-cpupower-auto-cpufreq-and-tuned/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
