Skip to content

Instantly share code, notes, and snippets.

View hikalium's full-sized avatar

hikalium hikalium

View GitHub Profile
@chrisdone
chrisdone / gist:02e165a0004be33734ac2334f215380e
Last active July 1, 2024 21:55
Build and run minimal Linux / Busybox systems in Qemu

Common

export OPT=/opt
export BUILDS=/some/where/mini_linux
mkdir -p $BUILDS

Linux kernel

How to disable AAAA lookups?

Problem description

The corporate DNS server that is outside of our control doesn't handle AAAA queries properly. When sent a AAAA query, the DNS server doesn't respond. A properly working DNS server returns NOERROR, ANSWER: 0, if there is no AAAA record for a given name. Misconfigured DNS server doesn't send any response.

In an IPv6-enabled environment, the client tries to resolve both A and AAAA addresses. If the DNS server doesn't send any reply, the client repeats the query and eventually times out. Only after the AAAA query times out, the client will use the A address. Waiting for the timeouts renders utilities like curl, kubectl, oc, ... and others unusable.

Identifying the AAAA lookup problem

GSoC22 Linuxulator on powerpc64

Summary

FreeBSD provides optional binary compatibility with Linux, allowing users to install and run unmodified Linux binaries. The Linux binaries can be started in the same way native FreeBSD binaries can. They behave almost exactly like native processes and can be traced and debugged the usual way. The "Linuxulator" is available for the i386, amd64, and arm64 architectures. This project aimed to add preliminary Linuxulator support for FreeBSD/powerpc64. Signal handling and vdso are supported, and many system calls for powerpc64 are supported.

Mentors

A big thanks to my mentors. Without their help, this would have not been possible. They helped me a lot when I got stuck and patiently taught me when I didn't understand something.

  • Justin Hibbits
  • Dmitry Chagin