<feed xmlns='http://www.w3.org/2005/Atom'>
<title>compute-archlinux-image-builder/build-arch-gce, branch main</title>
<subtitle>Script to creates Arch Linux image for Google Compute Engine.</subtitle>
<id>http://git.kilabit.info/compute-archlinux-image-builder/atom?h=main</id>
<link rel='self' href='http://git.kilabit.info/compute-archlinux-image-builder/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/compute-archlinux-image-builder/'/>
<updated>2026-01-27T17:16:44Z</updated>
<entry>
<title>all: set the resolv.conf symlinked to systemd stub-resolv.conf</title>
<updated>2026-01-27T17:16:44Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-01-27T17:15:52Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/compute-archlinux-image-builder/commit/?id=5aafb2bf78ba7e421d75cdef028850a6dc8c286f'/>
<id>urn:sha1:5aafb2bf78ba7e421d75cdef028850a6dc8c286f</id>
<content type='text'>
The default resolv.conf is empty.
This cause program that depends on resolv.conf for name resolution will
fail.

As a test, we create small Go program "cmd/golookup" that can lookup
IP address of host name using pure Go resolver (using/etc/resolv.conf).
</content>
</entry>
<entry>
<title>all: remove pacman-init service and ops-agent config.yaml</title>
<updated>2025-12-26T08:50:22Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-12-26T08:02:04Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/compute-archlinux-image-builder/commit/?id=42ad2744c1122eeb6e33972ed34a87567a690a57'/>
<id>urn:sha1:42ad2744c1122eeb6e33972ed34a87567a690a57</id>
<content type='text'>
The original pacman-init.service usage is to populate the pacman keyrings.
Since we install archlinux-keyring package at pacstrap, we did not need
to do it anymore.

On ops-agent, the latest package released that include the same
config.yaml.

</content>
</entry>
<entry>
<title>all: remove dependency on gce repository</title>
<updated>2025-12-25T12:03:16Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-12-25T12:01:04Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/compute-archlinux-image-builder/commit/?id=fca620c1e13bae91b4a3167a10d660f3d72e7aeb'/>
<id>urn:sha1:fca620c1e13bae91b4a3167a10d660f3d72e7aeb</id>
<content type='text'>
Since around 13 December 2025, the gce repository return an error 403,

  error: failed retrieving file 'gce.db' from storage.googleapis.com
   : The requested URL returned error: 403

We then build google-compute-engine and google-guest-agent and host it
under build.kilabit.info repository using the latest releases [1][2].

For google-compute-engine we use version 20251014.00-1.
For google-guest-agent we use version 20251223.00-1.

[1]: https://build.kilabit.info/karajo/app/#job_aur_google-compute-engine
[2]: https://build.kilabit.info/karajo/app/#job_aur_google-guest-agent

</content>
</entry>
<entry>
<title>all: add task to build image testable with qemu</title>
<updated>2025-12-25T07:50:18Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-06-09T09:56:54Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/compute-archlinux-image-builder/commit/?id=cbc720a6c7b686312d1d309157b37c855eab063c'/>
<id>urn:sha1:cbc720a6c7b686312d1d309157b37c855eab063c</id>
<content type='text'>
An image that build for qemu will have user "arch" with predefined
SSH keys, so user can access the guest from host either using SSH key
or password.

</content>
</entry>
<entry>
<title>all: manage network with systemd-network</title>
<updated>2025-12-24T06:53:46Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-06-06T18:17:04Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/compute-archlinux-image-builder/commit/?id=7c5aa938241175ba5cbc57468b6e4eeeb507df2a'/>
<id>urn:sha1:7c5aa938241175ba5cbc57468b6e4eeeb507df2a</id>
<content type='text'>
This remove dhclient and add polkit as dependencies for systemd-hostnamed.
</content>
</entry>
<entry>
<title>all: remove command that remove initramfs fallback</title>
<updated>2025-11-16T11:42:01Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-11-16T11:42:01Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/compute-archlinux-image-builder/commit/?id=d768aa8ad922543302b5b6f6623fdbe4c2fd7271'/>
<id>urn:sha1:d768aa8ad922543302b5b6f6623fdbe4c2fd7271</id>
<content type='text'>
Recent build return the following error,

2025-11-15 02:01:28 UTC job: gcp-image-arch: rm: cannot remove '/boot/initramfs-linux-fallback.img': No such file or directory
2025-11-15 02:01:28 UTC job: gcp-image-arch: Error: `rm /boot/initramfs-linux-fallback.img` exited with status 1
2025-11-15 02:01:28 UTC job: gcp-image-arch: Error: `arch-chroot -- "$mount_dir" /bin/bash -s &lt;&lt;-'EOS'
set -eEuo pipefail
trap 'echo "Error: \`$BASH_COMMAND\` exited with status $?"' ERR

</content>
</entry>
<entry>
<title>all: install google-compute-engine-oslogin</title>
<updated>2023-09-14T13:36:14Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-09-14T13:36:14Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/compute-archlinux-image-builder/commit/?id=0505be31b9673937fc435cb967d53be0b3b01083'/>
<id>urn:sha1:0505be31b9673937fc435cb967d53be0b3b01083</id>
<content type='text'>
This changes require reorder the repository, by moving build.kilabit.info
on top of gce, because the gce provides old version os oslogin, while
build.kilabit.info provides the latest one, 20230831.00 [1].

[1] https://build.kilabit.info/karajo/app/#job_aur_google-compute-engine-oslogin
</content>
</entry>
<entry>
<title>all: fix permission warnings during installing boot loader</title>
<updated>2023-09-12T07:57:01Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-09-12T07:57:01Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/compute-archlinux-image-builder/commit/?id=f1fac86edd64455562f2d1744b6f3d670e8ef09d'/>
<id>urn:sha1:f1fac86edd64455562f2d1744b6f3d670e8ef09d</id>
<content type='text'>
The following warnings are logged when running bootctl,

! Mount point '/boot' which backs the random seed file is world accessible, which is a security hole! !
! Random seed file '/boot/loader/.#bootctlrandom-seedd8660b2d2ae5697a' is world accessible, which is a security hole! !

The fix is by mounting the /boot with options
"uid=0,gid=0,fmask=0077,dmask=0077".
</content>
</entry>
<entry>
<title>all: set default ops-agent syslog from systemd_journald</title>
<updated>2023-09-12T07:44:59Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-09-12T07:44:59Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/compute-archlinux-image-builder/commit/?id=bb47b014ccaa0fa31487ee014d7ce2c565c867da'/>
<id>urn:sha1:bb47b014ccaa0fa31487ee014d7ce2c565c867da</id>
<content type='text'>
Systemd journald in ArchLinux does not forward the log to syslog anymore.
This fix empty instance log in Cloud Logs Explorer.
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'upstream/master'</title>
<updated>2023-02-11T07:45:09Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-02-11T07:36:39Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/compute-archlinux-image-builder/commit/?id=cca56949a4af405fd93e9d6f7f85ab542f6b6ab2'/>
<id>urn:sha1:cca56949a4af405fd93e9d6f7f85ab542f6b6ab2</id>
<content type='text'>
This merge the upstream repository to our fork with some changes in
naming of boot dev and uuid.

# Conflicts:
#	README.md
#	build-arch-gce6
</content>
</entry>
</feed>
