<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Aurélien Jarno</title><link>https://blog.aurel32.net/</link><description/><atom:link href="https://blog.aurel32.net/feed" rel="self"/><lastBuildDate>Sun, 26 Apr 2026 14:13:00 +0200</lastBuildDate><item><title>Running upstream OpenSBI on SpacemiT K1</title><link>https://blog.aurel32.net/upstream-opensbi-spacemit-k1.html</link><description>&lt;p&gt;The &lt;a href="https://www.spacemit.com/products/keystone/k1"&gt;SpacemiT K1&lt;/a&gt; is a rather
interesting RISC-V SoC, found for instance on boards like the &lt;a href="https://docs.banana-pi.org/en/BPI-F3/BananaPi_BPI-F3"&gt;Banana Pi
BPI-F3&lt;/a&gt; board. It's one
of those platforms that looked promising on paper, but took a bit of time
before things really started to move upstream. Things have clearly accelerated
over the last few months.&lt;/p&gt;
&lt;p&gt;Linux 7.0 brings, among other things PCIe support, making the board quite
capable as a development board. &lt;a href="https://lore.kernel.org/all/20260323-orangepi-sd-card-uhs-v4-0-567c9775fd0e@gmail.com"&gt;SD card&lt;/a&gt;,
&lt;a href="https://lore.kernel.org/all/20251127-b4-k1-thermal-v1-0-f32ce47b1aba@163.com/"&gt;CPU thermal sensor&lt;/a&gt;
and &lt;a href="https://lore.kernel.org/all/20260410-shadow-deps-v2-0-4e16b8c0f60e@mailbox.org/"&gt;cpufreq&lt;/a&gt;
support are already in the pipe.&lt;/p&gt;
&lt;p&gt;Unfortunately the situation is less advanced on the firmware side. There is
only &lt;a href="https://docs.u-boot.org/en/stable/board/spacemit/bananapi-f3.html"&gt;very basic support&lt;/a&gt;
for the SpacemiT K1 in &lt;a href="https://u-boot.org/"&gt;U-Boot&lt;/a&gt; for the second stage,
and initial SPL support has been
&lt;a href="https://lists.denx.de/pipermail/u-boot/2026-March/613259.html"&gt;posted&lt;/a&gt; on the
mailing list, but has not yet been merged. In practice, this means you still
have to rely on the &lt;a href="https://gitee.com/spacemit-buildroot/uboot-2022.10"&gt;vendor U-Boot&lt;/a&gt;,
which is based on the rather old 2022.10 release.&lt;/p&gt;
&lt;p&gt;On the other hand, &lt;a href="https://github.com/riscv-software-src/opensbi"&gt;OpenSBI&lt;/a&gt;
does have upstream support for the SpacemiT K1, however it is not compatible
with the vendor U-Boot, mostly due to device tree differences.&lt;/p&gt;
&lt;p&gt;This can be addressed by applying a few patches to the vendor U-Boot, which I have
published in a &lt;a href="https://git.aurel32.net/uboot-2022.10.git/"&gt;git tree&lt;/a&gt; in the
&lt;code&gt;k1-bl-v2.2.y-opensbi&lt;/code&gt; branch (technically this can also be handled on the
OpenSBI side, but I prefer using a vanilla upstream OpenSBI version). The first
two patches update the configuration to get closer to the upstream U-Boot
defaults, and to enable some configuration options for the &lt;a href="https://milkv.io/jupiter"&gt;Milk-V Jupiter board&lt;/a&gt;,
which stores its firmware in SPI NOR flash, instead of eMMC for the Banana Pi
BPI-F3. The following patches update the device tree by adding extra compatible
entries to several devices, as expected by the upstream kernel and OpenSBI
(thanks to Troy Mitchell for the hint about the UART change) and update the CPU
&lt;code&gt;riscv,isa&lt;/code&gt; properties. Finally an additional patch adds the
&lt;a href="https://www.spacemit.com/products/keystone/p1"&gt;SpacemiT P1&lt;/a&gt; PMIC to the device
tree, which is required for the OpenSBI reboot patchset I recently
&lt;a href="https://lore.kernel.org/opensbi/20260419150857.2705843-1-aurelien@aurel32.net/"&gt;posted&lt;/a&gt;
(this is currently done only for the Banana Pi BPI-F3 and Milk-V Jupiter boards, but
extending it to other boards should be straightforward).&lt;/p&gt;
&lt;p&gt;Building this U-Boot version is as simple as running this command in the source directory:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;make&lt;span class="w"&gt; &lt;/span&gt;k1_defconfig&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;make
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;On a Banana Pi BPI-F3 board, the resulting U-Boot can be flashed with:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;/sys/block/mmcblk0boot0/force_ro
dd&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;FSBL.bin&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;of&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/dev/mmcblk0boot0&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;bs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;512&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;seek&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
dd&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;u-boot.itb&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;of&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/dev/mmcblk0p1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Building upstream OpenSBI is also fairly simple, and can be done by running this command in the source directory:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;make&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;PLATFORM&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;generic
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;On a Banana Pi BPI-F3 board, the resulting OpenSBI can be flashed with:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;dd&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;fw_dynamic.itb&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;of&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/dev/mmcblk0p2
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Note that the vendor U-Boot version is patched to install OpenSBI in a separate
partition instead of embedding, as the upstream U-Boot does. While this works
well on the Banana Pi BPI-F3, the corresponding partition in the Milk-V Jupiter
SPI NOR flash is too small for the upstream OpenSBI version, and can't be
easily resized without breaking compatibility. To address this, the branch
&lt;code&gt;k1-bl-v2.2.y-opensbi-embedded&lt;/code&gt; contains an additional patch (a bit hackish I
admit) to somehow restore the upstream approach. The build process remains
simple, first build OpenSBI with the following command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;make&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;PLATFORM&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;generic
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Then build U-Boot, specifying the patch to the just built OpenSBI firmware:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;make&lt;span class="w"&gt; &lt;/span&gt;k1_defconfig&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;make&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;OPENSBI&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/path/to/opensbi/build/platform/generic/firmware/fw_dynamic.bin
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;On a Milk-V Jupiter board, the resulting combined U-Boot/OpenSBI can be flashed with:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;modprobe&lt;span class="w"&gt; &lt;/span&gt;mdtblock
dd&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;bs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;4k&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;FSBL.bin&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;of&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/dev/mtdblock2
dd&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;bs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;4k&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;u-boot.itb&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;of&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/dev/mtdblock5
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;This combined U-Boot/OpenSBI can also be used on a Banana Pi BPI-F3, using the
same flashing procedure as above, while skipping the OpenSBI part (although
running it won't cause any issue, it will simply be unused).&lt;/p&gt;
&lt;p&gt;All of this is admittedly a bit hackish, but enabling the use of upstream
OpenSBI is already one step forward.  Hopefully, in a few months, we will be
able to rely entirely on upstream U-Boot.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 26 Apr 2026 14:13:00 +0200</pubDate><guid>tag:blog.aurel32.net,2026-04-26:/upstream-opensbi-spacemit-k1.html</guid><category>articles</category><category>all</category><category>geek</category></item><item><title>UEFI Unified Kernel Image for Debian Installer on riscv64</title><link>https://blog.aurel32.net/uefi-uki-d-i-riscv64.html</link><description>&lt;p&gt;On the riscv64 port, the default boot method is UEFI, with
&lt;a href="https://www.denx.de/wiki/U-Boot"&gt;U-Boot&lt;/a&gt; typically used as the firmware. This
approach aligns more closely with other architectures, which avoid developping
riscv64 specific code. For advanced users, booting using U-Boot and extlinux is
possible, thanks to the kernel being built with
&lt;a href="https://docs.kernel.org/admin-guide/efi-stub.html"&gt;&lt;code&gt;CONFIG_EFI_STUB=y&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The same applies to the Debian Installer, which is provided as &lt;a href="https://cdimage.debian.org/cdimage/daily-builds/daily/arch-latest/riscv64/"&gt;ISO images in
various sizes and formats&lt;/a&gt;
like on other architectures. These images can be put on a USB drive or an
SD-card and booted directly from U-Boot in UEFI mode. Some users prefer to use
the netboot "image", which in practice consists of a Linux kernel, an initrd,
plus a set of &lt;a href="https://docs.kernel.org/devicetree/usage-model.html"&gt;Device Tree Blob (DTB)&lt;/a&gt; files.&lt;/p&gt;
&lt;p&gt;However, booting this in UEFI mode is not straightforward, unless you use a
TFTP server, which is also not trivial. Less known to users, there is also a
corresponding &lt;a href="https://d-i.debian.org/daily-images/riscv64/daily/netboot/mini.iso"&gt;&lt;code&gt;mini.iso&lt;/code&gt;&lt;/a&gt;
image, which contains all the above plus a bootloader. This offers a simpler
alternative for installation, but depending on your (vendor) U-Boot version
this still requires to go through a media.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/systemd/systemd/releases/tag/v257-rc2"&gt;Systemd version 257-rc2&lt;/a&gt;
comes with a great new feature, the ability to include multiple DTB files in a
single UKI (Unified Kernel Image) file, with &lt;code&gt;systemd-stub&lt;/code&gt; automatically
loading the appropriate one for the current hardware. A UKI file combines a
UEFI boot stub program, a Linux kernel image, an optional initrd, and further
resources in a single UEFI PE file. This finally solves the DTB problem in the
UEFI world for distributions, as a single image can work on multiple boards.&lt;/p&gt;
&lt;p&gt;Building upon this, debian-installer on riscv64 now also creates a UEFI UKI
&lt;a href="https://d-i.debian.org/daily-images/riscv64/daily/netboot/mini.efi"&gt;&lt;code&gt;mini.efi&lt;/code&gt;&lt;/a&gt;
image, which contains &lt;code&gt;systemd-stub&lt;/code&gt;, a Linux kernel, an initrd, plus a set of
Device Tree Blob (DTB) files. Using this image also ensures that the system is
booted in UEFI mode. Booting it with debian-installer is as simple as:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;load mmc 0:1 $kernel_addr_r mini.efi # (can also be done using tftpboot, wget, etc.)
bootefi $kernel_addr_r
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Additional parameters can be passed to the image using the U-Boot &lt;code&gt;bootargs&lt;/code&gt;
environment variable. For instance, to boot in rescue mode:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;setenv bootargs &amp;quot;rescue/enable=true&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sat, 30 Nov 2024 10:41:00 +0100</pubDate><guid>tag:blog.aurel32.net,2024-11-30:/uefi-uki-d-i-riscv64.html</guid><category>articles</category><category>all</category><category>debian</category></item><item><title>AI crawlers should be smarter</title><link>https://blog.aurel32.net/ai-crawlers-should-be-smarter.html</link><description>&lt;p&gt;It would be fantastic if all those AI companies dedicated some time to make
their web crawlers smarter (what about using AI?). Noawadays most of them still
stupidly follow every link on a Git frontend.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hint&lt;/strong&gt;: Changing the display options does not provide more training data!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Tue, 19 Nov 2024 23:31:00 +0100</pubDate><guid>tag:blog.aurel32.net,2024-11-19:/ai-crawlers-should-be-smarter.html</guid><category>articles</category><category>all</category><category>geek</category></item><item><title>Welcome Debian riscv64</title><link>https://blog.aurel32.net/welcome-debian-riscv64.html</link><description>&lt;p&gt;After many years of effort, I am happy to announce that &lt;a href="https://wiki.debian.org/RISC-V"&gt;Debian
riscv64&lt;/a&gt; is now an &lt;a href="https://lists.debian.org/debian-riscv/2023/07/msg00053.html"&gt;official
architecture&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;This milestone is not the end of the journey but rather the beginning of a new
one: the port will need to be rebootstrapped in the official archive, build
daemons will have to be reinstalled and handed over to
&lt;a href="https://dsa.debian.org/"&gt;DSA&lt;/a&gt;, many bugs will need to be fixed.  If everything
goes well, the architecture will eventually be released with
&lt;a href="https://www.debian.org/releases/trixie/"&gt;Trixie&lt;/a&gt;. Please note that this
process will be long and will span several months.&lt;/p&gt;
&lt;p&gt;I would like to take this opportunity to thanks everyone who contributed to
this significant milestone, including individuals and Debian teams, as well as
the organizations and companies that provided us with resources (by rough
chronological order):
&lt;a href="https://www.csail.mit.edu/"&gt;MIT CSAIL&lt;/a&gt;,
&lt;a href="https://www.sifive.com/"&gt;Sifive&lt;/a&gt;,
&lt;a href="https://mullvad.net/"&gt;Mullvad&lt;/a&gt;,
&lt;a href="https://tetaneutral.net"&gt;tetaneutral.net&lt;/a&gt;,
&lt;a href="https://osuosl.org/"&gt;OSU Open Source Lab&lt;/a&gt;,
&lt;a href="https://www.microchip.com"&gt;Microchip&lt;/a&gt;,
&lt;a href="https://beagleboard.org"&gt;BeagleBoard.org Foundation&lt;/a&gt;,
&lt;a href="https://riscv.org/"&gt;RISC-V international&lt;/a&gt;,
&lt;a href="https://plctlab.github.io"&gt;PLCT Lab (ISCAS)&lt;/a&gt;,
&lt;a href="https://www.starfivetech.com/en/"&gt;StarFive&lt;/a&gt;,
and &lt;a href="https://www.man-da.de/"&gt;Metropolitan Area Network Darmstadt&lt;/a&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 23 Jul 2023 21:28:00 +0200</pubDate><guid>tag:blog.aurel32.net,2023-07-23:/welcome-debian-riscv64.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Goodbye Debian GNU/kFreeBSD</title><link>https://blog.aurel32.net/goodbye-kfreebsd.html</link><description>&lt;p&gt;Over the years, the &lt;a href="https://www.debian.org/ports/kfreebsd-gnu/"&gt;Debian GNU/kFreeBSD
port&lt;/a&gt; has gone through various
phases.  After many years of development, it was released as &lt;em&gt;technology
preview&lt;/em&gt; with the release of
&lt;a href="https://www.debian.org/News/2011/20110205a"&gt;Squeeze&lt;/a&gt; and eventually became an
official architecture with the release of
&lt;a href="https://www.debian.org/News/2013/20130504"&gt;Wheezy&lt;/a&gt;. However it ceased being an
official architecture a couple of years later with the release of Jessie,
although a
&lt;a href="http://archive.debian.org/debian/dists/jessie-kfreebsd/"&gt;jessie-kfreebsd&lt;/a&gt;
suite was available in the official archive. Some years later, it was &lt;a href="https://lists.debian.org/debian-riscv/2019/05/msg00002.html"&gt;moved to
the debian-ports
archive&lt;/a&gt;, where it
slowly regressed over the years. The development totally has now been &lt;a href="https://lists.debian.org/debian-devel/2023/05/msg00306.html"&gt;stopped
for over a year&lt;/a&gt;,
and the port has been
&lt;a href="https://lists.debian.org/debian-devel/2023/07/msg00176.html"&gt;removed&lt;/a&gt; from the
debian-ports archive. It's time to say it goodbye!&lt;/p&gt;
&lt;p&gt;I feel a touch of nostalgia as I was deeply involved in the Debian GNU/kFreeBSD
port for nearly a decade, starting in 2006. There are many different reasons to
like GNU/kFreeBSD ranging from political to technical considerations.
Personally, I liked the technical aspect, as the FreeBSD kernel, at that time,
was ahead of the Linux kernel in term of features: jails, ZFS, IPv6 stateful
firewalling, and at a later point superpages. That said it was way behind for
hardware support and to the best of my knowledge this remains unchanged.
Meanwhile, the Linux kernel development accelerated in the latter stages of the
2.6.x series, and eventually closed the feature gap. At some point, I began to
lose interest, and also to lack time, and slowly stepped away from its
development.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Fri, 14 Jul 2023 18:14:00 +0200</pubDate><guid>tag:blog.aurel32.net,2023-07-14:/goodbye-kfreebsd.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Backup server upgraded to Bookworm</title><link>https://blog.aurel32.net/backup-server-upgraded-to-bookworm.html</link><description>&lt;p&gt;A few months ago, I switched my backup server to an &lt;a href="https://wiki.odroid.com/odroid-m1/odroid-m1"&gt;ODROID-M1
SBC&lt;/a&gt;. It uses a RK3568 SoC with a
quad-core Cortex-A55 and AES extensions (useful for disk encryption), and I
added a 2 TB NVME SSD to the M2 slot. It also has a SATA connector, but the
default enclosure does not have space for 2.5" drives. It's not the fastest
SBC, but it runs stable and quite well as a backup server, and it's fanless,
and low-power (less than 2 W idle). The support for the SoC has been added
recently to the Linux kernel (it's used by various SBC), however the device
tree for the ODROID-M1 was missing, so I
&lt;a href="https://lore.kernel.org/lkml/20220930051246.391614-1-aurelien@aurel32.net/"&gt;contributed&lt;/a&gt;
it based on the vendor one, and also submitted a few small fixes. &lt;/p&gt;
&lt;p&gt;All the changes ended in the Bookworm kernel, and with the Bookworm release
approaching, I decided it was the good moment to upgrade it. It went quite
well, and now I can enjoy running dist-upgrade like on other stable servers
without having to care about the kernel. I am currently using
&lt;a href="https://www.borgbackup.org/"&gt;Borg&lt;/a&gt; as a backup software, but the upgrade also
gave access to a newer &lt;a href="https://restic.net/"&gt;Restic&lt;/a&gt; version supporting
compression (a must have for me), so I may give it a try.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Wed, 12 Apr 2023 11:07:00 +0200</pubDate><guid>tag:blog.aurel32.net,2023-04-12:/backup-server-upgraded-to-bookworm.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>New website, or kind of...</title><link>https://blog.aurel32.net/new-website.html</link><description>&lt;p&gt;For over 15 years, I've hardly made any updates to my website, and it remains
low on my priority list. So I made a radical decision to replace it entirely
with my blog. The content of the website has been reduced to just two
&lt;a href="https://blog.aurel32.net/about.html"&gt;additional&lt;/a&gt; &lt;a href="https://blog.aurel32.net/projects.html"&gt;pages&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But nothing has been lost: nowadays, Wikipedia is a much better platform for
sharing knowledge than random websites. And it happens that they already cover
all that was on my website about
&lt;a href="https://fr.wikipedia.org/wiki/Portail:Plong%C3%A9e_sous-marine"&gt;subaquatic diving in French&lt;/a&gt;.
They also offer a multitude of resources in electronics, including the topics that
were on my website:
&lt;a href="https://en.wikipedia.org/wiki/Hitachi_HD44780_LCD_controller"&gt;LCD displays&lt;/a&gt;,
&lt;a href="https://en.wikipedia.org/wiki/I%C2%B2C"&gt;I²C bus&lt;/a&gt;,
&lt;a href="https://en.wikipedia.org/wiki/International_Article_Number"&gt;barcodes&lt;/a&gt;,
&lt;a href="https://en.wikipedia.org/wiki/Parallel_port"&gt;parallel ports&lt;/a&gt;,
&lt;a href="https://en.wikipedia.org/wiki/RS-232"&gt;serial ports&lt;/a&gt;, and
&lt;a href="https://en.wikipedia.org/wiki/DCF77"&gt;DCF77 reception&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Finally if you're in need of Debian QEMU images for various architectures, I
recommend the
&lt;a href="https://people.debian.org/~gio/dqib/"&gt;Debian Quick Image Baker pre-baked images&lt;/a&gt;
page instead.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Tue, 11 Apr 2023 10:29:00 +0200</pubDate><guid>tag:blog.aurel32.net,2023-04-11:/new-website.html</guid><category>articles</category><category>all</category><category>geek</category></item><item><title>riscv64 porterbox</title><link>https://blog.aurel32.net/riscv64-porterbox.html</link><description>&lt;p&gt;For quite some time, many people asked for a riscv64 porterbox. Now we've got
one called
&lt;a href="https://db.debian.org/machines.cgi?host=debian-riscv64-porterbox-01"&gt;debian-riscv64-porterbox-01.debian.net&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A big thanks to &lt;a href="https://www.sifive.com"&gt;SiFive&lt;/a&gt; for providing the &lt;a href="https://www.sifive.com/boards/hifive-unmatched"&gt;HiFive
Unmatched&lt;/a&gt; board and
&lt;a href="https://www.osuosl.org"&gt;OSUOSL&lt;/a&gt; for assembling the hardware and hosting it.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Tue, 08 Nov 2022 23:52:00 +0100</pubDate><guid>tag:blog.aurel32.net,2022-11-08:/riscv64-porterbox.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>GNU libc 2.34 in unstable</title><link>https://blog.aurel32.net/glibc-2.34-unstable.html</link><description>&lt;p&gt;The GNU libc version 2.34 has just been
&lt;a href="https://lists.debian.org/debian-devel-changes/2022/08/msg00981.html"&gt;accepted&lt;/a&gt;
into unstable. Getting it ready has been more challenging than other versions,
as this version integrates a few libraries (libpthread, libdl, libutil,
libanl) into libc. While this is handled transparently at runtime, there are a
few corner cases at build time:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;For backwards compatibility, empty static archives (e.g. &lt;code&gt;libpthread.a&lt;/code&gt;) are
    provided, so that the linker options keep working. However a few cmake
    files shipped in some packages still reference the path to the shared
    library symlink (e.g. &lt;code&gt;libpthread.so&lt;/code&gt;) which is now removed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A few symbols have also been moved from libresolv to libc and their &lt;code&gt;__&lt;/code&gt;
    prefix removed. While compatibily symbols are provided in the shared
    library for runtime compatiblity, this does not work at link time for
    static libraries referencing this symbol.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The next challenge is to get it migrating into testing!&lt;/p&gt;
&lt;p&gt;For the adventurous persons, GNU libc 2.35 is now
&lt;a href="https://lists.debian.org/debian-devel-changes/2022/08/msg00990.html"&gt;available&lt;/a&gt;
in experimental. And as people keep asking, the goal is to get the just released
GNU libc 2.36 into Bookworm.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 07 Aug 2022 23:25:00 +0200</pubDate><guid>tag:blog.aurel32.net,2022-08-07:/glibc-2.34-unstable.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>James Webb Space Telescope launched!</title><link>https://blog.aurel32.net/jwst-launched.html</link><description>&lt;p&gt;The long awaited &lt;a href="https://www.jwst.nasa.gov/"&gt;James Webb&lt;/a&gt; &lt;a href="https://www.esa.int/Science_Exploration/Space_Science/Webb"&gt;Space
Telescope&lt;/a&gt; has
finally been successfully launched today. It is a Xmas gift for many
people who have been waiting for it for many years.&lt;/p&gt;
&lt;p&gt;On a more personal side, I am happy and proud to have contributed to a tiny
part of a tiny piece of software of this huge project over the last 15 years:
the &lt;a href="https://ui.adsabs.harvard.edu/search/q=author%3A%22Jarno%2C%20Aurelien%22%20JWST"&gt;Instrument Performance Simulator&lt;/a&gt;
of the &lt;a href="https://www.esa.int/Science_Exploration/Space_Science/NIRSpec_factsheet"&gt;NIRSpec instrument&lt;/a&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sat, 25 Dec 2021 16:10:00 +0100</pubDate><guid>tag:blog.aurel32.net,2021-12-25:/jwst-launched.html</guid><category>articles</category><category>all</category><category>life</category></item><item><title>10 years ago...</title><link>https://blog.aurel32.net/10-years-ago-2.html</link><description>&lt;p&gt;I joined the Debian GNU libc team and did my first &lt;a href="https://lists.debian.org/debian-devel-changes/2006/02/msg01623.html"&gt;glibc
upload&lt;/a&gt;.
At that time source-only upload were far from
existing, and I was using a &lt;a href="https://en.wikipedia.org/wiki/HP_9000#Series_700"&gt;HP 9000 model 715/80 HPPA
workstation&lt;/a&gt; for my
Debian builds.&lt;/p&gt;
&lt;p&gt;Still it seems to me like yesterday.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Tue, 23 Feb 2016 21:43:00 +0100</pubDate><guid>tag:blog.aurel32.net,2016-02-23:/10-years-ago-2.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>MIPS Creator CI20</title><link>https://blog.aurel32.net/mips-creator-ci20.html</link><description>&lt;p&gt;I have received two &lt;a href="http://elinux.org/MIPS_Creator_CI20"&gt;MIPS Creator CI20
boards&lt;/a&gt;, thanks to &lt;a href="http://imgtec.com/"&gt;Imagination
Technologies&lt;/a&gt;. It's a small MIPS32 development
board:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.aurel32.net/images/mips-ci20.jpeg"&gt;&lt;img alt="MIPS Creator CI20" class="center" src="https://blog.aurel32.net/images/mips-ci20-small.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As you can see it comes in a nice packaging with a world-compatible
power adapter. It uses a &lt;a href="http://elinux.org/Ingenic_JZ4780"&gt;Ingenic JZ4780
SoC&lt;/a&gt; with a dual core MIPS32 CPU
running at 1.2GHz with a PowerVR SGX540 GPU. The board is fitted with
1GB of RAM, 8GB of NOR flash, HDMI output, USB 2.0 ports, Ethernet +
Wi-Fi + BlueTooth, SD card slot, IR receiver, expansion headers and
&lt;a href="http://elinux.org/CI20_Tech_Stuff#Tech_Spec_overview"&gt;more&lt;/a&gt;. The
&lt;a href="http://elinux.org/CI20_Tech_Stuff#Schematic"&gt;schematics&lt;/a&gt; are available.
The &lt;a href="https://github.com/MIPS/CI20_linux"&gt;Linux kernel&lt;/a&gt; and the &lt;a href="https://github.com/MIPS/CI20_u-boot"&gt;U-Boot
bootloader&lt;/a&gt; sources are also
available.&lt;/p&gt;
&lt;p&gt;Powering this board with a USB keyboard, a USB mouse and a HDMI display,
it boots off the internal flash on a &lt;a href="https://www.debian.org/releases/wheezy/"&gt;Debian
Wheezy&lt;/a&gt; up to the XFCE
environment. Besides the kernel, the Wi-Fi + Bluetooth firmware, and
very few configuration changes, it runs a vanilla Debian. Unfortunately
I haven't found time to play more with it yet, but it looks already
quite promising.&lt;/p&gt;
&lt;p&gt;The board has not been formally announced yet, so I do not know when it
will become available, nor the price, but if you are interested I'll
bring it to &lt;a href="http://debconf14.debconf.org/"&gt;DebConf14&lt;/a&gt;. Don't hesitate
to ask me if you want to look at it or play with it.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Wed, 20 Aug 2014 22:52:00 +0200</pubDate><guid>tag:blog.aurel32.net,2014-08-20:/mips-creator-ci20.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Intel about to disable TSX instructions?</title><link>https://blog.aurel32.net/intel-about-to-disable-tsx-instructions.html</link><description>&lt;p&gt;Last time I changed my desktop computer I bought a CPU from the Intel
Haswell family, the one available on the market at that time. I
carefully selected the CPU to make sure it supports as many instructions
extensions as possible in this family (Intel likes segmentation, even
high-end CPUs like the &lt;a href="http://ark.intel.com/fr/products/75123/Intel-Core-i7-4770K-Processor-8M-Cache-up-to-3_90-GHz"&gt;Core
i7-4770k&lt;/a&gt;
do not support all possible instructions). I ended-up choosing the &lt;a href="http://ark.intel.com/fr/products/77656/Intel-Core-i7-4771-Processor-8M-Cache-up-to-3_90-GHz"&gt;Core
i7-4771&lt;/a&gt;
as it supports the "&lt;a href="http://en.wikipedia.org/wiki/Transactional_Synchronization_Extensions"&gt;Transactional Synchronization
Extensions&lt;/a&gt;"
(Intel TSX) instructions, which provide transactional memory support.
&lt;a href="http://lwn.net/Articles/534758/"&gt;Support&lt;/a&gt; for it has been recently
&lt;a href="http://sourceware.org/git/gitweb.cgi?p=glibc.git"&gt;added&lt;/a&gt; in the GNU
libc, and has been activated in Debian. By choosing this CPU, I wanted
to be sure that I can debug this support in case of bug report, like for
example in &lt;a href="https://bugs.debian.org/751147"&gt;bug#751147&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Recently
&lt;a href="http://techreport.com/news/26911/errata-prompts-intel-to-disable-tsx-in-haswell-early-broadwell-cpus"&gt;some&lt;/a&gt;
&lt;a href="http://hardware.slashdot.org/story/14/08/12/182200/errata-prompts-intel-to-disable-tsx-in-haswell-early-broadwell-cpus"&gt;computing&lt;/a&gt;
&lt;a href="http://www.hardware.fr/news/13845/intel-desactive-tsx-suite-bug.html"&gt;websites&lt;/a&gt;
started to mention that the TSX instructions have bugs on Xeon E3 v3
family (and likely on Core i7-4771 as they share the same silicon and
stepping), quoting this &lt;a href="http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/xeon-e3-1200v3-spec-update.pdf"&gt;Intel
document&lt;/a&gt;.
Indeed one can read on page 49:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;HSW136. Software Using Intel TSX May Result in Unpredictable System
Behavior  &lt;/p&gt;
&lt;p&gt;Problem: Under a complex set of internal timing conditions and system
events, software using the Intel TSX (Transactional Synchronization
Extensions) instructions may result in unpredictable system behavior.&lt;br&gt;
 Implication: This erratum may result in unpredictable system
behavior.&lt;br&gt;
 Workaround: It is possible for the BIOS to contain a workaround for
this erratum.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And later on page 51:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Due to Erratum HSw136, TSX instructions are disabled and are only
supported for software development. See your Intel representative for
details.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The same websites tell that Intel is going to disable the TSX
instructions via a microcode update. I hope it won't be the case and
that they are going to be able to find a microcode fix. Otherwise it
would mean I will have to upgrade my desktop computer earlier than
expected. It's a bit expensive to upgrade it every year and that's a the
reason why I skipped the Ivy Bridge generation which didn't bring a lot
from the instructions point of view. Alternatively I can also skip
microcode and BIOS updates, in the hope I won't need another fix from
them at some point.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Fri, 15 Aug 2014 18:02:00 +0200</pubDate><guid>tag:blog.aurel32.net,2014-08-15:/intel-about-to-disable-tsx-instructions.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Debian is switching (back) to GLIBC</title><link>https://blog.aurel32.net/debian-is-switching-back-to-glibc.html</link><description>&lt;p&gt;Five years ago &lt;a href="http://www.debian.org"&gt;Debian&lt;/a&gt; and most derivatives
&lt;a href="https://blog.aurel32.net/debian-is-switching-to-eglibc.html"&gt;switched&lt;/a&gt; from the standard &lt;a href="http://www.gnu.org/s/libc/libc.html"&gt;GNU C Library
(GLIBC)&lt;/a&gt; to the &lt;a href="http://www.eglibc.org"&gt;Embedded GLIBC
(EGLIBC)&lt;/a&gt;. Debian is now about to take the
reverse way switching back to GLIBC, as EGLIBC is now a dead project,
the last release being the
&lt;a href="http://www.eglibc.org/archives/patches/msg01327.html"&gt;2.19&lt;/a&gt; one. At the
time of writing the glibc package has been uploaded to experimental and
sits in the &lt;a href="https://ftp-master.debian.org/new.html"&gt;NEW queue.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;EGLIBC is dead for a good reason: the GLIBC development has changed a
lot in the recent years, due to two major events: Ulrich Drepper
&lt;a href="http://www.linkedin.com/in/ulrichdrepper"&gt;leaving Red Hat&lt;/a&gt; and the
GLIBC development, and the &lt;a href="https://sourceware.org/ml/libc-alpha/2012-03/msg01038.html"&gt;GLIBC steering committe
self-dissolving&lt;/a&gt;.
This has resulted in a much more friendly development based on team work
with good cooperation. The development is now based on peer review,
which results in less buggy code (humans do make mistakes). It has also
resulted in things that were clearly impossible before, like using the
&lt;a href="https://sourceware.org/ml/libc-alpha/2012-07/msg00063.html"&gt;same
repository&lt;/a&gt;
for all architectures, and even &lt;a href="https://sourceware.org/ml/libc-alpha/2014-01/msg00373.html"&gt;getting rid of the &lt;code&gt;ports/&lt;/code&gt;
directory&lt;/a&gt;.
Before we used to have two sets of architectures, the main ones in the
&lt;a href="https://sourceware.org/git/?p=glibc.git"&gt;glibc repository&lt;/a&gt; with
architectures like x86, SuperH or SPARC, and the secondary ones in the
&lt;a href="https://sourceware.org/git/?p=glibc-ports.git;a=summary"&gt;glibc-ports
repository&lt;/a&gt;
with architectures like ARM or MIPS. As you can see the separation was
quite arbitrary, and often leaded to missing changes on the secondary
architectures. We also got real stable branches, with regular fixes.&lt;/p&gt;
&lt;p&gt;The most important EGLIBC features have been merged to GLIBC, including
for example the use of non-bash but POSIX shell, or the renaming of
reserved keywords. The notable exception is the support for configurable
components, which we originally planned to use for
&lt;a href="http://www.debian.org/devel/debian-installer/"&gt;Debian-Installer&lt;/a&gt;, by
building a smaller flavor using &lt;code&gt;-Os&lt;/code&gt; and without NIS and RPC support.
At the end we never worked on that, and it seems that the hardware
targeted by Debian has grown faster than the GLIBC size, so that is not
really a big loss. At the end, we ended up with only 5 missing patches
from the EGLIBC tree:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://anonscm.debian.org/viewvc/pkg-glibc/glibc-package/branches/glibc-2.19/debian/patches/any/local-libpic.diff?view=markup"&gt;Installation of *_pic.a files for use of mklibs in
    debian-installer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://anonscm.debian.org/viewvc/pkg-glibc/glibc-package/branches/glibc-2.19/debian/patches/any/local-dynamic-resolvconf.diff?view=markup"&gt;Dynamic reload of
    /etc/resolv.conf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://anonscm.debian.org/viewvc/pkg-glibc/glibc-package/branches/glibc-2.19/debian/patches/any/local-bootstrap-headers.diff?view=markup"&gt;Installation of headers during
    bootstrapping&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://anonscm.debian.org/viewvc/pkg-glibc/glibc-package/branches/glibc-2.19/debian/patches/powerpc/local-powerpc8xx-dcbz.diff?view=markup"&gt;Workarounds for PowerPC 8xx
    CPUs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://anonscm.debian.org/viewvc/pkg-glibc/glibc-package/branches/glibc-2.19/debian/patches/sh4/local-fpscr_values.diff?view=markup"&gt;Access to FPSCR on
    SH4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The package names are unchanged (except the source package and the
binary package containing the sources) so the transition is fully
transparent for the users.&lt;/p&gt;
&lt;p&gt;I would like to thank all the
&lt;a href="http://www.codesourcery.com"&gt;CodeSourcery&lt;/a&gt; employees who worked on
EGLIBC, with a special thank to &lt;a href="http://www.polyomino.org.uk/"&gt;Joseph
Myers&lt;/a&gt; who spent countless hours to merge
the most important EGLIBC changes back to GLIBC, and
&lt;a href="http://www.eglibc.org/archives/patches/msg01321.html"&gt;sent&lt;/a&gt;
&lt;a href="http://www.eglibc.org/archives/patches/msg01299.html"&gt;regular&lt;/a&gt;
&lt;a href="http://www.eglibc.org/archives/patches/msg01318.html"&gt;emails&lt;/a&gt; about the
merge status. I would also like to thanks all the people on the GLIBC
side that made the change to happen, and all
&lt;a href="https://sourceware.org/glibc/wiki/MAINTAINERS"&gt;persons&lt;/a&gt; participating
in the GLIBC development.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Wed, 18 Jun 2014 22:04:00 +0200</pubDate><guid>tag:blog.aurel32.net,2014-06-18:/debian-is-switching-back-to-glibc.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>On configure systems</title><link>https://blog.aurel32.net/on-configure-systems.html</link><description>&lt;p&gt;I will never understand the point of using autotools, cmake or whatever
configure system, when later the code uses an hardcoded list of
architectures to determine the size of a pointer... Unfortunately for
porters this pattern is quite common.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; As people keep asking, the way to check for the size of a
given type is explained in the &lt;a href="https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/Generic-Compiler-Characteristics.html"&gt;autoconf
manual&lt;/a&gt;.
To check for the size of the pointer, the following entry has to be
added to configure.ac:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;AC_CHECK_SIZEOF(void *)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;On a 64-bit system, this will lead to the following entry in config.h:  &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="cm"&gt;/* The size of `void *&amp;#39;, as computed by sizeof. */&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;#define SIZEOF_VOID_P 8&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 16 Feb 2014 15:52:00 +0100</pubDate><guid>tag:blog.aurel32.net,2014-02-16:/on-configure-systems.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Debian QEMU images updated</title><link>https://blog.aurel32.net/debian-qemu-images-updated-2.html</link><description>&lt;p&gt;Following the release of Debian Wheezy, I have (finally) updated my set
of &lt;a href="http://people.debian.org/~aurel32/qemu/"&gt;Debian QEMU images&lt;/a&gt; for
both Squeeze (6.0.8) and Wheezy (7.3). The following images are now
available:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/amd64"&gt;amd64&lt;/a&gt; (Squeeze and
    Wheezy)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/armel"&gt;armel&lt;/a&gt; (Squeeze and
    Wheezy)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/armhf"&gt;armhf&lt;/a&gt; (Wheezy)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/i386"&gt;i386&lt;/a&gt; (Squeeze and
    Wheezy)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/mips"&gt;mips&lt;/a&gt; (Squeeze and
    Wheezy)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/mipsel"&gt;mipsel&lt;/a&gt; (Squeeze and
    Wheezy)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/powerpc"&gt;powerpc&lt;/a&gt; (Squeeze
    and Wheezy)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each of these directories contains a GPG signed README.txt file with the
md5sums all files, detailed instructions how to run these images and
especially the &lt;strong&gt;minimum QEMU version to use&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The requirements to run the default desktop environment have increased a
lot between Squeeze and Wheezy. An accelerated graphics card is now
needed to be able to use Gnome (unless you use the fallback mode), which
is not something provided by QEMU (actually there is now a QXL
para-virtualized video card, but the driver is only in unstable). In
addition GDM now needs more than 128MiB to start, while this is the
default amount of memory provided for virtual machines. I have therefore
decided to switch the default desktop environment on the Wheezy images
to Xfce and the display manager to LightDM. Both Gnome and GDM are still
installed on the images, and the original default can easily be restored
using the following commands:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;update-alternatives --auto x-session-manager&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;echo /usr/sbin/gdm3 &amp;gt; /etc/X11/default-display-manager&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Beside this the new images only contain minor changes. The filesystems
have been tweaked to not run fsck after a certain amount of days, and
locales-all and openssh-server are now installed in all images. For MIPS
and MIPSEL, 64-bit kernels are now also installed and provided, so that
it is possible to choose between a 32-bit or a 64-bit kernel (see the
README.txt for more details).&lt;/p&gt;
&lt;p&gt;There is no Debian Wheezy SPARC image available, as QEMU does not fully
support SPARC64 yet (it is actually possible to run it, but then the VM
crashes often), and Debian Wheezy now only supports 64-bit kernels. I
will also invest time to build an S390X image, but so far I haven't been
successful on that.&lt;/p&gt;
&lt;p&gt;The following images are still available at the same location, though
they haven't been updated:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/sparc"&gt;sparc&lt;/a&gt; (Etch)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/sh4"&gt;SH4&lt;/a&gt; (Sid from a few
    years ago)&lt;/li&gt;
&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Mon, 06 Jan 2014 20:46:00 +0100</pubDate><guid>tag:blog.aurel32.net,2014-01-06:/debian-qemu-images-updated-2.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Detecting code issues using multiple architectures</title><link>https://blog.aurel32.net/detecting-code-issues-using-multiple-architectures.html</link><description>&lt;p&gt;Sometimes building the same code on multiple architectures is useful to
detect horrors like:  &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;ExEnv&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;err0&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sprintf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;AtomInfo: invalid name: %s&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;c_str&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;This code builds using -Werror=format-security with only a few warnings
&lt;a href="https://buildd.debian.org/status/fetch.php?pkg=mpqc&amp;amp;arch=i386&amp;amp;ver=2.3.1-15&amp;amp;stamp=1382718560"&gt;on&lt;/a&gt;&lt;a href="https://buildd.debian.org/status/fetch.php?pkg=mpqc&amp;amp;arch=armel&amp;amp;ver=2.3.1-15&amp;amp;stamp=1382747038"&gt;most&lt;/a&gt;
&lt;a href="https://buildd.debian.org/status/fetch.php?pkg=mpqc&amp;amp;arch=powerpc&amp;amp;ver=2.3.1-15&amp;amp;stamp=1382718456"&gt;architectures&lt;/a&gt;,
while GCC is correctly detects the issue
&lt;a href="https://buildd.debian.org/status/fetch.php?pkg=mpqc&amp;amp;arch=mips&amp;amp;ver=2.3.1-15&amp;amp;stamp=1383073196"&gt;on&lt;/a&gt;
&lt;a href="https://buildd.debian.org/status/fetch.php?pkg=mpqc&amp;amp;arch=mipsel&amp;amp;ver=2.3.1-15&amp;amp;stamp=1382753161"&gt;some&lt;/a&gt;
&lt;a href="https://buildd.debian.org/status/fetch.php?pkg=mpqc&amp;amp;arch=s390x&amp;amp;ver=2.3.1-15&amp;amp;stamp=1382862795"&gt;others&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This has been reported as &lt;a href="http://bugs.debian.org/728249"&gt;bug#728249&lt;/a&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Wed, 30 Oct 2013 00:37:00 +0100</pubDate><guid>tag:blog.aurel32.net,2013-10-30:/detecting-code-issues-using-multiple-architectures.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>How multiarch adds new RC bugs...</title><link>https://blog.aurel32.net/how-multiarch-adds-new-rc-bugs.html</link><description>&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;# dpkg --add-architecture kfreebsd-amd64
# dpkg -i libc0.1-dev_2.13-32_kfreebsd-amd64.deb
Selecting previously unselected package libc0.1-dev.
(Reading database ... 446113 files and directories currently installed.)
Unpacking libc0.1-dev (from libc0.1-dev_2.13-32_kfreebsd-amd64.deb) ...
dpkg: error processing libc0.1-dev_2.13-32_kfreebsd-amd64.deb (--install):
  trying to overwrite &amp;#39;/usr/include/_G_config.h&amp;#39;, which is also in package libc6-dev 2.13-32
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
  libc0.1-dev_2.13-32_kfreebsd-amd64.deb
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Before multiarch the bug was not existing, and of course none of
libc6-dev and libc0.1-dev are marked as &lt;code&gt;Multi-Arch: something&lt;/code&gt;. People
wanting to delay the release of Wheezy, I am sure you can find much more
RC bugs like that.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 03 Jun 2012 13:13:00 +0200</pubDate><guid>tag:blog.aurel32.net,2012-06-03:/how-multiarch-adds-new-rc-bugs.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>10 years ago...</title><link>https://blog.aurel32.net/10-years-ago.html</link><description>&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nt"&gt;Date:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nd"&gt;Mon, 18 Mar 2002 18:22:10 +0000&lt;/span&gt;
&lt;span class="nt"&gt;From:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;James&lt;span class="w"&gt; &lt;/span&gt;Troup&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;&amp;lt;troup@samosa.debian.org&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;To:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;Aurelien&lt;span class="w"&gt; &lt;/span&gt;Jarno&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;&amp;lt;aurelien@aurel32.net&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;Cc:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;da-manager@debian.org&lt;/span&gt;
&lt;span class="nt"&gt;Subject:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;New&lt;span class="w"&gt; &lt;/span&gt;Debian&lt;span class="w"&gt; &lt;/span&gt;maintainer&lt;span class="w"&gt; &lt;/span&gt;Aurelien&lt;span class="w"&gt; &lt;/span&gt;Jarno

[ This is a long (automatically-generated) mail, but it contains
   important information, please read it all carefully. ]

Dear Aurelien Jarno!

An account has been created for you on developer-accessible machines
with username &amp;#39;aurel32&amp;#39;.  The password for this account can be found 
encrypted with your PGP or GPG key and appended to this message. A list 
of machines available to Debian developers can be found at
&amp;lt;URL:http://db.debian.org/machines.cgi&amp;gt;. Please take a minute now to
familiarize yourself with the Debian Machine Usage Policy, available
at &amp;lt;URL:http://www.debian.org/devel/dmup&amp;gt;

You have been subscribed to the debian-private mailing list as
&amp;lt;aurel32@debian.org&amp;gt;.  Please respect the privacy of that list and don&amp;#39;t forward
mail from it elsewhere.  E-mail to &amp;lt;aurel32@debian.org&amp;gt; will be
forwarded to &amp;lt;aurelien@aurel32.net&amp;gt;.  To change this, please see
&amp;lt;URL:http://db.debian.org/forward.html&amp;gt; Also, please subscribe to 
debian-devel-announce, if you haven&amp;#39;t done so already.

We strongly suggest that you use your aurel32@debian.org address for
the maintainer field in your packages, because that one will be valid
as long as you are a Debian developer, even if you change jobs, leave
university or change Internet Service providers.  If you do so, please
add that address to your PGP/GPG key(s) (using `gpg --edit-key &amp;quot;YOUR
USER ID&amp;quot;&amp;#39;) and send it to the keyring server at keyring.debian.org
with `gpg --keyserver keyring.debian.org --send-keys &amp;quot;YOUR USER ID&amp;quot;&amp;#39;.

You can find more information useful to developers at
&amp;lt;URL:http://www.debian.org/devel/&amp;gt; (in particular, see the subsection
titled &amp;quot;Debian Developer&amp;#39;s reference&amp;quot;).

We suggest that you subscribe to debian-mentors@lists.debian.org.
This list is for new maintainers who seek help with initial packaging
and other developer-related issues.  Those who prefer one-on-one help
can also post to the list, and an experienced developer may volunteer
to help you.  You can get online help on IRC, too, if you join the
channel #debian-devel on irc.debian.org.  Take a look at the support
section on www.debian.org in order to find out more information.

You should have read these documents before working on your packages.

  o The Debian Social Contract
    &amp;lt;URL:http://www.debian.org/social_contract.html&amp;gt;

  o The Debian Policy Manual
    &amp;lt;URL:http://www.debian.org/doc/debian-policy/&amp;gt;

If you have some spare time and want to contribute it to Debian you
may wish to take a look at the &amp;quot;Work-Needing and Prospective Packages
for Debian GNU/Linux&amp;quot; also known as WNPP that can be found at
&amp;lt;URL:http://www.debian.org/devel/wnpp/&amp;gt;

If you plan to make a Debian package from a not yet packaged piece of
software you *must* announce your intention on the debian-devel mailing
list to make sure nobody else is working on them.

The machine ftp-master.debian.org is our main archive server.  Every 
uploaded package finds it&amp;#39;s way there (except for Packages covered by US 
crypto laws which go to non-us.debian.org) eventually. master.debian.org is 
the home of our bug tracking system. Project web pages and CVS archives are 
hosted on klecker.debian.org (aka cvs/www.debian.org), klecker is also our
general shell server. Web pages should be placed in public_html on klecker 
and refered to by http://people.debian.org/~aurel32

You should use ssh to log into the machines instead of regular telnet
or rlogin. Our LDAP directory is able to share ssh RSA keys among machines,
please see &amp;lt;URL:http://db.debian.org/doc-mail.html&amp;gt; Otherwise when you
first login a ~/.ssh directory will be created with the appropriate
permissions. Please be aware of the security implications of using RSA
authentication and ssh agents.

Finally, please take a minute to visit &amp;lt;URL:http://db.debian.org/&amp;gt;. 
Login using the password information appended to this email, and 
update your personal information. The information is used to maintain 
your accounts on various Debian machines, and also to allow other 
developers and general users to find out more about you. Many of 
the fields are only visible to other registered Debian developers. This
is also the only way to change your password. The passwd program does not 
yet work.

Welcome to the project!

-- 
The Debian New Maintainer Team
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 18 Mar 2012 21:52:00 +0100</pubDate><guid>tag:blog.aurel32.net,2012-03-18:/10-years-ago.html</guid><category>articles</category><category>all</category><category>debian</category></item><item><title>Performances of open-source Radeon driver</title><link>https://blog.aurel32.net/performances-of-open-source-radeon-driver.html</link><description>&lt;p&gt;I am the happy owner of a new netbook with an &lt;a href="http://en.wikipedia.org/wiki/AMD_Fusion"&gt;AMD
Fusion&lt;/a&gt; E-450
&lt;a href="http://en.wikipedia.org/wiki/Accelerated_processing_unit"&gt;APU&lt;/a&gt;, which
includes a Radeon graphics card. I am using the open-source driver on
it, that is a 3.2-rc7 kernel for KMS, and
&lt;a href="http://packages.debian.org/sid/xserver-xorg-video-radeon"&gt;xserver-xorg-video-radeon&lt;/a&gt;
package from sid. I have to say I am not really happy about the
performances.&lt;/p&gt;
&lt;p&gt;No I don't speak about the graphical performances that are pretty good
(especially compared to my &lt;a href="http://en.wikipedia.org/wiki/Intel_Atom"&gt;Intel
Atom&lt;/a&gt; N450 based previous
netbook) but about the power consumption. With this setup and with the
original battery I get 2h30 of autonomy. Switching to UMS and adding
some power management options in xorg.conf improves it to 2h40, but
breaks suspend to ram/disk (a pity for a netbook) and switch between VT.
I then tried the &lt;a href="http://packages.debian.org/sid/fglrx-driver"&gt;non-free
fglrx&lt;/a&gt; driver, it also
suffers from the suspend to ram/disk issue, in addition to &lt;a href="http://bugs.debian.org/649346"&gt;crashing
xorg when playing videos&lt;/a&gt;... On the other
hand I get an impressive 3h30 of autonomy, and additionally a silent
netbook (contrary to the open-source driver, the fan doesn't spin at
idle).&lt;/p&gt;
&lt;p&gt;I have tried plenty of options, ranging from adding some power
management options to xorg.conf, to passing dynclks=1 to the radeon
module, including setting &lt;code&gt;/sys/class/drm/card0/device/power\_method&lt;/code&gt; to
&lt;code&gt;dynpm&lt;/code&gt;. Right now I have worked around the issue by buying a bigger
battery which brings me 5h30 of autonomy, but I would really appreciate
any software way to improve it with the open-source driver.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Fri, 06 Jan 2012 01:27:00 +0100</pubDate><guid>tag:blog.aurel32.net,2012-01-06:/performances-of-open-source-radeon-driver.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Debian s390x port (aka 31 bits is not enough)</title><link>https://blog.aurel32.net/debian-s390x-port-aka-31-bits-is-not-enough.html</link><description>&lt;p&gt;During &lt;a href="http://debconf11.debconf.org/"&gt;Debconf 11&lt;/a&gt;, I got access to a
fast s390 machine, and I have started to work on a
&lt;a href="http://www.debian.org"&gt;Debian&lt;/a&gt; s390x port, the 64-bit version of the
&lt;a href="http://www.debian.org/ports/s390/"&gt;s390 port&lt;/a&gt;. One of my goal was to
help the &lt;a href="http://wiki.debian.org/Sparc64"&gt;SPARC64 port&lt;/a&gt;, as some of the
issues are the same: both are 64-bit big-endian, don't support unaligned
access and behave differently between -fpic and -fPIC.&lt;/p&gt;
&lt;h2&gt;Why such a port?&lt;/h2&gt;
&lt;p&gt;When talking about 64-bit ports, we usually hear: "4GB is enough,
handling 64-bit takes more memory". This really sounds like "640K ought
to be enough for anybody". The s390 port is actually 31-bit from the
address point of view (one bit is reserved for address space extension
from 24 to 31 bits), so each process is limited to 2GB only. Nowadays
applications which need more than 2GB are not that uncommon, especially
on mainframes. Actually the 2GB limit already causes some problem in
Debian: in some cases it's not possible to build &lt;a href="https://buildd.debian.org/status/fetch.php?pkg=haskell-hxt-relaxng&amp;amp;arch=s390&amp;amp;ver=9.1.2-1&amp;amp;stamp=1311006563"&gt;haskell
applications&lt;/a&gt;
or even &lt;a href="https://buildd.debian.org/status/fetch.php?pkg=insighttoolkit&amp;amp;arch=s390&amp;amp;ver=3.20.0-11&amp;amp;stamp=1311659885"&gt;C
applications&lt;/a&gt;
using GCC. On the other hand, we already require a 64-bit kernel on the
s390 port (only the userland is 32-bit), and applications are handling
more and more 64-bit or greater values (files offset, time counters,
uid, etc.).&lt;/p&gt;
&lt;h2&gt;What is the status?&lt;/h2&gt;
&lt;p&gt;Bootstrapping the architecture was not really easy (as for any other new
architectures), due to a huge amount of dependencies and
build-dependencies loops, as explained by
&lt;a href="http://meetings-archive.debian.net/pub/debian-meetings/2011/debconf11/high/745_Bootstrapable_Debian.ogv"&gt;Wookey&lt;/a&gt;
during Debconf11. Now that this part is mostly done, an
&lt;a href="http://buildd.debian-ports.org/status/architecture.php?a=s390x&amp;amp;suite=sid"&gt;autobuilder&lt;/a&gt;
has been started and currently more than
&lt;a href="http://buildd.debian-ports.org/stats/graph-week-big.png"&gt;65%&lt;/a&gt; of the
packages are built. The s390x port is hosted on
&lt;a href="http://www.debian-ports.org"&gt;debian-ports.org&lt;/a&gt;. Unfortunately it is not
yet deboostrapable, though that should happen in the next few days (only
a few packages are missing).&lt;/p&gt;
&lt;p&gt;The main issues are currently packages which fail to build from source
due to
&lt;a href="http://lists.debian.org/debian-devel-announce/2011/02/msg00011.html"&gt;linker&lt;/a&gt;,
&lt;a href="http://packages.qa.debian.org/g/gcc-4.6/news/20110627T163333Z.html"&gt;gcc-4.6&lt;/a&gt;
and &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=636457"&gt;curl&lt;/a&gt;
changes, or due to the
&lt;a href="http://lists.debian.org/debian-devel-announce/2010/02/msg00006.html"&gt;libjpeg&lt;/a&gt;
and
&lt;a href="http://lists.debian.org/debian-devel-announce/2011/06/msg00002.html"&gt;multiarch&lt;/a&gt;
transitions, and thus are not directly related to s390x. If your package
is in this case, it would be a good idea to fix it. Otherwise if it has
a lot of reverse dependencies and the bug is opened for a while, just
expect an NMU (as allowed by the &lt;a href="http://lists.debian.org/debian-devel-announce/2011/03/msg00016.html"&gt;0-day NMU
policy&lt;/a&gt;).
Of course for a few packages s390x specific fixes are needed, some of
them are already in the BTS.&lt;/p&gt;
&lt;h2&gt;How can you help?&lt;/h2&gt;
&lt;p&gt;The list of bugs blocking the s390x port is available through the &lt;a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=s390x;users=debian-s390@lists.debian.org"&gt;s390x
usertag&lt;/a&gt;,
fixing these bugs (a lot of them are general FTBFS) would help a lot.
Alternatively if you have access to an s390x machine you can take a look
at the packages &lt;a href="http://buildd.debian-ports.org/status/architecture.php?a=s390x&amp;amp;suite=sid"&gt;failing to
build&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Fixed the explanation about the 32th bit, thanks to Bastian
Blank for the comment.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Tue, 09 Aug 2011 23:45:00 +0200</pubDate><guid>tag:blog.aurel32.net,2011-08-09:/debian-s390x-port-aka-31-bits-is-not-enough.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Debian and the ARM hype</title><link>https://blog.aurel32.net/debian-and-the-arm-hype.html</link><description>&lt;p&gt;Thanks to the versatility of the Linux kernel, Debian has always been
known for supporting a large number of architectures. It has also often
been criticized for that as it is said to slow down the development of
Debian.&lt;/p&gt;
&lt;p&gt;Among these architectures, the ARM one was considered dead a few years
ago, and some people wanted to get rid of it. Today all major
distributions now have an ARM port, one of those distributions being
even based on Debian. It seems Debian was right.&lt;/p&gt;
&lt;p&gt;Now that Android has been ported to MIPS, we may see more and more MIPS
based devices. Will the same scenario happen again?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Mon, 28 Jun 2010 21:04:00 +0200</pubDate><guid>tag:blog.aurel32.net,2010-06-28:/debian-and-the-arm-hype.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>bindv6only=1 and GNU/kFreeBSD</title><link>https://blog.aurel32.net/bindv6only1-and-gnukfreebsd.html</link><description>&lt;p&gt;A few months ago the netbase package &lt;a href="http://packages.qa.debian.org/n/netbase/news/20091206T175421Z.html"&gt;started to
install&lt;/a&gt;
the &lt;code&gt;/etc/sysctl.d/bindv6only.conf&lt;/code&gt; file to switch the default
&lt;code&gt;bindv6only&lt;/code&gt; value from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;1&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;A lot of people are not happy with this change, but it is not my goal to
give my opinion here. On the other hand, people have propagated the
rumour that it has been done as the FreeBSD kernel, used in the
&lt;a href="http://www.debian.org/ports/kfreebsd-gnu/"&gt;kfreebsd-amd64&lt;/a&gt; and
&lt;a href="http://www.debian.org/ports/kfreebsd-gnu/"&gt;kfreebsd-i386&lt;/a&gt; ports of
Debian, only supports the mode corresponding to &lt;code&gt;1&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Let's give the truth:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GNU/kFreeBSD people haven't been contacted about this decision;&lt;/li&gt;
&lt;li&gt;The FreeBSD kernel can support both modes through the
    &lt;code&gt;net.inet6.ip6.v6only&lt;/code&gt; sysctl. However contrary to the Linux kernel
    it defaults to &lt;code&gt;1&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;This option is available in the FreeBSD kernel since 2001, and in
    the Linux kernel since 2003.&lt;/li&gt;
&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 13 Jun 2010 01:01:00 +0200</pubDate><guid>tag:blog.aurel32.net,2010-06-13:/bindv6only1-and-gnukfreebsd.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>EGLIBC and PowerPCSPE port</title><link>https://blog.aurel32.net/eglibc-and-powerpcspe-port.html</link><description>&lt;p&gt;This has been roughly one year since Debian
&lt;a href="https://blog.aurel32.net/debian-is-switching-to-eglibc.html"&gt;switched&lt;/a&gt; from GLIBC to EGLIBC, so it's
probably the time to make a small report about this change.&lt;/p&gt;
&lt;p&gt;First of all, on the GLIBC upstream side, things has improved a bit
since we now have regular stable release, thanks to &lt;a href="http://log.or.cz/"&gt;Petr Baudis aka
Pasky&lt;/a&gt;. The good point is that the stable releases
are imported into the EGLIBC stable repositories.&lt;/p&gt;
&lt;p&gt;On the EGLIBC side the switch has helped to reduce the number of patches
in the &lt;a href="http://packages.qa.debian.org/eglibc"&gt;Debian package&lt;/a&gt; (for
example, resolv.conf is automatically reloaded if needed), and has
brought some bug fixes and improvements, especially for the arm, mips
and powerpc targets.&lt;/p&gt;
&lt;p&gt;It should be noted that the newly created &lt;a href="http://wiki.debian.org/PowerPCSPEPort"&gt;PowerPCSPE
port&lt;/a&gt; for &lt;a href="http://en.wikipedia.org/wiki/PowerPC_e500"&gt;PowerPC e500 series
CPU&lt;/a&gt; also benefits from
EGLIBC, as it is not natively supported by GLIBC.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Tue, 25 May 2010 17:57:00 +0200</pubDate><guid>tag:blog.aurel32.net,2010-05-25:/eglibc-and-powerpcspe-port.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Debian SH4 QEMU image available</title><link>https://blog.aurel32.net/debian-sh4-qemu-image-available.html</link><description>&lt;p&gt;Thanks to the great work of Nobuhiro Iwamatsu and others, Debian has an
unofficial &lt;a href="http://wiki.debian.org/SH4"&gt;SH4 port&lt;/a&gt; which is close to
complete (&lt;a href="http://buildd.debian-ports.org/stats/"&gt;&amp;gt; 90% of the packages
built&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;In order to help developers to fix bugs on this architecture, I have
produced an SH4 &lt;a href="http://www.qemu.org"&gt;QEMU&lt;/a&gt; image which is available at
the &lt;a href="http://people.debian.org/~aurel32/qemu"&gt;same location as my other QEMU
images&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You will need a recent &lt;a href="http://git.savannah.gnu.org/cgit/qemu.git"&gt;GIT HEAD
QEMU&lt;/a&gt; to use it. Previous
versions suffer from bugs in the MMU, causing segfaults and gratuitous
TLB flushing. The MMU emulation is now hopefully correct, but still a
bit slow. Also the emulated board is limited to 64 MB of memory, and
this value can't be changed as memory extension would overlap the
addresses used for peripherals.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I have backported the necessary SH4 patches into the &lt;a href="http://packages.debian.org/sid/qemu"&gt;QEMU
Debian package&lt;/a&gt; version
&lt;a href="http://packages.qa.debian.org/q/qemu/news/20100409T095707Z.html"&gt;0.12.3+dfsg-4&lt;/a&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Fri, 09 Apr 2010 13:58:00 +0200</pubDate><guid>tag:blog.aurel32.net,2010-04-09:/debian-sh4-qemu-image-available.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Squeeze will be released with eglibc 2.11</title><link>https://blog.aurel32.net/squeeze-will-be-released-with-eglibc-211.html</link><description>&lt;p&gt;Contrary to what &lt;a href="http://www.lucas-nussbaum.net/blog/?p=458"&gt;lucas
announced&lt;/a&gt; (I don't know
where he got this info), we plan to release Squeeze with eglibc 2.11. It
is already packaged in
&lt;a href="http://packages.debian.org/source/experimental/eglibc"&gt;experimental&lt;/a&gt;
and is ready on all architectures except hppa where there are a few
major regressions in the testsuite to fix. This is what prevent us to
upload it to unstable.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 07 Mar 2010 16:32:00 +0100</pubDate><guid>tag:blog.aurel32.net,2010-03-07:/squeeze-will-be-released-with-eglibc-211.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Working on the eglibc package</title><link>https://blog.aurel32.net/working-on-the-eglibc-package.html</link><description>&lt;p&gt;In the last weeks, I stopped being motivated to work on the &lt;a href="http://packages.qa.debian.org/eglibc"&gt;eglibc
package&lt;/a&gt;, it's not fun as it was
before. Maintaining this package is taking a lot of my (free) time, and
I am not anymore able to follow the bug rate, especially for RC bugs or
bugs that I consider high priority. In turn it does not give me time to
integrate eglibc 2.11 or other wishlist features I would have liked to
see (rework of the locales* packages, using multiarch paths, etc.).&lt;/p&gt;
&lt;p&gt;I hope it's only a bad moment and that things will change soon, so I can
find time to work on
&lt;a href="http://www.debian.org/ports/kfreebsd-gnu/"&gt;GNU/kFreeBSD&lt;/a&gt;,
&lt;a href="http://www.qemu.org"&gt;QEMU&lt;/a&gt; or to do electronics. In any case you can
help by handling bug reports or writing patches. Everything is in the
&lt;a href="http://bugs.debian.org/src:eglibc"&gt;BTS&lt;/a&gt;!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Thu, 28 Jan 2010 00:00:00 +0100</pubDate><guid>tag:blog.aurel32.net,2010-01-28:/working-on-the-eglibc-package.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Thought of the day</title><link>https://blog.aurel32.net/thought-of-the-day.html</link><description>&lt;p&gt;New features usually come with new versions. Before reporting a bug for
a new feature, it may be a good idea to make sure you are using the
latest version. &lt;em&gt;apt-get&lt;/em&gt; can be really useful for that.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Thu, 12 Nov 2009 22:13:00 +0100</pubDate><guid>tag:blog.aurel32.net,2009-11-12:/thought-of-the-day.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Learning IA-64 assembly</title><link>https://blog.aurel32.net/learning-ia-64-assembly.html</link><description>&lt;p&gt;While testing EGLIBC 2.10.1 on all Debian architectures, I have
discovered that the testsuite on IA-64 fails for the new &lt;a href="http://www.opengroup.org/onlinepubs/9699919799/toc.htm"&gt;POSIX
2008&lt;/a&gt; math tests.
I have reported the problem both
&lt;a href="http://sources.redhat.com/bugzilla/show_bug.cgi?id=10163"&gt;upstream&lt;/a&gt; and
on
&lt;a href="http://lists.debian.org/debian-ia64/2009/07/msg00008.html"&gt;debian-ia64@lists.debian.org&lt;/a&gt;,
but without success.&lt;/p&gt;
&lt;p&gt;IA-64 being one of the last architecture (with HPPA) on which EGLIBC
2.10.1 fails to build from sources, I have decided to spend my day
fixing the problem and digging into the corresponding IA-64 assembly
code. The mathematical functions on this architecture are based on the
&lt;a href="http://www.intel.com/cd/software/products/asmo-na/eng/219862.htm"&gt;&lt;em&gt;Highly Optimized Mathematical Functions for the Intel® Itanium™
Architecture&lt;/em&gt;&lt;/a&gt;.
Using the &lt;a href="http://www.intel.com/design/itanium/manuals/iiasdmanual.htm"&gt;&lt;em&gt;Intel® Itanium™ Architecture Software Developer's
Manual&lt;/em&gt;&lt;/a&gt;
and after a lot of tries, I have been able to add the missing code paths
needed for POSIX 2008 compliance, and also fixed a few bugs on the stack
frame allocation (arguments of the &lt;code&gt;alloc&lt;/code&gt; instruction).&lt;/p&gt;
&lt;p&gt;The resulting patch is now in the &lt;a href="http://svn.debian.org/viewsvn/pkg-glibc/glibc-package/branches/eglibc-2.10/debian/patches/ia64/submitted-libm.diff?revision=3727&amp;amp;view=markup"&gt;pkg-glibc
SVN&lt;/a&gt;
and in the &lt;a href="http://sources.redhat.com/bugzilla/attachment.cgi?id=4106&amp;amp;action=view"&gt;upstream
bugzilla&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;And more important, I have learned the basic about IA-64 assembly!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 02 Aug 2009 21:23:00 +0200</pubDate><guid>tag:blog.aurel32.net,2009-08-02:/learning-ia-64-assembly.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Countries from where I have done a (E)GLIBC upload</title><link>https://blog.aurel32.net/countries-from-where-i-have-done-a-eglibc-upload.html</link><description>&lt;p&gt;&lt;img alt="Map of countries from where I have done a (E)GLIBC upload" class="center" src="https://blog.aurel32.net/images/glibc-uploads-map.png"&gt;&lt;/p&gt;
&lt;p&gt;If you want to see your country coloured on the map, you can invite me
for my next holidays ;-).&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Mon, 13 Jul 2009 01:22:00 +0200</pubDate><guid>tag:blog.aurel32.net,2009-07-13:/countries-from-where-i-have-done-a-eglibc-upload.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>New GPG key</title><link>https://blog.aurel32.net/new-gpg-key.html</link><description>&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;pub   4096R/1DDD8C9B 2009-05-09
      Key fingerprint = 7746 2642 A9EF 94FD 0F77  196D BA9C 7806 1DDD 8C9B 
uid                  Aurelien Jarno &amp;lt;aurel32@debian.org&amp;gt;
uid                  Aurelien Jarno &amp;lt;aurelien@aurel32.net&amp;gt;
uid                  Aurelien Jarno &amp;lt;aurelien@jarno.fr&amp;gt;
sub   4096R/C3FCA1A8 2009-05-09
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;I'll get it signed by other Debian Developers tomorrow, during the
&lt;a href="http://france.debian.net"&gt;Debian France&lt;/a&gt; meeting.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 10 May 2009 23:24:00 +0200</pubDate><guid>tag:blog.aurel32.net,2009-05-10:/new-gpg-key.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Debian is switching to EGLIBC</title><link>https://blog.aurel32.net/debian-is-switching-to-eglibc.html</link><description>&lt;p&gt;I have just uploaded &lt;a href="http://www.eglibc.org/"&gt;Embedded GLIBC (EGLIBC)&lt;/a&gt;
into the archive (it is currently waiting in the &lt;a href="http://ftp-master.debian.org/new/eglibc_2.9-11.html"&gt;NEW
queue&lt;/a&gt;), which will
soon replace the &lt;a href="http://www.gnu.org/software/libc/"&gt;GNU C Library
(GLIBC)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The EGLIBC is a variant of the GLIBC which stays source and binary
compatible with the original GLIBC. While primarily targeted for
embedded architectures, it has some really nice points:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;More friendly upstream (especially with regard to embedded
    architectures): "&lt;em&gt;&lt;a href="http://www.eglibc.org/mission"&gt;Encourage cooperation, communication, civility,
    and respect among developers&lt;/a&gt;&lt;/em&gt;"
    (&lt;a href="http://sourceware.org/bugzilla/show_bug.cgi?id=5531"&gt;as&lt;/a&gt;
    &lt;a href="http://sourceware.org/bugzilla/show_bug.cgi?id=4980"&gt;opposed&lt;/a&gt;
    &lt;a href="http://sourceware.org/bugzilla/show_bug.cgi?id=4403"&gt;to&lt;/a&gt;
    &lt;a href="http://sourceware.org/bugzilla/show_bug.cgi?id=5070"&gt;this&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Stable branch with fixes for important bugs (a real
    &lt;a href="http://www.eglibc.org/cgi-bin/viewcvs.cgi/branches/eglibc-2_9/libc/"&gt;one&lt;/a&gt;,
    not like the GLIBC
    &lt;a href="http://sourceware.org/cgi-bin/cvsweb.cgi/libc/?cvsroot=glibc&amp;amp;only_with_tag=glibc-2_9-branch"&gt;one&lt;/a&gt;
    which is left unchanged).&lt;/li&gt;
&lt;li&gt;Better support for embedded architectures.&lt;/li&gt;
&lt;li&gt;Support for different
    &lt;a href="http://www.eglibc.org/cgi-bin/viewcvs.cgi?rev=8028&amp;amp;view=rev"&gt;shells&lt;/a&gt;(GLIBC
    &lt;a href="http://sources.redhat.com/bugzilla/show_bug.cgi?id=3266"&gt;only
    supports&lt;/a&gt;&lt;a href="http://sources.redhat.com/bugzilla/show_bug.cgi?id=9901"&gt;bash&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Support for building with -Os.&lt;/li&gt;
&lt;li&gt;Configurable components (do we really need NIS or RPC support in
    debian-installer?).&lt;/li&gt;
&lt;li&gt;Better testsuite for optimized or biarch packages.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We do not use some of these features yet, but this upload is a first
step. From the user point of view, the package names are unchanged
(except the source package and the binary package containing the
sources) so no transition is needed.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Tue, 05 May 2009 21:00:00 +0200</pubDate><guid>tag:blog.aurel32.net,2009-05-05:/debian-is-switching-to-eglibc.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Debian QEMU images updated</title><link>https://blog.aurel32.net/debian-qemu-images-updated.html</link><description>&lt;p&gt;Following the &lt;a href="http://debian.org/News/2009/20090214"&gt;release of Debian
Lenny&lt;/a&gt;, I have updated my set of
&lt;a href="http://people.debian.org/~aurel32/qemu/"&gt;Debian QEMU images&lt;/a&gt;. The
following images are now available:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/amd64/"&gt;AMD64&lt;/a&gt; (Etch and
    Lenny)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/arm/"&gt;ARM&lt;/a&gt; (Etch and Lenny)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/armel/"&gt;ARMEL&lt;/a&gt; (Lenny)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/i386/"&gt;i386&lt;/a&gt; (Etch and
    Lenny)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/mips/"&gt;MIPS&lt;/a&gt; (Etch and
    Lenny)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/mipsel/"&gt;MIPSEL&lt;/a&gt; (Etch and
    Lenny)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/powerpc/"&gt;PowerPC&lt;/a&gt; (Etch and
    Lenny)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://people.debian.org/~aurel32/qemu/sparc/"&gt;SPARC&lt;/a&gt; (Etch)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There is no Debian Lenny SPARC image available, as QEMU does not fully
support SPARC64 yet, and Debian Lenny now only supports 64-bit kernels.&lt;/p&gt;
&lt;p&gt;Note also that the README.txt files (which among other things contain
the md5sums of the images) is now GPG signed. Read carefully these files
as they contain details on how to use the images, and especially the
&lt;strong&gt;minimum QEMU version to use&lt;/strong&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Wed, 15 Apr 2009 12:37:00 +0200</pubDate><guid>tag:blog.aurel32.net,2009-04-15:/debian-qemu-images-updated.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Faster wireless access</title><link>https://blog.aurel32.net/faster-wireless-access.html</link><description>&lt;p&gt;The hotel we are staying in for &lt;a href="http://www.fosdem.org"&gt;FOSDEM&lt;/a&gt; is
providing an expensive wireless access limited to 15kB/s.&lt;/p&gt;
&lt;p&gt;For a faster access the solution is to use IP-over-DNS for a rate up to
48kB/s. Moreover it's free...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sat, 07 Feb 2009 18:06:00 +0100</pubDate><guid>tag:blog.aurel32.net,2009-02-07:/faster-wireless-access.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Re: emulated buildds</title><link>https://blog.aurel32.net/re-emulated-buildds.html</link><description>&lt;p&gt;&lt;a href="http://www.grep.be/blog/en/computer/debian/buildd/arm"&gt;Wouter&lt;/a&gt;, I
really doubt that the decision of having a Xen build daemon has been
taken in a team, and the fact is that it's causing problems.&lt;/p&gt;
&lt;p&gt;The only goal of my post is to show we have double standards.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Mon, 19 Jan 2009 23:14:00 +0100</pubDate><guid>tag:blog.aurel32.net,2009-01-19:/re-emulated-buildds.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Emulated versus paravirtualized build daemons</title><link>https://blog.aurel32.net/emulated-versus-paravirtualized-build-daemons.html</link><description>&lt;p&gt;There has been a few
&lt;a href="http://lists.debian.org/debian-devel/2005/03/msg02011.html"&gt;flam\^Wdiscussions&lt;/a&gt;
about emulated build daemons, each time coming to the conclusion that we
should not upload packages built on an emulated machine to the archive.&lt;/p&gt;
&lt;p&gt;However Debian has started to use at least one paravirtualized (Xen)
build daemon, the i386 experimental one. The result is that one of the
tests of the GNU libc testsuite is
&lt;a href="http://bugs.debian.org/512337"&gt;failing&lt;/a&gt;. On the other hand, the GNU
libc and the GCC testsuites are giving the same results on a
&lt;a href="http://bellard.org/qemu/"&gt;QEMU&lt;/a&gt; emulated machine and a real machine,
for amd64, arm, armel, i386, mips, mipsel and powerpc. Same for
&lt;a href="http://kvm.qumranet.com"&gt;KVM&lt;/a&gt; on amd64 and i386.&lt;/p&gt;
&lt;p&gt;I wonder if we made the &lt;a href="http://lists.debian.org/debian-devel/2007/01/msg00760.html"&gt;right
choice&lt;/a&gt; ...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Mon, 19 Jan 2009 20:41:00 +0100</pubDate><guid>tag:blog.aurel32.net,2009-01-19:/emulated-versus-paravirtualized-build-daemons.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>QEMU PowerPC</title><link>https://blog.aurel32.net/qemu-powerpc.html</link><description>&lt;p&gt;For a few weeks &lt;a href="http://www.lvivier.info/"&gt;Laurent Vivier&lt;/a&gt;, Blue Swirl
and myself have been working on getting &lt;a href="http://bellard.org/qemu/"&gt;QEMU&lt;/a&gt;
PowerPC working correctly with recent distributions.&lt;/p&gt;
&lt;p&gt;QEMU used to rely on
&lt;a href="http://packages.debian.org/sid/openhackware"&gt;OpenHackWare&lt;/a&gt; for the
OpenFirmware implementation on PowerPC. It is a very limited
implementation (for example it as no Forth support), which is unable to
boot most 2.6.x kernels with the OldWorld emulation. It is able to boot
recent kernels with the PReP emulation, but things like the PCI bus
emulation are not working correctly. Moreover the PReP kernels are gone
with the &lt;a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=917f0af9e5a9ceecf9e72537fabb501254ba321d"&gt;removal of the arch/ppc
tree&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.openbios.info/"&gt;OpenBIOS&lt;/a&gt; was already used for the
OpenFirmware implementation of Sparc 32 and Sparc 64 targets. It now
supports PowerPC for the OldWorld emulation. As a result it is now
possible to use Debian PowerPC under QEMU emulating an OldWorld machine.&lt;/p&gt;
&lt;h2&gt;What works?&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Display (partly), keyboard, hard disk, network;&lt;/li&gt;
&lt;li&gt;Booting from CD-ROM or from disk using Quik;&lt;/li&gt;
&lt;li&gt;Installation of Debian
    &lt;a href="http://www.debian.org/releases/etch/debian-installer"&gt;Etch&lt;/a&gt; or
    &lt;a href="http://www.debian.org/devel/debian-installer/"&gt;Lenny&lt;/a&gt; (but due to a
    bug in debian-installer quik.conf has to be fixed manually);&lt;/li&gt;
&lt;li&gt;Standard &lt;a href="http://packages.debian.org/linux-image-2.6-powerpc"&gt;Debian
    kernels&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;G3 CPU emulation: the testsuite results of the &lt;a href="http://packages.debian.org/libc6"&gt;GNU libc
    2.7&lt;/a&gt; and of &lt;a href="http://packages.debian.org/gcc-4.3"&gt;GCC
    4.3&lt;/a&gt; (Debian packages) are the
    same than on a real machine.&lt;/li&gt;
&lt;li&gt;virtio devices&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;What doesn't work / has to be done?&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A few devices part of the MacIO chipset are not emulated and/or are
    replaced by other devices: IDE, SCSI, Ethernet and sound;&lt;/li&gt;
&lt;li&gt;The red and green colors are reversed, in some modes only (in
    debian-installer for example);&lt;/li&gt;
&lt;li&gt;X only outputs some strange images;&lt;/li&gt;
&lt;li&gt;PCI devices using I/O ports don't work (like the RTL8029 card, or
    the RTL8139 card with the 8139too driver).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For those who want to test, an &lt;a href="http://people.debian.org/~aurel32/qemu/powerpc"&gt;Etch
image&lt;/a&gt; is available. You
will need to compile QEMU by manually given that the version in Debian
is too old and that openbios-ppc is still in the &lt;a href="http://ftp-master.debian.org/new/openbios-ppc_1.0~alpha2+20090107-1.html"&gt;NEW
queue&lt;/a&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Thu, 15 Jan 2009 00:04:00 +0100</pubDate><guid>tag:blog.aurel32.net,2009-01-15:/qemu-powerpc.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Dr Jarno</title><link>https://blog.aurel32.net/dr-jarno.html</link><description>&lt;p&gt;As already &lt;a href="http://blog.technologeek.org/2008/07/11/117"&gt;announced&lt;/a&gt; by
Julien Blache, I successfully passed my PhD defense today, and I am now
a doctor.&lt;/p&gt;
&lt;p&gt;During my PhD, I designed and implemented an optical simulator for the
&lt;a href="http://muse.univ-lyon1.fr/"&gt;MUSE&lt;/a&gt; instrument, an integral field
spectrograph which will be installed on one of the large European
telescopes of the &lt;a href="http://www.eso.org/projects/vlt/"&gt;VLT&lt;/a&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Fri, 11 Jul 2008 22:40:00 +0200</pubDate><guid>tag:blog.aurel32.net,2008-07-11:/dr-jarno.html</guid><category>articles</category><category>all</category><category>life</category></item><item><title>Flight booked (aka crazy prices)</title><link>https://blog.aurel32.net/flight-booked-aka-crazy-prices.html</link><description>&lt;p&gt;&lt;img alt="I'm going to Debconf 8" class="left" src="https://blog.aurel32.net/images/debconf8-going-to.png"&gt;&lt;/p&gt;
&lt;p&gt;As I am one of those who have read "able" instead of "unable", I had to
find a really cheap flight. This may sound crazy, but an Iberia flight
to Buenos Aires from Berlin costs far less than from Lyon (where I live)
or even from Madrid: 781.12 EUR from Berlin instead over 1,200.00 EUR
from Madrid and over 1,300.00 EUR from Lyon (in both cases with a change
in Madrid Barajas).&lt;/p&gt;
&lt;p&gt;I wonder if Iberia &lt;strong&gt;pays you 420,00 EUR&lt;/strong&gt; if you flight from Berlin to
Madrid...&lt;/p&gt;
&lt;p&gt;Now I have to find a cheap way to go to Berlin from Lyon (probably an
EasyJet flight). I plan to spend a few days of holiday in Berlin before
flying to Argentina.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Thu, 12 Jun 2008 23:18:00 +0200</pubDate><guid>tag:blog.aurel32.net,2008-06-12:/flight-booked-aka-crazy-prices.html</guid><category>articles</category><category>all</category><category>debian</category><category>life</category></item><item><title>IPsec, MTU &amp; NAT</title><link>https://blog.aurel32.net/ipsec-mtu-nat.html</link><description>&lt;p&gt;Dear lazyweb, I encounter MTU problems with an IPsec setup and NAT.&lt;/p&gt;
&lt;p&gt;Here is a simplified version of my setup:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;remote host  &amp;lt; --- internet ---&amp;gt; (eth0) gateway (eth1) &amp;lt; --- LAN&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;As you may have guess, the gateway has only one public IP address and
thus the hosts on the LAN are connected to the internet through NAT.&lt;/p&gt;
&lt;p&gt;The connection between the remote host and the gateway is secured using
IPsec (kame tools), and this works as expected as long, as the
connection is done between the remote host and the gateway. The problems
arise when I try to make a connection between the remote host and one
host from the LAN. Due to the use of IPsec, the MTU is reduced by 44
bytes, however "ICMP need to frag" packets are &lt;strong&gt;not&lt;/strong&gt; emitted by the
gateway, so the connection just hangs.&lt;/p&gt;
&lt;p&gt;I have tried various solution from the web (setting MTU on the various
interfaces, clamping MSS with iptables, defining advmss with ip route,
etc.), and the only one which actually works is reducing the MTU on the
LAN hosts. Not very useable given that they are a lot of hosts on the
LAN.&lt;/p&gt;
&lt;p&gt;Note that when IPsec is disabled, if I lower the MTU of eth0, the "ICMP
need to frag" packets are correctly emitted, and the connection just
works.&lt;/p&gt;
&lt;p&gt;Suggestions?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Mon, 09 Jun 2008 16:26:00 +0200</pubDate><guid>tag:blog.aurel32.net,2008-06-09:/ipsec-mtu-nat.html</guid><category>articles</category><category>all</category><category>geek</category></item><item><title>PhD report submitted</title><link>https://blog.aurel32.net/phd-report-submitted.html</link><description>&lt;p&gt;Some of you may have noticed that I was mostly unavailable those last
weeks. I was finishing writing my PhD report. It is now submitted, so I
have more free time again.&lt;/p&gt;
&lt;p&gt;I am currently processing the backlog. If you are waiting for an action
from my side, you should get some news in the next few days.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Wed, 21 May 2008 13:45:00 +0200</pubDate><guid>tag:blog.aurel32.net,2008-05-21:/phd-report-submitted.html</guid><category>articles</category><category>all</category><category>life</category></item><item><title>MAC address strangeness</title><link>https://blog.aurel32.net/mac-address-strangeness.html</link><description>&lt;p&gt;Today I upgraded my BIOS in the hope to solve various issues. When I
rebooted the machine, it didn't get an IP address through DHCP: the
Ethernet MAC address has been changed by the BIOS upgrade.&lt;/p&gt;
&lt;p&gt;Now compare the old and the new Ethernet MAC addresses:  &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;old address: 0:1a:4d:60:72:e0
new address: e0:72:60:4d:1a:0
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Time to laugh...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Mon, 17 Mar 2008 20:58:00 +0100</pubDate><guid>tag:blog.aurel32.net,2008-03-17:/mac-address-strangeness.html</guid><category>articles</category><category>all</category><category>geek</category></item><item><title>New GNU/kFreeBSD build daemon</title><link>https://blog.aurel32.net/new-gnukfreebsd-build-daemon.html</link><description>&lt;p&gt;We now have a second
&lt;a href="http://www.debian.org/ports/kfreebsd-gnu/"&gt;GNU/kFreeBSD&lt;/a&gt; build daemon
building the kfreebsd-amd64 architecture. It has been kindly offered and
is hosted in UK by &lt;a href="http://www.positive-internet.com/"&gt;The Positive Internet Company
Ltd&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It adds redundancy to our buildd network, which is important given that
the other kfreebsd-amd64 build daemon machine is on a simple ADSL line,
and so less reliable than a machine in a datacenter.&lt;/p&gt;
&lt;p&gt;For those who want to know more, here is the current status of the
GNU/kFreeBSD buildd network:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;callisto.debian.net (kfreebsd-amd64)&lt;br&gt;
    2 x Opteron 1.4GHZ, 1GB RAM&lt;br&gt;
    Hosted by The Positive Internet Company&lt;/li&gt;
&lt;li&gt;shockley.aurel32.net (kfreebsd-amd64)&lt;br&gt;
    Sempron 2600+, 1GB RAM&lt;br&gt;
    Hosted by Aurelien Jarno (ADSL)&lt;/li&gt;
&lt;li&gt;hagrid.debian.net (kfreebsd-i386)&lt;br&gt;
    PIII 800 MHz, 512MB RAM&lt;br&gt;
    Hosted by ETH Zürich&lt;/li&gt;
&lt;li&gt;maxwell.aurel32.net (kfreebsd-i386)&lt;br&gt;
    Sempron 2600+, 1GB RAM&lt;br&gt;
    Hosted by Aurelien Jarno (ADSL)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;My goal is to eventually get rid of all build daemons that I am hosting
at home on my ADSL line, though that is less critical now.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Tue, 31 Jul 2007 17:28:00 +0200</pubDate><guid>tag:blog.aurel32.net,2007-07-31:/new-gnukfreebsd-build-daemon.html</guid><category>articles</category><category>all</category><category>debian</category></item><item><title>ARM code of the day</title><link>https://blog.aurel32.net/arm-code-of-the-day.html</link><description>&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;ldmeqib r9!, {r1, r8, ip}^
ldclsl 3, cr14, [r4, #-364]!
stmleda r1, {r0, r2, r6, r7, r9, sl, ip, lr}^
cmpp lr6, #12582912
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;This program does not work, but it still has a meaning.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Hint: Each instruction is 32-bit long, the total length is 128 bits.&lt;/em&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Thu, 03 May 2007 14:45:00 +0200</pubDate><guid>tag:blog.aurel32.net,2007-05-03:/arm-code-of-the-day.html</guid><category>articles</category><category>all</category><category>geek</category></item><item><title>94.4%</title><link>https://blog.aurel32.net/94-4.html</link><description>&lt;p&gt;Christian, this is the percentage of your &lt;a href="http://www.perrier.eu.org/weblog"&gt;blog
entries&lt;/a&gt; concerning &lt;a href="http://www.debian.org/intl/l10n/po-debconf/"&gt;translation
ratios&lt;/a&gt; in the last two
weeks.&lt;/p&gt;
&lt;p&gt;I am sure you can do better ;-)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 25 Feb 2007 19:20:00 +0100</pubDate><guid>tag:blog.aurel32.net,2007-02-25:/94-4.html</guid><category>articles</category><category>all</category><category>debian</category></item><item><title>New ARM autobuilders</title><link>https://blog.aurel32.net/new-arm-autobuilders.html</link><description>&lt;p&gt;I am really upset by the way the &lt;a href="http://buildd.debian.org/~jeroen/status/architecture.php?a=arm"&gt;ARM build
daemons&lt;/a&gt;
are managed. The packages are not uploaded regularly, with sometimes
three days between two uploads. Well it should not be a problem, if
packages that have failed to build due to some packages not uploaded
fast enough (see for example
&lt;a href="http://buildd.debian.org/fetch.cgi?&amp;amp;pkg=python-gnome&amp;amp;ver=1.4.5-8&amp;amp;arch=arm&amp;amp;stamp=1166303278&amp;amp;file=log"&gt;python-gnome&lt;/a&gt;,
or
&lt;a href="http://blog.aurel32.net/wp-admin/post.php?action=edit&amp;amp;post=33"&gt;rkward&lt;/a&gt;)
were requeued, but that's actually not the case. Also last week, the
build daemon named
"&lt;a href="http://buildd.debian.org/~jeroen/status/architecture.php?a=arm&amp;amp;buildd=buildd_arm-cats&amp;amp;priority="&gt;cats&lt;/a&gt;"
stopped to upload packages, despite it continued to build them. 11 days
later, nothing has changed even after a &lt;a href="http://lists.debian.org/debian-arm/2006/12/msg00027.html"&gt;mail to
arm@buildd.debian.org&lt;/a&gt;.
And I do not speak about build daemons &lt;a href="http://lists.debian.org/debian-arm/2006/11/msg00052.html"&gt;building
nothing&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All of that resulted in
&lt;a href="http://buildd.debian.org/stats/graph2-week-big.png"&gt;ARM&lt;/a&gt; being the
slowest architecture to build packages. It looks like the ARM build
daemon maintainer does not know the &lt;a href="http://buildd.debian.org/~jeroen/status/architecture.php?a=arm&amp;amp;priority="&gt;excellent
page&lt;/a&gt;
made by Jeroen.&lt;/p&gt;
&lt;p&gt;As arm@buildd.debian.org is everything but responsive (well if you can
assign a level of responsiveness to /dev/null), I have decided to act. I
have installed &lt;a href="http://fabrice.bellard.free.fr/qemu/"&gt;QEMU&lt;/a&gt; on an 8-way
Opteron machine, and created 8 emulated ARM machines, which 256MB of RAM
and 10GB of disk for each, all running buildd + sbuild. Altogether those
8 emulated ARM machines should be faster than all the Debian ARM build
daemons. I have setup a wanna-build database on my
&lt;a href="http://buildd.aurel32.net/unstable"&gt;server&lt;/a&gt;. During the day it has
built around 100 packages.&lt;/p&gt;
&lt;p&gt;Yes I agree that real machines would be better, but I don't have a stack
of fast ARM machines at home. Anyway when you see random segfaults on
the build daemons, or
&lt;a href="http://buildd.debian.org/fetch.cgi?&amp;amp;pkg=gnucash&amp;amp;ver=2.0.2-2.1&amp;amp;arch=arm&amp;amp;stamp=1166366850&amp;amp;file=log"&gt;strange&lt;/a&gt;
&lt;a href="http://buildd.debian.org/fetch.cgi?&amp;amp;pkg=apache2-mpm-itk&amp;amp;ver=2.2.3-01-1%2Bb2&amp;amp;arch=arm&amp;amp;stamp=1166215581&amp;amp;file=log"&gt;failures&lt;/a&gt;
(that happen for weeks) on the build daemon named
"&lt;a href="http://buildd.debian.org/~jeroen/status/architecture.php?a=arm&amp;amp;buildd=buildd_arm-netwinder&amp;amp;priority="&gt;netwinder&lt;/a&gt;",
you may think to that again.&lt;/p&gt;
&lt;p&gt;Unfortunately the machine I use for that is only available for a few
months, and I will have to stop the emulated machine then. I just hope
that the situation with respect to the build daemons will improve, so
that I can stop them even before.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 17 Dec 2006 19:50:00 +0100</pubDate><guid>tag:blog.aurel32.net,2006-12-17:/new-arm-autobuilders.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>NEW queue almost empty</title><link>https://blog.aurel32.net/new-queue-almost-empty.html</link><description>&lt;p&gt;The &lt;a href="http://ftp-master.debian.org/new.html"&gt;NEW queue&lt;/a&gt; is almost empty
with 7 packages only. Thanks a lot &lt;a href="http://ganneff.de/blog"&gt;Joerg&lt;/a&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 19 Nov 2006 21:04:00 +0100</pubDate><guid>tag:blog.aurel32.net,2006-11-19:/new-queue-almost-empty.html</guid><category>articles</category><category>all</category><category>debian</category></item><item><title>Cheap MIPS/MIPSEL development machine</title><link>https://blog.aurel32.net/cheap-mipsmipsel-development-machine.html</link><description>&lt;p&gt;In addition to the &lt;a href="https://blog.aurel32.net/cheap-mipsmipsel-development-machine.html"&gt;ARM platform&lt;/a&gt;, it is
now possible to emulate a MIPS (big endian) or MIPSEL (little endian)
machine running Debian under QEMU. It could be used as a cheap
MIPS/MIPSEL development machine to test your packages, provided that you
have a not to slow i386, AMD64 or PowerPC computer.&lt;/p&gt;
&lt;p&gt;Running on an Athlon 64 X2 3800+ the emulated system is around 10%
faster than my SGI Indy R4400SC 200MHz and possibly with much more RAM
(my emulated system has 512 MB of RAM). Also for the ones who know about
the Indy SCSI controller, the transfer rate is around 13 MB/s on the
emulated system.&lt;/p&gt;
&lt;p&gt;I have written a small
&lt;a href="http://www.aurel32.net/info/debian_mips_qemu"&gt;howto&lt;/a&gt; explaining how to
install &lt;a href="http://www.debian.org"&gt;Debian&lt;/a&gt;&lt;a&gt;&lt;/a&gt;
&lt;/a&gt;&lt;a href="http://www.debian.org/releases/testing/"&gt;Etch&lt;/a&gt; on such an emulated
MIPS or MIPSEL machine, using &lt;a href="http://www.debian.org/devel/debian-installer/"&gt;Debian-Installer
RC1&lt;/a&gt;, which &lt;a href="http://www.debian.org/devel/debian-installer/News/2006/20061113"&gt;has just
been
released&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thanks to &lt;a href="http://weblog.false.org/weblog"&gt;Daniel Jacobowitz&lt;/a&gt; who has
recently improved QEMU/MIPS a lot, and to Thiemo Seufer who has started
the integration of the MIPS QEMU platform in
&lt;a href="http://www.debian.org/devel/debian-installer/"&gt;Debian-Installer&lt;/a&gt; and in
the &lt;a href="http://packages.debian.org/linux-image-2.6.18-2-qemu"&gt;Debian
kernel&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note 1: I have written this howto very quickly, so there are probably
some mistakes. Comments are welcome.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Note 2: I have updated the &lt;a href="http://www.aurel32.net/info/debian_arm_qemu"&gt;ARM
howto&lt;/a&gt; to take in account
improvements from Debian-Installer RC1&lt;/em&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Mon, 13 Nov 2006 18:27:00 +0100</pubDate><guid>tag:blog.aurel32.net,2006-11-13:/cheap-mipsmipsel-development-machine.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Experimental is not autobuilt (at least for glibc)</title><link>https://blog.aurel32.net/experimental-is-not-autobuilt-at-least-for-glibc.html</link><description>&lt;p&gt;&lt;a href="http://blog.zobel.ftbfs.de/debian/does-anyone-actualy-reads-mails-from-the-release-team"&gt;Martin,&lt;/a&gt;
I can't let you say that experimental is autobuilt. I have uploaded a
few versions of the glibc to experimental in the last few months and
only arm, hppa and alpha have &lt;a href="http://experimental.ftbfs.de/build.php?arch=&amp;amp;pkg=glibc"&gt;tried to
build&lt;/a&gt; them.
Before the summer mips and mipsel also have tried to build the
experimental glibc. And the last version has not been tried on alpha,
despite the fact it includes a fix and should now build correctly on
this architecture.  &lt;/p&gt;
&lt;p&gt;Hopefully I have most Debian architectures at home, but alpha, m68k and
ia64, so I can build the glibc on my own machines. For m68k and ia64, I
can use debian.org machines. Concerning alpha, the debian porting
machine, ie escher.debian.org, is locked down since the
&lt;a href="http://lists.debian.org/debian-devel-announce/2006/07/msg00003.html"&gt;compromise&lt;/a&gt;
about 4 months ago. And no answer to my mail to debian-admin...
Hopefully a user kindly gave me an access on his machine, thanks. The
glibc 2.5 is now building correctly on this machine, but I can't upload
the package because I can't trust the machine. That really sucks.&lt;/p&gt;
&lt;p&gt;What about removing alpha from the release architectures? After all, it
fails to comply with the &lt;a href="http://release.debian.org/etch_arch_policy.html"&gt;etch candidate release architecture
criteria&lt;/a&gt; for months.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Some build daemons had glibc in "weak-no-autobuild". Thanks
Martin for fixing that.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sat, 11 Nov 2006 23:57:00 +0100</pubDate><guid>tag:blog.aurel32.net,2006-11-11:/experimental-is-not-autobuilt-at-least-for-glibc.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Cheap ARM development machine</title><link>https://blog.aurel32.net/cheap-arm-development-machine.html</link><description>&lt;p&gt;You want a cheap ARM development machine to test your packages? You can
actually have one for free (both as in beer and as in speach :))
provided that you have a not to slow i386, AMD64 or PowerPC computer.
The solution is called &lt;a href="http://fabrice.bellard.free.fr/qemu/"&gt;QEMU&lt;/a&gt;, a
generic and open source processor emulator which can emulate i386,
x86_64, ARM, MIPS, PowerPC and Sparc systems.&lt;/p&gt;
&lt;p&gt;Running an Athlon 64 3800+ the emulated system is around 20% faster than
the popular NSLU2 and possibly with much more RAM (my emulated system
has 256 MB of RAM).&lt;/p&gt;
&lt;p&gt;I have written a small
&lt;a href="http://www.aurel32.net/info/debian_arm_qemu.php"&gt;howto&lt;/a&gt; explaining how
to install &lt;a href="http://www.debian.org"&gt;Debian&lt;/a&gt;
&lt;a href="http://www.debian.org/releases/testing/"&gt;Etch&lt;/a&gt; on such an emulated ARM
machine.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: I have written this howto very quickly, so there are probably
some mistakes. Comments are welcome.&lt;/em&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Mon, 25 Sep 2006 22:46:00 +0200</pubDate><guid>tag:blog.aurel32.net,2006-09-25:/cheap-arm-development-machine.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>How Ubuntu is slowing down Debian</title><link>https://blog.aurel32.net/how-ubuntu-is-slowing-down-debian.html</link><description>&lt;p&gt;Today in bug report
&lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=369411;msg=54"&gt;#369411&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"I do oppose an NMU as you haven't actually explained why this patch
is&lt;br&gt;
 necessary. Ubuntu doesn't have this patch and yet has been building&lt;br&gt;
 32-bit alsa for several releases without problems."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;While Ubuntu has this patch included for 3 weeks now. I have written
this patch to fix an RC bug in Debian...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Wed, 19 Jul 2006 19:17:00 +0200</pubDate><guid>tag:blog.aurel32.net,2006-07-19:/how-ubuntu-is-slowing-down-debian.html</guid><category>articles</category><category>all</category><category>debian</category></item><item><title>FOSDEM slides up</title><link>https://blog.aurel32.net/fosdem-slides-up.html</link><description>&lt;p&gt;I gave a talk about &lt;a href="http://www.debian.org/ports/kfreebsd-gnu/"&gt;Debian
GNU/kFreeBSD&lt;/a&gt; at &lt;a href="http://www.fosdem.org/2006"&gt;FOSDEM
2006&lt;/a&gt;. It tooks me time, but I finally have
made the
&lt;a href="http://www.aurel32.net/info/talks/gnu_kfreebsd_fosdem_2006.pdf"&gt;slides&lt;/a&gt;
available.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Mon, 20 Mar 2006 11:31:00 +0100</pubDate><guid>tag:blog.aurel32.net,2006-03-20:/fosdem-slides-up.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>kfreebsd-amd64 build daemon</title><link>https://blog.aurel32.net/kfreebsd-amd64-build-daemon.html</link><description>&lt;p&gt;Yesterday I have setup a kfreebsd-amd64 (ie GNU/kFreeBSD on an amd64
CPU) build daemon. Its name is shockley.aurel32.net (all my machines are
named related to electronics), and it has Sempron 2600+ CPU.&lt;/p&gt;
&lt;p&gt;As you can see on the photo, it is still missing a decent case. There
are actually two machines on the the photo, the motherboard in the case
is maxwell's one (one of the kfreebsd-i386 build daemon), while the one
on the top front is shockley's one. That's a bit strange, but the amd64
motherboard needs a power supply with a P4 connector, while the other
one only needs a small power supply.&lt;/p&gt;
&lt;p&gt;Thanks to Ingo Juergensmann, the kfreebsd-amd64 architecture is now
listed on &lt;a href="http://buildd.net"&gt;http://buildd.net&lt;/a&gt;. As you can see on the
&lt;a href="http://unstable.buildd.net/buildd/Installed_stats.png"&gt;graph&lt;/a&gt;, this
machine is very fast (it only runs for 24 hours!).&lt;/p&gt;
&lt;p&gt;&lt;img alt="GNU/kFreeBSD build daemons : maxwell (i386) and shockley (amd64)" class="center" src="https://blog.aurel32.net/images/kfreebsdamd64.jpeg"&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 05 Mar 2006 03:52:00 +0100</pubDate><guid>tag:blog.aurel32.net,2006-03-05:/kfreebsd-amd64-build-daemon.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>GNU/kFreeBSD on http://buildd.net</title><link>https://blog.aurel32.net/gnukfreebsd-on-httpbuilddnet.html</link><description>&lt;p&gt;Thanks to Ingo Juergensmann, the
&lt;a href="http://www.debian.org/ports/kfreebsd-gnu/"&gt;kfreebsd-i386&lt;/a&gt; architecture
is now listed on
&lt;a href="http://unstable.buildd.net/index-kfreebsd.html"&gt;http://buildd.net&lt;/a&gt;.
That means that Debian developers can now easily check the state of
their packages, and if they fail to build, to find why.&lt;/p&gt;
&lt;p&gt;The requirement to appear on &lt;a href="http://buildd.net"&gt;http://buildd.net&lt;/a&gt; was to use wanna-build
and make its output available somewhere on the web. As I was still using
a set of (very) ugly shells scripts to handle the build-daemon, I spent
a part of the last days to setup wanna-build, and to understand how it
works. With wanna-build a lot of thing is automatic, and almost
everything could be controled via the mail interface. That would save me
some time that I could invest in porting packages to
&lt;a href="http://www.debian.org/ports/kfreebsd-gnu/"&gt;GNU/kFreeBSD&lt;/a&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sat, 17 Sep 2005 23:21:00 +0200</pubDate><guid>tag:blog.aurel32.net,2005-09-17:/gnukfreebsd-on-httpbuilddnet.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Debian GNU/kFreeBSD developer accessible machine</title><link>https://blog.aurel32.net/debian-gnukfreebsd-developer-accessible-machine.html</link><description>&lt;p&gt;The machine on the photo below is currently somewhere between France and
Switzerland. It runs &lt;a href="http://www.debian.org/ports/kfreebsd-gnu/"&gt;Debian GNU/kFreeBSD&lt;/a&gt;,
and will be accessible to all Debian developers. Thanks to Gürkan Sengün, the ETH
Zürich will host it.&lt;/p&gt;
&lt;p&gt;&lt;img alt="io.debian.net" class="center" src="https://blog.aurel32.net/images/io.debian.net.jpeg"&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sat, 06 Aug 2005 07:46:00 +0200</pubDate><guid>tag:blog.aurel32.net,2005-08-06:/debian-gnukfreebsd-developer-accessible-machine.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>Debian GNU/kFreeBSD build daemon upgraded</title><link>https://blog.aurel32.net/debian-gnukfreebsd-build-daemon-upgraded.html</link><description>&lt;p&gt;I am running a build daemon for the &lt;a href="http://www.debian.org/ports/kfreebsd-gnu/"&gt;Debian
GNU/kFreeBSD&lt;/a&gt; port. It was a
bit overloaded by the high number of packages to build since the CXX ABI
transition has begun. I decided to use the old mainboard of my &lt;a href="https://blog.aurel32.net/new-hardware.html"&gt;main
computer&lt;/a&gt; to upgrade it from an AMD K6-2
500 to an Athlon XP 1800+. I also had to buy a new box since the old
mainboard was an AT one, whereas this mainboard is an ATX one. The hard
disks (an old 8.4 GB IDE disk for the system and an old 4.3 GB SCSI disk
for the build daemon stuff) are still a bit slow, that is probably the
next thing I'll upgrade.&lt;/p&gt;
&lt;p&gt;It runs for a few hours now and has already reduced the backlog.
Currently 83% of the Debian packages are built for the kfreebsd-i386
architecture.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 24 Jul 2005 01:37:00 +0200</pubDate><guid>tag:blog.aurel32.net,2005-07-24:/debian-gnukfreebsd-build-daemon-upgraded.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category></item><item><title>New mainboard and new CPU</title><link>https://blog.aurel32.net/new-hardware.html</link><description>&lt;p&gt;I have just upgraded my main computer with a new motherboard and a new
CPU. It now has and Athlon 64 3000+ CPU, it is a lot faster than my old
Athlon XP 1800+.&lt;/p&gt;
&lt;p&gt;I have four SATA disks in a software RAID 5 array, and with my old
mainboard the SATA controllers were on two PCI cards. The PCI bus was
limiting the maximum transfer rate to about 60 MB/s. My new mainboard
has an NForce 3 chipset, which has two SATA controllers connected
directly to the HyperTransport bus, so that I can reach 158 MB/s. That's
a great improvement!&lt;/p&gt;
&lt;p&gt;I have a total of 5 hard-disks, 1 DVD-ROM drive and 1 DVD-RW drive
resulting in a lot of cables and a big mess in the mini-tower box, as it
could be seen on the photo below. Hopefully I now have less PCI cards as
the soundcard, the SATA controllers and the ethernets controllers are
now integrated on the mainboard.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Inside my main computer" class="center" src="https://blog.aurel32.net/images/athlon64_box.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;Now that the hardware is setup, I'll have to look at the software, as my
computer is still running in 32-bit mode.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 24 Jul 2005 00:51:00 +0200</pubDate><guid>tag:blog.aurel32.net,2005-07-24:/new-hardware.html</guid><category>articles</category><category>all</category><category>geek</category></item><item><title>Strange keyboard</title><link>https://blog.aurel32.net/strange-keyboard.html</link><description>&lt;p&gt;Sam has got a laptop with a very strange keyboard. Have a look:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Sam\'s keyboard" class="center" src="https://blog.aurel32.net/images/sam_keyboard.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;No, it's not a DVORAK one.&lt;/p&gt;
&lt;p&gt;Actually he explained me he tried to convert the QWERTY keyboard into a
DVORAK one, but some of the keys can not be swapped because of the
trackpoint. And he is using it as a QWERTY keyboard.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Thu, 14 Jul 2005 16:43:00 +0200</pubDate><guid>tag:blog.aurel32.net,2005-07-14:/strange-keyboard.html</guid><category>articles</category><category>all</category><category>geek</category></item><item><title>Hardware problems</title><link>https://blog.aurel32.net/hardware-problems.html</link><description>&lt;p&gt;I have got two hardware problems today.&lt;/p&gt;
&lt;p&gt;First my UPS died, leaving my servers at home as well as my ADSL modem
without any power. The bad thing is that I am not at home, but in
Helsinki for Debconf 5, so I had to managed to get it replaced by simple
wires, by phone. That was not that easy, because the person that did the
changes (thanks a lot Dominique) hasn't my keys, and thus have to get it
first.&lt;/p&gt;
&lt;p&gt;The second problem I got today concerns my laptop. It seems the memory
has not supported the flight to Helsinki, and I had to remove half of it
:-(&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sat, 09 Jul 2005 19:44:00 +0200</pubDate><guid>tag:blog.aurel32.net,2005-07-09:/hardware-problems.html</guid><category>articles</category><category>all</category><category>geek</category></item><item><title>Is Debian still the universal OS?</title><link>https://blog.aurel32.net/is-debian-still-the-universal-os.html</link><description>&lt;p&gt;As others I am very unhappy with the outcome of the release meeting.
This "proposal" has been made by people that have key responsabilities
in Debian, and without asking other people, except the DPL candidates.
By the way, I feel silly that such persons sign this "proposal" as DPL
candidates, whatever is their opinion.&lt;/p&gt;
&lt;p&gt;In short the proposal says: "We've got problems to release with 11
architectures, let's drop 8 of them." A lot of users who choose Debian
because it was the only distribution out of there to provide serious
support for the architectures they care for, for various reasons. That's
the end of the Universal OS, and that's sad.&lt;/p&gt;
&lt;p&gt;It's seems that the actual teams found they are overloaded, so as they
don't want to share their powers and call for help (even worse, they
refuse help), they prefer to drop architectures.&lt;/p&gt;
&lt;p&gt;The criteria given to keep architectures seems to have been choosen
after the list of architectures itself. And actually none of the
architectures in Debian fulfill them (all the four proposed
architectures, i.e. i386, ppc, amd64 and ia64, only have one build
daemon). And when you ask the technical point behind each criterion,
nobody answers...&lt;/p&gt;
&lt;p&gt;I don't say there isn't any problems, but there is a difference between
a reasonable answer to these problems, and dropping most of
architectures we support. If they are problems with build daemons, the
solution is to solve them (hint: more build daemons and more admins
would be a good start).&lt;/p&gt;
&lt;p&gt;But actually I doubt the number of architectures is the real problem for
Sarge. One of the main problems since August (at least that is what is
announced in every "Bits from the release manager"), is the testing
build daemons. Why it lasts so long? Why offers for help have been
refused?&lt;/p&gt;
&lt;p&gt;And don't forget the social contract: &lt;strong&gt;"Our priorities are our users
and free software"&lt;/strong&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Tue, 15 Mar 2005 00:54:00 +0100</pubDate><guid>tag:blog.aurel32.net,2005-03-15:/is-debian-still-the-universal-os.html</guid><category>articles</category><category>all</category><category>debian</category></item><item><title>simulpic: new upstream version for more than 8 years!</title><link>https://blog.aurel32.net/simulpic-new-upstream-version-for-more-than-8-years.html</link><description>&lt;p&gt;I have just uploaded a new version of &lt;strong&gt;simulpic&lt;/strong&gt;. This software is a
simulator for Microchip PIC16F84 microcontrollers. The initial version
was a student project of the University of Pisa, and the development has
stopped 8 years ago. Well, not really stopped as they were some patches
in the Debian package.&lt;/p&gt;
&lt;p&gt;Recently, a new upstream has decided to continue this project and to add
some functionalities. He has just released a new version, the first one
for more than 8 years! That demonstrates the power of Free Software.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Fri, 28 Jan 2005 15:44:00 +0100</pubDate><guid>tag:blog.aurel32.net,2005-01-28:/simulpic-new-upstream-version-for-more-than-8-years.html</guid><category>articles</category><category>all</category><category>debian</category></item><item><title>High server load</title><link>https://blog.aurel32.net/high-server-load.html</link><description>&lt;p&gt;During the last few days, I experienced a high load on my server
(sometimes up to 15). Each time it happens, I observed that apache was
unable to serve pages. Restarting it regularly seemed to fix the
problem.&lt;/p&gt;
&lt;p&gt;Yesterday, I started to investigate the problem. Actually it was
"referer spam". The stats of my blog are generated with webdruid and are
available on &lt;a href="http://blog.aurel32.net/stats/"&gt;http://blog.aurel32.net/stats/&lt;/a&gt; . Some spammers tried to
increase their website's page rank by submitting spoofed referers. It
seems that they use zombie hosts, as the requests come from many IPs.
The bad thing is that the hosts don't close the TCP connections, causing
a lot of apache processes to be unable to serve pages. It's like a DoS,
though this was not the aim.&lt;/p&gt;
&lt;p&gt;A search on Google gave me a way to stop that. I added the following
lines to &lt;code&gt;/etc/wordpress/htaccess&lt;/code&gt;:  &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://www.spammersite1.com [OR]
RewriteCond %{HTTP_REFERER} ^http://www.spammersite2.com
RewriteRule .* - [F,L]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The load started to go down. Good! I also added a &lt;code&gt;robots.txt&lt;/code&gt;, so that
the stats pages are not indexed anymore by the search engines (note to
the wordpress maintainer: it would be nice to have a
&lt;code&gt;/etc/wordpress/robots.txt&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;After a day, I grepped the apache logs to find all the zombies IPs, and
I blacklisted all of them on my firewall with iptables, ie. 217 IPs!&lt;/p&gt;
&lt;p&gt;This event reminds me that my server doesn't have enough RAM and that I
should add some more.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Mon, 24 Jan 2005 19:41:00 +0100</pubDate><guid>tag:blog.aurel32.net,2005-01-24:/high-server-load.html</guid><category>articles</category><category>all</category><category>geek</category></item><item><title>Do some kind of greylisting on Debian bugs?</title><link>https://blog.aurel32.net/do-some-kind-of-greylisting-on-debian-bugs.html</link><description>&lt;p&gt;Over the last few months, it seems that the number of silly bugs is
increasing. Of course, in most of the cases, the severity of such silly
bugs is set to critical. I won't list all that silly bugs (it would take
too long :) ), but I'll take two examples, that are very recent as they
occured today yesterday.&lt;/p&gt;
&lt;p&gt;The first one is the bug &lt;a href="http://bugs.debian.org/289666"&gt;#289666&lt;/a&gt;
titled "sane only work as root on 2.6.10 (2.6.*)". The bug reporter
explains that the module scanner.o has been removed from the kernel and
thus he, and all other users, should use the root account to scan a
document. He think it is a &lt;strong&gt;critical security bug&lt;/strong&gt;. I don't know why
Julien Blache wrote a README to explain how to be able to scan as user!
The command is very simple: &lt;code&gt;adduser user scanner&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The second annoying bug was filled today on OpenOffice.org. It is bug
&lt;a href="http://bugs.debian.org/289800"&gt;#289800&lt;/a&gt; and is titled "openoffice.org:
please enable autosave per default". Basically, the user was writting a
text on OpenOffice.org, and its machine crashed. As he hasn't saved the
document, and as autosave was not enabled, he lost it. Surely not a
&lt;strong&gt;critical&lt;/strong&gt; bug. Maybe the user should learn all to click on the save
icon instead of sending bug reports!&lt;/p&gt;
&lt;p&gt;Maybe we should do something to avoid these annoying bugs. A kind of
greylisting, which first sends back an email to the bug reporters
(asking them if they have &lt;strong&gt;read the documentation&lt;/strong&gt;, if they have
verified that &lt;strong&gt;the bug has not been already reported&lt;/strong&gt;, if they are
&lt;strong&gt;using the latest version&lt;/strong&gt;) and then that waits for a key contained in
the email to be returned to validate the bug. This could also avoid
people using invalid email addresses.&lt;/p&gt;
&lt;p&gt;Yes, such a system looks like a bit silly... just as some of the bug
reporters.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Tue, 11 Jan 2005 19:45:00 +0100</pubDate><guid>tag:blog.aurel32.net,2005-01-11:/do-some-kind-of-greylisting-on-debian-bugs.html</guid><category>articles</category><category>all</category><category>debian</category></item><item><title>Back on the Internet</title><link>https://blog.aurel32.net/back-on-the-internet.html</link><description>&lt;p&gt;My ADSL line was opened yesterday, so I am back on the Internet!
Actually during the last two months, I still had an Internet connection,
but only though a 56k modem, not really useable for maintaining Debian
packages or for doing an "apt-get upgrade" on my machines (and a bit
costly).&lt;/p&gt;
&lt;p&gt;I am in my apartment for a month, and it tooks two weeks to get the
invoice of my telephone line, one more week to get the ADSL line and one
more week to get my modem from the post.&lt;/p&gt;
&lt;p&gt;The connection is an ADSL2+ connection, so there is enough upload rate
to be able to host websites. I moved all my websites to my home server,
and I am just waiting the activation of the reverse DNS to be able to
host an SMTP server.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Tue, 30 Nov 2004 18:07:00 +0100</pubDate><guid>tag:blog.aurel32.net,2004-11-30:/back-on-the-internet.html</guid><category>articles</category><category>all</category><category>debian</category><category>geek</category><category>life</category></item><item><title>US presidential elections</title><link>https://blog.aurel32.net/us-presidential-elections.html</link><description>&lt;p&gt;John Kerry has just called George Bush to congratulated him. As most
European people I am disappointed by the result of the elections.&lt;/p&gt;
&lt;p&gt;But maybe the question is why US elections is so important for European
people. Maybe Europe is not enough united to be an alternative to the US
power...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Wed, 03 Nov 2004 19:10:00 +0100</pubDate><guid>tag:blog.aurel32.net,2004-11-03:/us-presidential-elections.html</guid><category>articles</category><category>all</category><category>life</category></item><item><title>My new apartment</title><link>https://blog.aurel32.net/my-new-apartment.html</link><description>&lt;p&gt;Yesterday I moved to my new apartement. Moving was not really easy as it
was running cats and dogs. The apartement now looks a bit empty, as I
currently only have a camping mattress, a sleeping bad, a few clothing,
without forgetting my computers... I need to buy a mattress, a fridge,
solid plates, etc.&lt;/p&gt;
&lt;p&gt;In the next few days, I'll have to open a telephone line, with an ADSL
connection. I hope it wouldn't take too much time, as it's not very easy
to only have an Internet access at work. That's why I am not so active
into Debian by now, though I am still reading my mails and uploading
packages.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Wed, 03 Nov 2004 19:06:00 +0100</pubDate><guid>tag:blog.aurel32.net,2004-11-03:/my-new-apartment.html</guid><category>articles</category><category>all</category><category>debian</category><category>life</category></item><item><title>Switching to kernel 2.6 (part 2)</title><link>https://blog.aurel32.net/switching-to-kernel-26-part-2.html</link><description>&lt;p&gt;Yesterday I &lt;a href="https://blog.aurel32.net/switching-to-kernel-26.html"&gt;switched all of my machines but one to kernel
2.6&lt;/a&gt;. The last one to migrate is
a SparcStation 4. It is a little bit complicated as the BIOS refuse to
recognize my hard-drive since I changed it from a 2.1GB one to a 9.1GB.
After an afternoon of tests, I decided to boot this workstation via the
network, as the Linux kernel recognizes it.&lt;/p&gt;
&lt;p&gt;Using a 2.4 kernel was very easy, you just have to convert the Debian
kernel in aout format using &lt;code&gt;zcat&lt;/code&gt; and &lt;code&gt;elftoaout&lt;/code&gt;. For a 2.6 kernel, it
is a little more complicated as Debian ships them with an initrd image.
After a few minutes searching google, I found the solution:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;zcat /boot/vmlinuz &amp;gt; vmlinux
elftoaout -o netboot.img vmlinux piggyback netboot.img /boot/System.map /boot/initrd.img
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;It seems to work well, however the image is 271,654,944 bytes long. I
still don't understand why.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Tue, 28 Sep 2004 22:33:00 +0200</pubDate><guid>tag:blog.aurel32.net,2004-09-28:/switching-to-kernel-26-part-2.html</guid><category>articles</category><category>all</category><category>debian</category></item><item><title>My firewall</title><link>https://blog.aurel32.net/my-firewall.html</link><description>&lt;p&gt;In my latest post (&lt;a href="https://blog.aurel32.net/switching-to-kernel-26.html"&gt;Switching to kernel
2.6&lt;/a&gt;), I spoke quickly about my
firewall. In the comments, I was asked for information about it. So I
decided to write a new post.&lt;/p&gt;
&lt;p&gt;My firewall is based on a micro-ATX PIII mainboard with an Intel Celeron
600. I know that it is too much for my use (the load is almost always
0), however I already had the mainboard. This processor is one of the
slowest processor that the mainboard accepts (the lowest speed is 500
MHz). Anyway that kind of processor is a good choice for such a
computer, as it is one of the first processor using a 0.18µm technology,
thus it doesn't need a lot of power (for an x86). Using an Aqua 690
heatsink it can run without a fan.&lt;/p&gt;
&lt;p&gt;This mainboard has an integrated Ethernet adapter, and 3 PCI ports. I
chose to use them to plug three Ethernet adapters, that is to say a
total of four. Currently three of them are setup in bridge, but I can
later un-bridge one or more ports if I need. It could be useful to plug
a WiFi access point, or to create a DMZ for my servers (just for the fun
as I am the only user of my LAN).&lt;/p&gt;
&lt;p&gt;Instead of using an hard-drive, that makes noise and heat, I chose to
use a 256MB Compact Flash instead. I made a CF/IDE adapter using the
article published in &lt;a href="http://www.elektor-electronics.co.uk/"&gt;Elektor&lt;/a&gt;
(April 2002 for the French edition). It is now possible to find such an
adapter in some webshops.&lt;/p&gt;
&lt;p&gt;I packed all that stuff in a metal box, with a 120W Shuttle Power
Supply. The longest part was to machine the metal, with a drilling
machine and a file in my case.&lt;/p&gt;
&lt;p&gt;On the software side, this firewall is running Debian, with two scripts
of my own using iptables: one for IPv4 and one for IPv6. 256 MB is
enough for that and some useful packages (ADSL modem drivers, radvd,
ping, traceroute, tcpdump, ethstatus, lm-sensors, snmpd, ntp, logcheck,
etc.).&lt;/p&gt;
&lt;p&gt;Below is a photo of the inside (sorry for the poor quality, I took it
with my webcam as I still don't have a digital still camera):&lt;/p&gt;
&lt;p&gt;&lt;img alt="Inside my firewall" class="center" src="https://blog.aurel32.net/images/firewall.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;You can see a fan grille on the front, however there is no fan behind
it. I removed it as it was making noise, and was not really necessary.
Concerning the processor's fan, I control it using lm-sensors, and it is
almost always off, resulting in a very silent firewall.&lt;/p&gt;
&lt;p&gt;I used the same box for my servers, however they are using an
hard-drive. It is possible to put up to two hard-drives (useful for
RAID1) in a such box, if you are using low profile RAM.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Tue, 28 Sep 2004 22:03:00 +0200</pubDate><guid>tag:blog.aurel32.net,2004-09-28:/my-firewall.html</guid><category>articles</category><category>all</category><category>geek</category></item><item><title>Switching to kernel 2.6</title><link>https://blog.aurel32.net/switching-to-kernel-26.html</link><description>&lt;p&gt;I decided to switch all my machines to kernel 2.6. I now consider the
kernel 2.6 stable enough, at least for the use of my machines. Except
for my workstation on which I like to add some patches, I am using
Debian kernels for my other machines. Moreover some of them are very
slow (a parisc@60 MHz and a sparc@110 MHz), and building a kernel on
such machines takes very long time.&lt;/p&gt;
&lt;p&gt;I started with my a backup server, it was very easy, &lt;code&gt;apt-get install&lt;/code&gt;
and voilà!&lt;/p&gt;
&lt;p&gt;Then I switched my firewall. It was not so easy as for my backup server,
as I only have a 256 MB disk (actually a compact flash card). Because of
its size, it was not possible to have two kernels at the same time on
the disk. I decided to remove the old 2.4 kernel (/boot and
/lib/modules), to install the new 2.6 kernel. Then I typed &lt;code&gt;reboot&lt;/code&gt;, and
started to pray. As I don't have neither a display nor a keyboard on
that machine, I started to look both at the hard disk's LED and at a
console on my workstation on which I started &lt;code&gt;ping fourier&lt;/code&gt;. After a
some time (I don't know exactly how much, in such situations seconds are
like minutes), there was some echo reply. Wonderful!&lt;/p&gt;
&lt;p&gt;After such successes, I decided to continue and to switch my hppa
machine. Again apt-get, then a quick look at the palo's documentation to
know how to specify an initrd image, and then reboot. After a lot of
time, it was still not possible to ping the machine. Shit! PALO has the
possibilty to specify an alternate kernel in case of a problem, however
in that case it seems it has failed... or the boot was mabe successfull.
Half an hour later, after I plugged a screen, a keyboard and a
null-modem serial cable, I understood the problem: the module for the
network card was not loaded (whereas it was directly binded into the 2.4
kernel). And hotplug doesn't load it as it is not on a PCI bus. I tooked
my keyboard and started to write my login. Nothing. The keyboard's
module was also not loaded. I switched back to the 2.4 kernel, I put a
lot of modules into /etc/modules (network card, keyboard, mouse, sound
card, parallel port, serial port, etc.). And it worked!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Moral&lt;/strong&gt;: Don't change your kernel when you only have very few time to
do that. It always take a lot longer than expected.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Tue, 28 Sep 2004 00:14:00 +0200</pubDate><guid>tag:blog.aurel32.net,2004-09-28:/switching-to-kernel-26.html</guid><category>articles</category><category>all</category><category>debian</category></item><item><title>Finding a flat</title><link>https://blog.aurel32.net/finding-a-flat.html</link><description>&lt;p&gt;On monday, I received a phone call to tell me that I am accepted at the
&lt;a href="http://www-obs.univ-lyon1.fr"&gt;Centre de Recherche Astronomique de Lyon&lt;/a&gt;
to do a PhD. I will begin it the 1st of October.&lt;/p&gt;
&lt;p&gt;I am currently living at my parents' house, which is located in
Toulouse, so I have to find a flat very quickly. I'll take the train to
Lyon tomorrow, and I hope my search will be successfull.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Thu, 16 Sep 2004 00:20:00 +0200</pubDate><guid>tag:blog.aurel32.net,2004-09-16:/finding-a-flat.html</guid><category>articles</category><category>all</category><category>life</category></item><item><title>Fixing gcc-m68h1cx</title><link>https://blog.aurel32.net/fixing-gcc-m68h1cx.html</link><description>&lt;p&gt;Today, I spent all the day fixing gcc-m68hc1x. It is gcc built for
cross-compiling to 68HC11 and 68HC12 microcontrollers. There was a
strange bug: an ICE on 64-bit hosts. Actually the bug was there for a
long time, but I had decided that the version currently in testing will
be enough. However, yesterday a bug was filled as a package need to
build it was not available anymore in testing.&lt;/p&gt;
&lt;p&gt;So I started to try to debug it. It was the first time I was looking at
gcc's sources. Whow! I didn't know were to start to find the bug. I
asked on IRC on #gcc, but people were no encouraging me: &lt;em&gt;"aurel32,
that bug is not easy to tackle for newbies"&lt;/em&gt;. I first reduced the file
causing the ICE to a single line in a function, I added a lot of printf
in gcc's sources, and then tried to compile the same testcase both on a
32-bit host and a 64-bit host. At the end of the day I found some
differences, and with that, the bug!&lt;/p&gt;
&lt;p&gt;As the ICE was triggered by the build of libgcc2, gcc-m68hc1x was
unbuildable on 64-bit hosts. Now that this bug is fixed, it means one RC
bug less.&lt;/p&gt;
&lt;p&gt;And in short for any people writing code: please don't assume that a
64-bit number needs two int to be represented!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 12 Sep 2004 00:46:00 +0200</pubDate><guid>tag:blog.aurel32.net,2004-09-12:/fixing-gcc-m68h1cx.html</guid><category>articles</category><category>all</category><category>debian</category></item><item><title>First post</title><link>https://blog.aurel32.net/first-post.html</link><description>&lt;p&gt;With this first post, I hereby declare this weblog open!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">aurel32</dc:creator><pubDate>Sun, 12 Sep 2004 00:28:00 +0200</pubDate><guid>tag:blog.aurel32.net,2004-09-12:/first-post.html</guid><category>articles</category><category>all</category></item></channel></rss>