<rss
      xmlns:atom="http://www.w3.org/2005/Atom"
      xmlns:media="http://search.yahoo.com/mrss/"
      xmlns:content="http://purl.org/rss/1.0/modules/content/"
      xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
      xmlns:dc="http://purl.org/dc/elements/1.1/"
      version="2.0"
    >
      <channel>
        <title><![CDATA[COMPILADOS NOSTR]]></title>
        <description><![CDATA[Compilados de artigos, notícias e tutoriais publicados na rede Nostr em português.]]></description>
        <link>https://compilados.npub.pro/tag/linux/</link>
        <atom:link href="https://compilados.npub.pro/tag/linux/rss/" rel="self" type="application/rss+xml"/>
        <itunes:new-feed-url>https://compilados.npub.pro/tag/linux/rss/</itunes:new-feed-url>
        <itunes:author><![CDATA[idsera]]></itunes:author>
        <itunes:subtitle><![CDATA[Compilados de artigos, notícias e tutoriais publicados na rede Nostr em português.]]></itunes:subtitle>
        <itunes:type>episodic</itunes:type>
        <itunes:owner>
          <itunes:name><![CDATA[idsera]]></itunes:name>
          <itunes:email><![CDATA[idsera]]></itunes:email>
        </itunes:owner>
            
      <pubDate>Fri, 02 May 2025 03:50:46 GMT</pubDate>
      <lastBuildDate>Fri, 02 May 2025 03:50:46 GMT</lastBuildDate>
      
      <itunes:image href="https://pfp.nostr.build/d04bb7baa476bbb67c4b0bb02e676d0fb8cd20b809f6956ed68d2adc647b91b1.jpg" />
      <image>
        <title><![CDATA[COMPILADOS NOSTR]]></title>
        <link>https://compilados.npub.pro/tag/linux/</link>
        <url>https://pfp.nostr.build/d04bb7baa476bbb67c4b0bb02e676d0fb8cd20b809f6956ed68d2adc647b91b1.jpg</url>
      </image>
      <item>
      <title><![CDATA[Surviving the Raspberry Pi ZFS Kernel Trap: From Panic to Recovery]]></title>
      <description><![CDATA[⚠️ ZFS broke after a Raspberry Pi kernel upgrade? Don't reboot yet. Kernel 6.12 + ZFS 2.2.3 = disaster. This guide shows how to recover and avoid it next time.]]></description>
             <itunes:subtitle><![CDATA[⚠️ ZFS broke after a Raspberry Pi kernel upgrade? Don't reboot yet. Kernel 6.12 + ZFS 2.2.3 = disaster. This guide shows how to recover and avoid it next time.]]></itunes:subtitle>
      <pubDate>Fri, 02 May 2025 03:50:46 GMT</pubDate>
      <link>https://compilados.npub.pro/post/1746157452265/</link>
      <comments>https://compilados.npub.pro/post/1746157452265/</comments>
      <guid isPermaLink="false">naddr1qqxnzde5xccn2de5x5eryd34qgsrl7kr5my9n6423nwaktrsq2nwzzenal4e95p9k9826mu294jkv4crqsqqqa28n0u4dt</guid>
      <category>raspberrypi</category>
      
        <media:content url="https://haven.girino.org/dec05be5e34f01d57dc5c4baa2e542af59eeed467d300500d7ac2a724b25dadc.png" medium="image"/>
        <enclosure 
          url="https://haven.girino.org/dec05be5e34f01d57dc5c4baa2e542af59eeed467d300500d7ac2a724b25dadc.png" length="0" 
          type="image/png" 
        />
      <noteId>naddr1qqxnzde5xccn2de5x5eryd34qgsrl7kr5my9n6423nwaktrsq2nwzzenal4e95p9k9826mu294jkv4crqsqqqa28n0u4dt</noteId>
      <npub>npub18lav8fkgt8424rxamvk8qq4xuy9n8mltjtgztv2w44hc5tt9vets0hcfsz</npub>
      <dc:creator><![CDATA[Girino Vey!]]></dc:creator>
      <content:encoded><![CDATA[<p><strong>Introduction: Don't Despair—This Can Be Fixed (But Don't Reboot Yet)</strong></p>
<p>Running ZFS on a Raspberry Pi offers powerful features for home servers and personal NAS setups. But with power comes complexity, and in recent months, a quiet pitfall has emerged for Pi users who track kernel updates closely: upgrading to an unsupported kernel version breaks ZFS.</p>
<blockquote>
<p><strong>⚠️ Important Warning:</strong> If you've just upgraded your kernel and you're using ZFS, <strong>do not reboot</strong> yet. Rebooting without a working ZFS module can leave your system unbootable—even if you don't have critical partitions on ZFS. The system may hang because it tries to load the missing ZFS kernel module during boot and fails, halting the boot process.</p>
</blockquote>
<p>If you're already facing a broken setup or can't boot — don't panic. This guide outlines both the worst-case scenario and the ideal recovery strategy. Whether you're locked out or preparing for a smooth upgrade, we've got you covered.</p>
<hr>
<p><strong>The Problem: A Kernel Update Too Far</strong></p>
<p>As of ZFS version 2.2.3 (used in Debian-based Raspberry Pi OS), the filesystem supports Linux kernels up to <strong>6.7</strong>. However, Raspberry Pi OS backports recently began shipping <strong>6.12.x</strong> kernels. If you upgrade to 6.12 without precautions:</p>
<ul>
<li>ZFS will <strong>fail to compile</strong> against the new kernel</li>
<li>DKMS errors will appear during package updates</li>
<li>Your ZFS module will be missing after reboot</li>
<li>Your Raspberry Pi <strong>may fail to boot</strong>, even without ZFS-mounted root or critical paths, simply due to systemd or boot scripts expecting the kernel module to be present</li>
</ul>
<h3>Example ZFS Compilation Error:</h3>
<p>During package updates or installs, you'll see something like:</p>
<pre><code>checking whether bdev_open_by_path() exists... configure: error:
        *** None of the expected "blkdev_get_by_path()" interfaces were detected.
        *** This may be because your kernel version is newer than what is
        *** supported, or you are using a patched custom kernel with
        *** incompatible modifications.
        ***
        *** ZFS Version: zfs-2.2.3-1~bpo12+1~rpt1
        *** Compatible Kernels: 3.10 - 6.7
</code></pre>
<p>This error means ZFS cannot build its kernel module against Linux 6.12.x, making it unusable.</p>
<h3>Why This Happens: The Version Trap</h3>
<p>The key problem is that <strong>ZFS 2.2.3</strong> remains installed even after a kernel upgrade, and it doesn't get upgraded automatically during <code>apt upgrade</code>. Since ZFS 2.2.3 only supports up to kernel 6.7, it fails to compile against 6.12.x.</p>
<p>However, if you <strong>remove and then reinstall ZFS</strong>, the package manager installs <strong>ZFS 2.3.1</strong>, which does support Linux kernel 6.12.x. This version transition is what resolves the issue — but only if you explicitly purge and reinstall ZFS.</p>
<hr>
<p><strong>Worst Case: The System That Wouldn’t Boot</strong></p>
<p>After upgrading the kernel and rebooting, the system failed to boot properly. It showed errors like:</p>
<blockquote>
<p>cannot open access to console, the root account is locked</p>
</blockquote>
<p>Although the system did not have critical filesystems on ZFS, the boot process still stalled because system services attempted to load the ZFS kernel module, which was no longer available. This resulted in an unrecoverable boot failure.</p>
<p>The only way forward was to <strong>reformat and reinstall</strong> Raspberry Pi OS. However, the default Raspberry Pi OS image still comes with a 6.6.x kernel, which is incompatible with ZFS 2.3.1 and newer kernels unless upgraded. Therefore, the recovery process requires one crucial step:</p>
<ol>
<li><p><strong>First</strong>, perform a full system upgrade:</p>
<pre><code>sudo apt update &amp;&amp; sudo apt full-upgrade
</code></pre>
<p>This brings the kernel up to 6.12.x.</p>
</li>
<li><p><strong>Then</strong>, reinstall ZFS:</p>
<pre><code>sudo apt install zfs-dkms zfsutils-linux
</code></pre>
</li>
</ol>
<p>Once this is complete, your system will be running kernel 6.12 with ZFS 2.3.1, and you can safely import your pools and resume operations.</p>
<hr>
<p><strong>Best Case Recovery: Clean Cut, Clean Upgrade</strong></p>
<p>For users who can still log into their system, here's the cleanest and safest sequence to move forward:</p>
<ol>
<li><p><strong>Stop all services using ZFS</strong>, including Docker, NFS, Samba, backup tools, etc.</p>
</li>
<li><p><strong>Export all ZFS pools</strong>:</p>
<pre><code>sudo zpool export -a
</code></pre>
</li>
<li><p><strong>Disable swap</strong> if it lives on a ZFS vdev:</p>
<pre><code>sudo swapoff /dev/sdXn
</code></pre>
</li>
<li><p><strong>Purge ZFS packages</strong>:</p>
<pre><code>sudo apt purge zfsutils-linux zfs-dkms zfs-zed
sudo rm -rf /usr/src/zfs* /var/lib/dkms/zfs
</code></pre>
</li>
<li><p><strong>Update the kernel</strong> to the desired version:</p>
<pre><code>sudo apt update &amp;&amp; sudo apt full-upgrade
</code></pre>
</li>
<li><p><strong>Reboot into the new kernel</strong>:</p>
<pre><code>sudo reboot
</code></pre>
</li>
<li><p><strong>Reinstall ZFS</strong>:</p>
<pre><code>sudo apt install zfs-dkms zfsutils-linux
</code></pre>
</li>
<li><p><strong>Import your pool(s)</strong>:</p>
<pre><code>sudo zpool import poolname
</code></pre>
</li>
<li><p><strong>Restart services</strong> that depend on ZFS.</p>
</li>
</ol>
<hr>
<p><strong>Final Notes: Prevention Is Better Than Recovery</strong></p>
<p>To avoid this issue in the future:</p>
<ul>
<li><p><strong>Hold your current working kernel version</strong>:</p>
<pre><code>sudo apt-mark hold linux-image-rpi-v8 linux-headers-rpi-v8
</code></pre>
</li>
<li><p>Or track ZFS GitHub for kernel compatibility before upgrading</p>
</li>
<li><p>Or test upgrades on a second Pi or cloned SD card before rolling them out to production</p>
</li>
</ul>
<hr>
<p><strong>Conclusion: A Solvable Trap</strong></p>
<p>ZFS on the Raspberry Pi remains a powerful option, but it demands careful version tracking. If you upgrade responsibly, or recover cleanly as described above, you can continue benefiting from advanced features like snapshots, send/receive, and compression even on this tiny powerhouse.</p>
<p>Don’t let a kernel update ruin your storage plans—with preparation, the Pi + ZFS combo can remain stable and strong.</p>
]]></content:encoded>
      <itunes:author><![CDATA[Girino Vey!]]></itunes:author>
      <itunes:summary><![CDATA[<p><strong>Introduction: Don't Despair—This Can Be Fixed (But Don't Reboot Yet)</strong></p>
<p>Running ZFS on a Raspberry Pi offers powerful features for home servers and personal NAS setups. But with power comes complexity, and in recent months, a quiet pitfall has emerged for Pi users who track kernel updates closely: upgrading to an unsupported kernel version breaks ZFS.</p>
<blockquote>
<p><strong>⚠️ Important Warning:</strong> If you've just upgraded your kernel and you're using ZFS, <strong>do not reboot</strong> yet. Rebooting without a working ZFS module can leave your system unbootable—even if you don't have critical partitions on ZFS. The system may hang because it tries to load the missing ZFS kernel module during boot and fails, halting the boot process.</p>
</blockquote>
<p>If you're already facing a broken setup or can't boot — don't panic. This guide outlines both the worst-case scenario and the ideal recovery strategy. Whether you're locked out or preparing for a smooth upgrade, we've got you covered.</p>
<hr>
<p><strong>The Problem: A Kernel Update Too Far</strong></p>
<p>As of ZFS version 2.2.3 (used in Debian-based Raspberry Pi OS), the filesystem supports Linux kernels up to <strong>6.7</strong>. However, Raspberry Pi OS backports recently began shipping <strong>6.12.x</strong> kernels. If you upgrade to 6.12 without precautions:</p>
<ul>
<li>ZFS will <strong>fail to compile</strong> against the new kernel</li>
<li>DKMS errors will appear during package updates</li>
<li>Your ZFS module will be missing after reboot</li>
<li>Your Raspberry Pi <strong>may fail to boot</strong>, even without ZFS-mounted root or critical paths, simply due to systemd or boot scripts expecting the kernel module to be present</li>
</ul>
<h3>Example ZFS Compilation Error:</h3>
<p>During package updates or installs, you'll see something like:</p>
<pre><code>checking whether bdev_open_by_path() exists... configure: error:
        *** None of the expected "blkdev_get_by_path()" interfaces were detected.
        *** This may be because your kernel version is newer than what is
        *** supported, or you are using a patched custom kernel with
        *** incompatible modifications.
        ***
        *** ZFS Version: zfs-2.2.3-1~bpo12+1~rpt1
        *** Compatible Kernels: 3.10 - 6.7
</code></pre>
<p>This error means ZFS cannot build its kernel module against Linux 6.12.x, making it unusable.</p>
<h3>Why This Happens: The Version Trap</h3>
<p>The key problem is that <strong>ZFS 2.2.3</strong> remains installed even after a kernel upgrade, and it doesn't get upgraded automatically during <code>apt upgrade</code>. Since ZFS 2.2.3 only supports up to kernel 6.7, it fails to compile against 6.12.x.</p>
<p>However, if you <strong>remove and then reinstall ZFS</strong>, the package manager installs <strong>ZFS 2.3.1</strong>, which does support Linux kernel 6.12.x. This version transition is what resolves the issue — but only if you explicitly purge and reinstall ZFS.</p>
<hr>
<p><strong>Worst Case: The System That Wouldn’t Boot</strong></p>
<p>After upgrading the kernel and rebooting, the system failed to boot properly. It showed errors like:</p>
<blockquote>
<p>cannot open access to console, the root account is locked</p>
</blockquote>
<p>Although the system did not have critical filesystems on ZFS, the boot process still stalled because system services attempted to load the ZFS kernel module, which was no longer available. This resulted in an unrecoverable boot failure.</p>
<p>The only way forward was to <strong>reformat and reinstall</strong> Raspberry Pi OS. However, the default Raspberry Pi OS image still comes with a 6.6.x kernel, which is incompatible with ZFS 2.3.1 and newer kernels unless upgraded. Therefore, the recovery process requires one crucial step:</p>
<ol>
<li><p><strong>First</strong>, perform a full system upgrade:</p>
<pre><code>sudo apt update &amp;&amp; sudo apt full-upgrade
</code></pre>
<p>This brings the kernel up to 6.12.x.</p>
</li>
<li><p><strong>Then</strong>, reinstall ZFS:</p>
<pre><code>sudo apt install zfs-dkms zfsutils-linux
</code></pre>
</li>
</ol>
<p>Once this is complete, your system will be running kernel 6.12 with ZFS 2.3.1, and you can safely import your pools and resume operations.</p>
<hr>
<p><strong>Best Case Recovery: Clean Cut, Clean Upgrade</strong></p>
<p>For users who can still log into their system, here's the cleanest and safest sequence to move forward:</p>
<ol>
<li><p><strong>Stop all services using ZFS</strong>, including Docker, NFS, Samba, backup tools, etc.</p>
</li>
<li><p><strong>Export all ZFS pools</strong>:</p>
<pre><code>sudo zpool export -a
</code></pre>
</li>
<li><p><strong>Disable swap</strong> if it lives on a ZFS vdev:</p>
<pre><code>sudo swapoff /dev/sdXn
</code></pre>
</li>
<li><p><strong>Purge ZFS packages</strong>:</p>
<pre><code>sudo apt purge zfsutils-linux zfs-dkms zfs-zed
sudo rm -rf /usr/src/zfs* /var/lib/dkms/zfs
</code></pre>
</li>
<li><p><strong>Update the kernel</strong> to the desired version:</p>
<pre><code>sudo apt update &amp;&amp; sudo apt full-upgrade
</code></pre>
</li>
<li><p><strong>Reboot into the new kernel</strong>:</p>
<pre><code>sudo reboot
</code></pre>
</li>
<li><p><strong>Reinstall ZFS</strong>:</p>
<pre><code>sudo apt install zfs-dkms zfsutils-linux
</code></pre>
</li>
<li><p><strong>Import your pool(s)</strong>:</p>
<pre><code>sudo zpool import poolname
</code></pre>
</li>
<li><p><strong>Restart services</strong> that depend on ZFS.</p>
</li>
</ol>
<hr>
<p><strong>Final Notes: Prevention Is Better Than Recovery</strong></p>
<p>To avoid this issue in the future:</p>
<ul>
<li><p><strong>Hold your current working kernel version</strong>:</p>
<pre><code>sudo apt-mark hold linux-image-rpi-v8 linux-headers-rpi-v8
</code></pre>
</li>
<li><p>Or track ZFS GitHub for kernel compatibility before upgrading</p>
</li>
<li><p>Or test upgrades on a second Pi or cloned SD card before rolling them out to production</p>
</li>
</ul>
<hr>
<p><strong>Conclusion: A Solvable Trap</strong></p>
<p>ZFS on the Raspberry Pi remains a powerful option, but it demands careful version tracking. If you upgrade responsibly, or recover cleanly as described above, you can continue benefiting from advanced features like snapshots, send/receive, and compression even on this tiny powerhouse.</p>
<p>Don’t let a kernel update ruin your storage plans—with preparation, the Pi + ZFS combo can remain stable and strong.</p>
]]></itunes:summary>
      <itunes:image href="https://haven.girino.org/dec05be5e34f01d57dc5c4baa2e542af59eeed467d300500d7ac2a724b25dadc.png"/>
      </item>
      
      <item>
      <title><![CDATA[How to Run a Sapphire Block Erupter USB for Mining on Linux in 2025]]></title>
      <description><![CDATA[I found an old Sapphire Block Erupter USB from 2013 and decided to get it mining on Linux again. After several attempts, I discovered that I needed a specific version of CGMiner. In this article, I explain how to install dependencies, download and compile the miner, connect the device, and start mining. While obsolete for real mining, the Block Erupter is still useful for learning and experimenting with ASIC hardware.]]></description>
             <itunes:subtitle><![CDATA[I found an old Sapphire Block Erupter USB from 2013 and decided to get it mining on Linux again. After several attempts, I discovered that I needed a specific version of CGMiner. In this article, I explain how to install dependencies, download and compile the miner, connect the device, and start mining. While obsolete for real mining, the Block Erupter is still useful for learning and experimenting with ASIC hardware.]]></itunes:subtitle>
      <pubDate>Sat, 08 Mar 2025 23:07:55 GMT</pubDate>
      <link>https://compilados.npub.pro/post/1741475186693/</link>
      <comments>https://compilados.npub.pro/post/1741475186693/</comments>
      <guid isPermaLink="false">naddr1qqxnzde5xy6rwdf38qmrvwfnqgsrl7kr5my9n6423nwaktrsq2nwzzenal4e95p9k9826mu294jkv4crqsqqqa28586s4e</guid>
      <category>Bitcoin</category>
      
        <media:content url="https://haven.girino.org/ee864c447c8e04cf703450f67fb6e8a0688fc8180d94e2e7c7351648812a1c14.webp" medium="image"/>
        <enclosure 
          url="https://haven.girino.org/ee864c447c8e04cf703450f67fb6e8a0688fc8180d94e2e7c7351648812a1c14.webp" length="0" 
          type="image/webp" 
        />
      <noteId>naddr1qqxnzde5xy6rwdf38qmrvwfnqgsrl7kr5my9n6423nwaktrsq2nwzzenal4e95p9k9826mu294jkv4crqsqqqa28586s4e</noteId>
      <npub>npub18lav8fkgt8424rxamvk8qq4xuy9n8mltjtgztv2w44hc5tt9vets0hcfsz</npub>
      <dc:creator><![CDATA[Girino Vey!]]></dc:creator>
      <content:encoded><![CDATA[<p>Recently, I found an old <strong>Sapphire Block Erupter USB</strong> at home that I used for Bitcoin mining back in 2013. Out of curiosity and nostalgia, I decided to try getting it to work again. I spent an entire afternoon configuring the device and, after much trial and error, discovered that I needed an older version of <strong>CGMiner</strong> to make it work.</p>
<p>The <strong>Sapphire Block Erupter USB</strong> was one of the first ASIC devices designed for Bitcoin mining. Although obsolete for competitive mining, it can still be used for learning, nostalgia, or experimentation. In this post, I’ll show you how to run a <strong>Block Erupter USB</strong> on Linux today.</p>
<h2>1. Prerequisites</h2>
<p>Before you start, make sure you have:</p>
<ul>
<li>A <strong>Sapphire Block Erupter USB</strong></li>
<li>A powered USB hub (optional but recommended)</li>
<li>A computer running <strong>Linux</strong> (Ubuntu, Debian, or another compatible distribution)</li>
<li>A mining pool account (e.g., Slush Pool, KanoPool, etc.)</li>
</ul>
<h2>2. Installing Dependencies</h2>
<p>Before running the miner, install some dependencies:</p>
<pre><code class="language-bash">sudo apt update &amp;&amp; sudo apt install -y git build-essential autoconf automake libtool pkg-config libusb-1.0-0-dev
</code></pre>
<h2>3. Determining the Compatible Version of CGMiner</h2>
<p>To find the correct <strong>CGMiner</strong> version that still supports Block Erupter USB, I performed a <strong>binary search</strong> across different versions, testing each one until I found the last one that properly recognized the device. The result was that <strong>version 3.4.3</strong> is the most recent one that still supports Block Erupters. However, different versions of these devices may require different CGMiner versions.</p>
<h2>4. Downloading and Compiling CGMiner</h2>
<p><strong>CGMiner</strong> is one of the software options compatible with Block Erupters. You can download the correct version from two trusted sources:</p>
<ul>
<li>From the official repository: <a href="https://github.com/ckolivas/cgminer/archive/refs/tags/v3.4.3.tar.gz">CGMiner v3.4.3 on GitHub</a></li>
<li>Alternatively, from this mirror: <a href="https://haven.girino.org/3b44da12e5f24f603eeeefdaa2c573bd566c5c50c9d62946f198e611cd55876b.tgz">CGMiner v3.4.3 on Haven</a></li>
</ul>
<p>To ensure file integrity, verify the <strong>SHA-256 hash</strong>:</p>
<pre><code>3b44da12e5f24f603eeeefdaa2c573bd566c5c50c9d62946f198e611cd55876b
</code></pre>
<p>Now, download and extract it:</p>
<pre><code class="language-bash">wget https://github.com/ckolivas/cgminer/archive/refs/tags/v3.4.3.tar.gz
# Or, alternatively:
wget https://haven.girino.org/3b44da12e5f24f603eeeefdaa2c573bd566c5c50c9d62946f198e611cd55876b.tgz

sha256sum v3.4.3.tar.gz  # Confirm that the hash matches

# Extract the file
tar -xvf v3.4.3.tar.gz
cd cgminer-3.4.3

# Compile CGMiner
./autogen.sh --enable-icarus
make -j$(nproc)

# Install on the system (optional)
sudo make install
</code></pre>
<h2>5. Connecting the Block Erupter USB</h2>
<p>Plug the device into a USB port and check if it is recognized:</p>
<pre><code class="language-bash">dmesg | grep USB
lsusb
</code></pre>
<p>You should see something like:</p>
<pre><code>Bus 003 Device 004: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102 USB to UART Bridge Controller
</code></pre>
<p>If needed, adjust the USB device permissions:</p>
<pre><code class="language-bash">sudo chmod 666 /dev/ttyUSB0
</code></pre>
<h2>6. Configuring and Running CGMiner</h2>
<p>Now, run <strong>CGMiner</strong>, pointing it to your mining pool:</p>
<pre><code class="language-bash">./cgminer -o stratum+tcp://your.pool.com:3333 -u yourUsername -p yourPassword
</code></pre>
<p>If the miner detects the Block Erupter correctly, you should see something like:</p>
<pre><code> [2025-03-08 22:26:45] Started cgminer 3.4.3
 [2025-03-08 22:26:45] No devices detected!
 [2025-03-08 22:26:45] Waiting for USB hotplug devices or press q to quit
 [2025-03-08 22:26:45] Probing for an alive pool
 [2025-03-08 22:26:46] Pool 0 difficulty changed to 65536
 [2025-03-08 22:26:46] Network diff set to 111T
 [2025-03-08 22:26:46] Stratum from pool 0 detected new block
 [2025-03-08 22:27:02] Hotplug: Icarus added AMU 0
</code></pre>
<h2>Conclusion</h2>
<p>Although no longer viable for real mining, the <strong>Sapphire Block Erupter USB</strong> is still great for learning about ASICs, testing mining pools, and understanding Bitcoin mining. If you enjoy working with old hardware and have one lying around, it’s worth experimenting with!</p>
<p>If you have any questions or want to share your experience, leave a comment below!</p>
]]></content:encoded>
      <itunes:author><![CDATA[Girino Vey!]]></itunes:author>
      <itunes:summary><![CDATA[<p>Recently, I found an old <strong>Sapphire Block Erupter USB</strong> at home that I used for Bitcoin mining back in 2013. Out of curiosity and nostalgia, I decided to try getting it to work again. I spent an entire afternoon configuring the device and, after much trial and error, discovered that I needed an older version of <strong>CGMiner</strong> to make it work.</p>
<p>The <strong>Sapphire Block Erupter USB</strong> was one of the first ASIC devices designed for Bitcoin mining. Although obsolete for competitive mining, it can still be used for learning, nostalgia, or experimentation. In this post, I’ll show you how to run a <strong>Block Erupter USB</strong> on Linux today.</p>
<h2>1. Prerequisites</h2>
<p>Before you start, make sure you have:</p>
<ul>
<li>A <strong>Sapphire Block Erupter USB</strong></li>
<li>A powered USB hub (optional but recommended)</li>
<li>A computer running <strong>Linux</strong> (Ubuntu, Debian, or another compatible distribution)</li>
<li>A mining pool account (e.g., Slush Pool, KanoPool, etc.)</li>
</ul>
<h2>2. Installing Dependencies</h2>
<p>Before running the miner, install some dependencies:</p>
<pre><code class="language-bash">sudo apt update &amp;&amp; sudo apt install -y git build-essential autoconf automake libtool pkg-config libusb-1.0-0-dev
</code></pre>
<h2>3. Determining the Compatible Version of CGMiner</h2>
<p>To find the correct <strong>CGMiner</strong> version that still supports Block Erupter USB, I performed a <strong>binary search</strong> across different versions, testing each one until I found the last one that properly recognized the device. The result was that <strong>version 3.4.3</strong> is the most recent one that still supports Block Erupters. However, different versions of these devices may require different CGMiner versions.</p>
<h2>4. Downloading and Compiling CGMiner</h2>
<p><strong>CGMiner</strong> is one of the software options compatible with Block Erupters. You can download the correct version from two trusted sources:</p>
<ul>
<li>From the official repository: <a href="https://github.com/ckolivas/cgminer/archive/refs/tags/v3.4.3.tar.gz">CGMiner v3.4.3 on GitHub</a></li>
<li>Alternatively, from this mirror: <a href="https://haven.girino.org/3b44da12e5f24f603eeeefdaa2c573bd566c5c50c9d62946f198e611cd55876b.tgz">CGMiner v3.4.3 on Haven</a></li>
</ul>
<p>To ensure file integrity, verify the <strong>SHA-256 hash</strong>:</p>
<pre><code>3b44da12e5f24f603eeeefdaa2c573bd566c5c50c9d62946f198e611cd55876b
</code></pre>
<p>Now, download and extract it:</p>
<pre><code class="language-bash">wget https://github.com/ckolivas/cgminer/archive/refs/tags/v3.4.3.tar.gz
# Or, alternatively:
wget https://haven.girino.org/3b44da12e5f24f603eeeefdaa2c573bd566c5c50c9d62946f198e611cd55876b.tgz

sha256sum v3.4.3.tar.gz  # Confirm that the hash matches

# Extract the file
tar -xvf v3.4.3.tar.gz
cd cgminer-3.4.3

# Compile CGMiner
./autogen.sh --enable-icarus
make -j$(nproc)

# Install on the system (optional)
sudo make install
</code></pre>
<h2>5. Connecting the Block Erupter USB</h2>
<p>Plug the device into a USB port and check if it is recognized:</p>
<pre><code class="language-bash">dmesg | grep USB
lsusb
</code></pre>
<p>You should see something like:</p>
<pre><code>Bus 003 Device 004: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102 USB to UART Bridge Controller
</code></pre>
<p>If needed, adjust the USB device permissions:</p>
<pre><code class="language-bash">sudo chmod 666 /dev/ttyUSB0
</code></pre>
<h2>6. Configuring and Running CGMiner</h2>
<p>Now, run <strong>CGMiner</strong>, pointing it to your mining pool:</p>
<pre><code class="language-bash">./cgminer -o stratum+tcp://your.pool.com:3333 -u yourUsername -p yourPassword
</code></pre>
<p>If the miner detects the Block Erupter correctly, you should see something like:</p>
<pre><code> [2025-03-08 22:26:45] Started cgminer 3.4.3
 [2025-03-08 22:26:45] No devices detected!
 [2025-03-08 22:26:45] Waiting for USB hotplug devices or press q to quit
 [2025-03-08 22:26:45] Probing for an alive pool
 [2025-03-08 22:26:46] Pool 0 difficulty changed to 65536
 [2025-03-08 22:26:46] Network diff set to 111T
 [2025-03-08 22:26:46] Stratum from pool 0 detected new block
 [2025-03-08 22:27:02] Hotplug: Icarus added AMU 0
</code></pre>
<h2>Conclusion</h2>
<p>Although no longer viable for real mining, the <strong>Sapphire Block Erupter USB</strong> is still great for learning about ASICs, testing mining pools, and understanding Bitcoin mining. If you enjoy working with old hardware and have one lying around, it’s worth experimenting with!</p>
<p>If you have any questions or want to share your experience, leave a comment below!</p>
]]></itunes:summary>
      <itunes:image href="https://haven.girino.org/ee864c447c8e04cf703450f67fb6e8a0688fc8180d94e2e7c7351648812a1c14.webp"/>
      </item>
      
      <item>
      <title><![CDATA[Como Rodar um Sapphire Block Erupter USB para Mineração no Linux em 2025]]></title>
      <description><![CDATA[Encontrei um Sapphire Block Erupter USB antigo que usava para minerar Bitcoin em 2013 e resolvi colocá-lo para funcionar novamente no Linux. Neste post, explico como instalar as dependências, baixar e compilar o minerador, conectar o dispositivo e iniciar a mineração. Embora obsoleto para mineração real, o Block Erupter ainda serve para aprendizado e experimentação com hardware ASIC.]]></description>
             <itunes:subtitle><![CDATA[Encontrei um Sapphire Block Erupter USB antigo que usava para minerar Bitcoin em 2013 e resolvi colocá-lo para funcionar novamente no Linux. Neste post, explico como instalar as dependências, baixar e compilar o minerador, conectar o dispositivo e iniciar a mineração. Embora obsoleto para mineração real, o Block Erupter ainda serve para aprendizado e experimentação com hardware ASIC.]]></itunes:subtitle>
      <pubDate>Sat, 08 Mar 2025 23:02:08 GMT</pubDate>
      <link>https://compilados.npub.pro/post/1741474660659/</link>
      <comments>https://compilados.npub.pro/post/1741474660659/</comments>
      <guid isPermaLink="false">naddr1qqxnzde5xy6rwdpkxccrvdfeqgsrl7kr5my9n6423nwaktrsq2nwzzenal4e95p9k9826mu294jkv4crqsqqqa28f3r5l4</guid>
      <category>Mineração</category>
      
        <media:content url="https://haven.girino.org/ee864c447c8e04cf703450f67fb6e8a0688fc8180d94e2e7c7351648812a1c14.webp" medium="image"/>
        <enclosure 
          url="https://haven.girino.org/ee864c447c8e04cf703450f67fb6e8a0688fc8180d94e2e7c7351648812a1c14.webp" length="0" 
          type="image/webp" 
        />
      <noteId>naddr1qqxnzde5xy6rwdpkxccrvdfeqgsrl7kr5my9n6423nwaktrsq2nwzzenal4e95p9k9826mu294jkv4crqsqqqa28f3r5l4</noteId>
      <npub>npub18lav8fkgt8424rxamvk8qq4xuy9n8mltjtgztv2w44hc5tt9vets0hcfsz</npub>
      <dc:creator><![CDATA[Girino Vey!]]></dc:creator>
      <content:encoded><![CDATA[<h1>Como Rodar um Sapphire Block Erupter USB para Mineração no Linux em 2025</h1>
<p>Recentemente, encontrei um <strong>Sapphire Block Erupter USB</strong> velho aqui em casa que eu usava para minerar Bitcoin em 2013. Por curiosidade e nostalgia, resolvi tentar colocá-lo para funcionar novamente. Passei uma tarde inteira tentando configurar o dispositivo e, depois de muita tentativa e erro, descobri que precisava de uma versão mais antiga do <strong>CGMiner</strong> para fazê-lo funcionar.</p>
<p>Os <strong>Sapphire Block Erupter USB</strong> foram um dos primeiros dispositivos ASIC voltados para mineração de Bitcoin. Embora estejam obsoletos para mineração competitiva, eles ainda podem ser usados para aprendizado, nostalgia ou experimentação. Neste post, vou te mostrar como rodar um <strong>Block Erupter USB</strong> no Linux atualmente.</p>
<h2>1. Pré-requisitos</h2>
<p>Antes de começar, certifique-se de que você tem:</p>
<ul>
<li>Um <strong>Sapphire Block Erupter USB</strong></li>
<li>Um hub USB alimentado (opcional, mas recomendado)</li>
<li>Um computador rodando <strong>Linux</strong> (Ubuntu, Debian, Arch ou outra distribuição compatível)</li>
<li>Um pool de mineração configurado (ex: Slush Pool, KanoPool, etc.)</li>
</ul>
<h2>2. Instalando as Dependências</h2>
<p>Antes de rodar o minerador, instale algumas dependências:</p>
<pre><code class="language-bash">sudo apt update &amp;&amp; sudo apt install -y git build-essential autoconf automake libtool pkg-config libusb-1.0-0-dev
</code></pre>
<h2>3. Determinando a Versão Compatível do CGMiner</h2>
<p>Para encontrar a versão correta do <strong>CGMiner</strong> que ainda suporta os Block Erupter USB, realizei uma <strong>busca binária</strong> entre diferentes versões, testando cada uma até encontrar a última que reconhecia corretamente o dispositivo. O resultado foi que a versão <strong>3.4.3</strong> é a mais recente que ainda suporta os Block Erupters. No entanto, outras versões desses dispositivos podem requerer versões diferentes do CGMiner.</p>
<h2>4. Baixando e Compilando o CGMiner</h2>
<p>O <strong>CGMiner</strong> é um dos softwares compatíveis com os Block Erupters. Você pode baixar a versão correta de duas fontes confiáveis:</p>
<ul>
<li>Do repositório oficial: <a href="https://github.com/ckolivas/cgminer/archive/refs/tags/v3.4.3.tar.gz">CGMiner v3.4.3 no GitHub</a></li>
<li>Alternativamente, deste espelho: <a href="https://haven.girino.org/3b44da12e5f24f603eeeefdaa2c573bd566c5c50c9d62946f198e611cd55876b.tgz">CGMiner v3.4.3 no Haven</a></li>
</ul>
<p>Para garantir a integridade do arquivo, você pode verificar o <strong>hash SHA-256</strong>:</p>
<pre><code>3b44da12e5f24f603eeeefdaa2c573bd566c5c50c9d62946f198e611cd55876b
</code></pre>
<p>Agora, faça o download e extraia:</p>
<pre><code class="language-bash">wget https://github.com/ckolivas/cgminer/archive/refs/tags/v3.4.3.tar.gz
# Ou, alternativamente:
wget https://haven.girino.org/3b44da12e5f24f603eeeefdaa2c573bd566c5c50c9d62946f198e611cd55876b.tgz

sha256sum v3.4.3.tar.gz  # Confirme que o hash bate

# Extraia o arquivo
 tar -xvf v3.4.3.tar.gz
 cd cgminer-3.4.3

# Compile o CGMiner
./autogen.sh --enable-icarus
make -j$(nproc)

# Instale no sistema (opcional)
sudo make install
</code></pre>
<h2>4. Conectando o Block Erupter USB</h2>
<p>Plugue o dispositivo na porta USB e verifique se ele foi reconhecido:</p>
<pre><code class="language-bash">dmesg | grep USB
lsusb
</code></pre>
<p>Você deve ver algo como:</p>
<pre><code>Bus 003 Device 004: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102 USB to UART Bridge Controller
</code></pre>
<p>Se necessário, ajuste as permissões para o dispositivo USB:</p>
<pre><code class="language-bash">sudo chmod 666 /dev/ttyUSB0
</code></pre>
<h2>5. Configurando e Rodando o CGMiner</h2>
<p>Agora, execute o <strong>CGMiner</strong> apontando para seu pool de mineração:</p>
<pre><code class="language-bash">./cgminer -o stratum+tcp://seu.pool.com:3333 -u seuUsuario -p suaSenha
</code></pre>
<p>Se o minerador detectar corretamente o Block Erupter, você verá algo como:</p>
<pre><code> [2025-03-08 22:26:45] Started cgminer 3.4.3
 [2025-03-08 22:26:45] No devices detected!
 [2025-03-08 22:26:45] Waiting for USB hotplug devices or press q to quit
 [2025-03-08 22:26:45] Probing for an alive pool
 [2025-03-08 22:26:46] Pool 0 difficulty changed to 65536
 [2025-03-08 22:26:46] Network diff set to 111T
 [2025-03-08 22:26:46] Stratum from pool 0 detected new block
 [2025-03-08 22:27:02] Hotplug: Icarus added AMU 0
</code></pre>
<h2>Conclusão</h2>
<p>Apesar de não serem mais viáveis para mineração real, os <strong>Sapphire Block Erupter USB</strong> ainda são ótimos para aprender sobre ASICs, testar pools e entender mais sobre a mineração de Bitcoin. Se você gosta de hardware antigo e tem um desses guardado, vale a pena experimentar!</p>
<p>Se tiver dúvidas ou quiser compartilhar sua experiência, comente abaixo!</p>
]]></content:encoded>
      <itunes:author><![CDATA[Girino Vey!]]></itunes:author>
      <itunes:summary><![CDATA[<h1>Como Rodar um Sapphire Block Erupter USB para Mineração no Linux em 2025</h1>
<p>Recentemente, encontrei um <strong>Sapphire Block Erupter USB</strong> velho aqui em casa que eu usava para minerar Bitcoin em 2013. Por curiosidade e nostalgia, resolvi tentar colocá-lo para funcionar novamente. Passei uma tarde inteira tentando configurar o dispositivo e, depois de muita tentativa e erro, descobri que precisava de uma versão mais antiga do <strong>CGMiner</strong> para fazê-lo funcionar.</p>
<p>Os <strong>Sapphire Block Erupter USB</strong> foram um dos primeiros dispositivos ASIC voltados para mineração de Bitcoin. Embora estejam obsoletos para mineração competitiva, eles ainda podem ser usados para aprendizado, nostalgia ou experimentação. Neste post, vou te mostrar como rodar um <strong>Block Erupter USB</strong> no Linux atualmente.</p>
<h2>1. Pré-requisitos</h2>
<p>Antes de começar, certifique-se de que você tem:</p>
<ul>
<li>Um <strong>Sapphire Block Erupter USB</strong></li>
<li>Um hub USB alimentado (opcional, mas recomendado)</li>
<li>Um computador rodando <strong>Linux</strong> (Ubuntu, Debian, Arch ou outra distribuição compatível)</li>
<li>Um pool de mineração configurado (ex: Slush Pool, KanoPool, etc.)</li>
</ul>
<h2>2. Instalando as Dependências</h2>
<p>Antes de rodar o minerador, instale algumas dependências:</p>
<pre><code class="language-bash">sudo apt update &amp;&amp; sudo apt install -y git build-essential autoconf automake libtool pkg-config libusb-1.0-0-dev
</code></pre>
<h2>3. Determinando a Versão Compatível do CGMiner</h2>
<p>Para encontrar a versão correta do <strong>CGMiner</strong> que ainda suporta os Block Erupter USB, realizei uma <strong>busca binária</strong> entre diferentes versões, testando cada uma até encontrar a última que reconhecia corretamente o dispositivo. O resultado foi que a versão <strong>3.4.3</strong> é a mais recente que ainda suporta os Block Erupters. No entanto, outras versões desses dispositivos podem requerer versões diferentes do CGMiner.</p>
<h2>4. Baixando e Compilando o CGMiner</h2>
<p>O <strong>CGMiner</strong> é um dos softwares compatíveis com os Block Erupters. Você pode baixar a versão correta de duas fontes confiáveis:</p>
<ul>
<li>Do repositório oficial: <a href="https://github.com/ckolivas/cgminer/archive/refs/tags/v3.4.3.tar.gz">CGMiner v3.4.3 no GitHub</a></li>
<li>Alternativamente, deste espelho: <a href="https://haven.girino.org/3b44da12e5f24f603eeeefdaa2c573bd566c5c50c9d62946f198e611cd55876b.tgz">CGMiner v3.4.3 no Haven</a></li>
</ul>
<p>Para garantir a integridade do arquivo, você pode verificar o <strong>hash SHA-256</strong>:</p>
<pre><code>3b44da12e5f24f603eeeefdaa2c573bd566c5c50c9d62946f198e611cd55876b
</code></pre>
<p>Agora, faça o download e extraia:</p>
<pre><code class="language-bash">wget https://github.com/ckolivas/cgminer/archive/refs/tags/v3.4.3.tar.gz
# Ou, alternativamente:
wget https://haven.girino.org/3b44da12e5f24f603eeeefdaa2c573bd566c5c50c9d62946f198e611cd55876b.tgz

sha256sum v3.4.3.tar.gz  # Confirme que o hash bate

# Extraia o arquivo
 tar -xvf v3.4.3.tar.gz
 cd cgminer-3.4.3

# Compile o CGMiner
./autogen.sh --enable-icarus
make -j$(nproc)

# Instale no sistema (opcional)
sudo make install
</code></pre>
<h2>4. Conectando o Block Erupter USB</h2>
<p>Plugue o dispositivo na porta USB e verifique se ele foi reconhecido:</p>
<pre><code class="language-bash">dmesg | grep USB
lsusb
</code></pre>
<p>Você deve ver algo como:</p>
<pre><code>Bus 003 Device 004: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102 USB to UART Bridge Controller
</code></pre>
<p>Se necessário, ajuste as permissões para o dispositivo USB:</p>
<pre><code class="language-bash">sudo chmod 666 /dev/ttyUSB0
</code></pre>
<h2>5. Configurando e Rodando o CGMiner</h2>
<p>Agora, execute o <strong>CGMiner</strong> apontando para seu pool de mineração:</p>
<pre><code class="language-bash">./cgminer -o stratum+tcp://seu.pool.com:3333 -u seuUsuario -p suaSenha
</code></pre>
<p>Se o minerador detectar corretamente o Block Erupter, você verá algo como:</p>
<pre><code> [2025-03-08 22:26:45] Started cgminer 3.4.3
 [2025-03-08 22:26:45] No devices detected!
 [2025-03-08 22:26:45] Waiting for USB hotplug devices or press q to quit
 [2025-03-08 22:26:45] Probing for an alive pool
 [2025-03-08 22:26:46] Pool 0 difficulty changed to 65536
 [2025-03-08 22:26:46] Network diff set to 111T
 [2025-03-08 22:26:46] Stratum from pool 0 detected new block
 [2025-03-08 22:27:02] Hotplug: Icarus added AMU 0
</code></pre>
<h2>Conclusão</h2>
<p>Apesar de não serem mais viáveis para mineração real, os <strong>Sapphire Block Erupter USB</strong> ainda são ótimos para aprender sobre ASICs, testar pools e entender mais sobre a mineração de Bitcoin. Se você gosta de hardware antigo e tem um desses guardado, vale a pena experimentar!</p>
<p>Se tiver dúvidas ou quiser compartilhar sua experiência, comente abaixo!</p>
]]></itunes:summary>
      <itunes:image href="https://haven.girino.org/ee864c447c8e04cf703450f67fb6e8a0688fc8180d94e2e7c7351648812a1c14.webp"/>
      </item>
      
      </channel>
      </rss>
    