<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Coder Legion - Recent posts tagged debian</title>
<link>https://coderlegion.com/tag/debian</link>
<description>Powered by Question2Answer</description>
<item>
<title>Atualizando do Debian 12 (Bookworm) para o Debian 13 (Trixie) de forma simples</title>
<link>https://coderlegion.com/17059/atualizando-do-debian-12-bookworm-para-o-debian-13-trixie-de-forma-simples</link>
<description>&lt;p&gt;Recentemente precisei atualizar uma máquina rodando &lt;strong&gt;Debian 12&lt;/strong&gt; e decidi registrar o processo em formato de guia para outras pessoas que querem fazer o upgrade de maneira objetiva, com o mínimo possível de intervenção manual.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Importante: esse post &lt;strong&gt;não substitui&lt;/strong&gt; o guia oficial do Debian. A ideia aqui é mostrar um caminho enxuto e funcional — ideal para casos em que você não utiliza repositórios customizados nem pacotes externos sensíveis.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&quot;pr--requisito-sistema-atualizado&quot;&gt;Pré-Requisito: Sistema atualizado&lt;/h4&gt;
&lt;p&gt;Antes de iniciar o upgrade, atualizei todos os pacotes da minha instalação atual do Bookworm:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo apt update
sudo apt upgrade
sudo apt --purge autoremove
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Depois disso, reiniciei a máquina:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo reboot
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;atualizando-para-o-debian-13&quot;&gt;Atualizando para o Debian 13&lt;/h4&gt;
&lt;p&gt;Após o reboot, a única alteração necessária foi &lt;strong&gt;atualizar os repositórios APT&lt;/strong&gt; para apontarem para a nova versão &lt;code&gt;trixie&lt;/code&gt;.&lt;br&gt;
Editei manualmente o arquivo &lt;code&gt;/etc/apt/sources.list&lt;/code&gt; e troquei todas as ocorrências de &lt;code&gt;bookworm&lt;/code&gt; por &lt;code&gt;trixie&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Meu &lt;code&gt;/etc/apt/sources.list&lt;/code&gt; ficou assim:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;deb http://deb.debian.org/debian trixie main non-free-firmware
deb-src http://deb.debian.org/debian trixie main non-free-firmware

deb http://deb.debian.org/debian-security/ trixie-security main non-free-firmware
deb-src http://deb.debian.org/debian-security/ trixie-security main non-free-firmware

deb http://deb.debian.org/debian trixie-updates main non-free-firmware
deb-src http://deb.debian.org/debian trixie-updates main non-free-firmware
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Em seguida, rodei novamente os comandos padrão:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo apt update
sudo apt full-upgrade
sudo apt --purge autoremove
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;E finalizei com mais um reboot:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo reboot
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;resultado&quot;&gt;Resultado&lt;/h4&gt;
&lt;p&gt;A máquina voltou normalmente, já rodando &lt;strong&gt;Debian 13 (Trixie)&lt;/strong&gt; — sem necessidade de reinstalações, reinstalação de aplicações ou ajustes adicionais.&lt;/p&gt;
&lt;p&gt;Você pode confirmar a nova versão com:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;lsb_release -a
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Se você utiliza somente os repositórios oficiais do Debian e não possui pacotes externos sensíveis, &lt;strong&gt;atualizar do Debian 12 para o 13 pode ser tão simples quanto trocar a palavra &lt;em&gt;bookworm&lt;/em&gt; por &lt;em&gt;trixie&lt;/em&gt;&lt;/strong&gt; nos repositórios e executar os comandos clássicos do APT.&lt;/p&gt;
&lt;p&gt;Para casos mais complexos e com uso de softwares e repositórios externos, recomendo seguir o passo a passo completo da documentação e validar os repositórios externos individualmente.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Referência:&lt;/strong&gt;&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.debian.org/releases/trixie/release-notes/upgrading.en.html&quot;&gt;Upgrades from Debian 12 (bookworm)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.debian.org/releases/trixie/release-notes/index.pt.html&quot;&gt;Release Notes Debian 13 (Trixie)&lt;/a&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/17059/atualizando-do-debian-12-bookworm-para-o-debian-13-trixie-de-forma-simples</guid>
<pubDate>Fri, 08 May 2026 12:21:31 +0000</pubDate>
</item>
<item>
<title>Rescuing Legacy Hardware: Installing Linux on Early UEFI Systems (Debian 13 Case Study)</title>
<link>https://coderlegion.com/10795/rescuing-legacy-hardware-installing-linux-on-early-uefi-systems-debian-13-case-study</link>
<description>&lt;h3 id=&quot;tl-dr&quot;&gt;TL;DR&lt;/h3&gt;
&lt;p&gt;Modern Linux installers increasingly assume fully compliant UEFI firmware. On early-generation UEFI systems (circa 2011–2013), this assumption often breaks. This article documents a real-world case where Debian 13, installed in Legacy (MBR + GRUB i386-pc) mode, proved to be the most reliable solution.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;context-when-a-simple-reinstall-fails&quot;&gt;Context: When a Simple Reinstall Fails&lt;/h3&gt;
&lt;p&gt;A Lenovo QiTian M435E (2012), equipped with a Kingston SV300S3 SSD and early-generation UEFI firmware, suffered an OS corruption after an electrical incident. The expected fix — reinstalling Linux — turned into a multi-distro debugging session.&lt;/p&gt;
&lt;p&gt;Several modern distributions completed installation successfully but failed to boot afterward, even when configuration steps appeared correct.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;early-uefi-is-not-modern-uefi&quot;&gt;Early UEFI Is Not Modern UEFI&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://coderlegion.com/?qa=blob&amp;amp;qa_blobid=9119999155364460438&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;The QiTian M435E provides firmware options labeled &quot;UEFI Only&quot; and &quot;Legacy Only&quot;. However, this system uses an early UEFI implementation common in pre-2014 corporate hardware.&lt;/p&gt;
&lt;p&gt;Characteristics of this class of firmware include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Partial or unstable EFI variable (NVRAM) support&lt;/li&gt;
&lt;li&gt;Inconsistent handling of GPT + EFI System Partitions&lt;/li&gt;
&lt;li&gt;Unreliable interaction with modern GRUB EFI targets&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As a result, systems may technically support UEFI while failing to boot reliably with contemporary Linux installers.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;why-several-modern-distros-failed&quot;&gt;Why Several Modern Distros Failed&lt;/h3&gt;
&lt;h4 id=&quot;ubuntu-24-04-linux-mint-22-zorin-os-17&quot;&gt;Ubuntu 24.04 / Linux Mint 22 / Zorin OS 17&lt;/h4&gt;
&lt;p&gt;These distributions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Default to GPT partitioning&lt;/li&gt;
&lt;li&gt;Assume a functional EFI System Partition&lt;/li&gt;
&lt;li&gt;Install GRUB primarily in x86_64-efi mode&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On early UEFI systems, this results in:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Missing or ignored boot entries&lt;/li&gt;
&lt;li&gt;Firmware failing to locate EFI binaries&lt;/li&gt;
&lt;li&gt;Systems reporting &quot;No operating system found&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This behavior is not a bug but a consequence of architectural assumptions.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;why-debian-13-worked&quot;&gt;Why Debian 13 Worked&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://coderlegion.com/?qa=blob&amp;amp;qa_blobid=5813726813604479930&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;Debian 13 (Trixie) maintains robust support for legacy boot paths:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Honors MBR (msdos) partition tables when disks are clean&lt;/li&gt;
&lt;li&gt;Installs GRUB using the i386-pc target when booted in Legacy mode&lt;/li&gt;
&lt;li&gt;Does not require an EFI System Partition in BIOS/Legacy setups&lt;/li&gt;
&lt;li&gt;Explicitly asks where GRUB should be installed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This results in a predictable, firmware-compatible boot chain.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;tested-installation-procedure-legacy-mode-&quot;&gt;Tested Installation Procedure (Legacy Mode)&lt;/h3&gt;
&lt;h4 id=&quot;prerequisites&quot;&gt;Prerequisites&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.debian.org/download&quot;&gt;debian-13.x-amd64-netinst.iso&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Firmware set to Legacy Only&lt;/li&gt;
&lt;li&gt;Secure Boot and UEFI disabled&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;disk-preparation&quot;&gt;Disk Preparation&lt;/h4&gt;
&lt;p&gt;Ensure the disk uses MBR, not GPT:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo wipefs -a /dev/sda
sudo parted /dev/sda mklabel msdos
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;installation&quot;&gt;Installation&lt;/h4&gt;
&lt;p&gt;&lt;img src=&quot;https://coderlegion.com/?qa=blob&amp;amp;qa_blobid=8590496137216518818&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Choose: Guided – use entire disk&lt;/li&gt;
&lt;li&gt;Filesystem: ext4&lt;/li&gt;
&lt;li&gt;Avoid separate /boot partitions&lt;/li&gt;
&lt;li&gt;Confirm GRUB installation to /dev/sda (not /dev/sda1)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Internally, Debian executes:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;grub-install --target=i386-pc --boot-directory=/boot /dev/sda
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;h3 id=&quot;key-technical-takeaway&quot;&gt;Key Technical Takeaway&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Component &lt;/th&gt;&lt;th&gt;Debian 13 &lt;/th&gt;&lt;th&gt;Modern Ubuntu-based Distros&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Partition table &lt;/td&gt;&lt;td&gt;Respects MBR &lt;/td&gt;&lt;td&gt;Defaults to GPT&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GRUB target &lt;/td&gt;&lt;td&gt;i386-pc &lt;/td&gt;&lt;td&gt;x86_64-efi&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;EFI requirement &lt;/td&gt;&lt;td&gt;Not required &lt;/td&gt;&lt;td&gt;Assumed&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Firmware tolerance &lt;/td&gt;&lt;td&gt;High &lt;/td&gt;&lt;td&gt;Low on early UEFI&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Legacy and early-UEFI systems are not obsolete — they are underserved. Debian 13 remains one of the few mainstream distributions that still treats non-modern firmware as a first-class scenario rather than an edge case.&lt;/p&gt;
&lt;p&gt;For environments with pre-2014 hardware, predictability often matters more than novelty.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;references&quot;&gt;References&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.debian.org/devel/debian-installer/&quot;&gt;Debian Installer Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.gnu.org/software/grub/manual/grub/grub.html&quot;&gt;GNU GRUB Manual&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://wiki.archlinux.org/title/System_time&quot;&gt;Arch Linux Wiki — System Time &amp;amp; Boot Modes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/10795/rescuing-legacy-hardware-installing-linux-on-early-uefi-systems-debian-13-case-study</guid>
<pubDate>Sat, 31 Jan 2026 03:04:36 +0000</pubDate>
</item>
</channel>
</rss>