| Age | Commit message (Collapse) | Author |
|
|
|
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).
|
|
|
|
Remove list of choices that are not applicable again on the latest build
script.
Mention list of Linux Guest Environment packages that we install on the
image, including the link to its AUR repository.
Update the steps and sample commands for "Build your own image" to use
gcloud instead of gsutil.
|
|
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.
|
|
We are currently cleaning up my GCP account, so we unify some projects
into one.
The arch-builder now moved under kilabit project.
|
|
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
|
|
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.
|
|
The "pacman-key --init" does not needs to be run anymore since it will
be handled by "archlinux-keyring-wkd-sync.timer".
|
|
This remove dhclient and add polkit as dependencies for systemd-hostnamed.
|
|
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 <<-'EOS'
set -eEuo pipefail
trap 'echo "Error: \`$BASH_COMMAND\` exited with status $?"' ERR
|
|
Currently the gsutil command hang (does not show any progress) when
executed on build.kilabit.info.
|
|
|
|
The link to view latest image is
https://build.kilabit.info/compute-archlinux-image-builder/current-images.txt
|
|
The OS login require enable-oslogin=TRUE and optionally
enable-oslogin-2fa=TRUE.
|
|
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
|
|
In environment where user have multiple projects, there is a possibility
that running gcloud command, even after we set
gcloud config configurations activate <config>
will run not in the project arch-builder but in other project.
|
|
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".
|
|
Systemd journald in ArchLinux does not forward the log to syslog anymore.
This fix empty instance log in Cloud Logs Explorer.
|
|
The make file create the image, set the host::image value in awwan.env
for deployment later by awwan, deploy and create images in Cloud Images,
and remove old images.
|
|
Without this option, if the input is empty, the command will fail.
|
|
Using f1-micro or g1-small on asia-southeast1 always return
ZONE_RESOURCE_POOL_EXHAUSTED now.
|
|
The pacman.conf changes based on pacman version 6.0.2-7 where community
repository removed from list.
The mirrorlist updated to pacman-mirrorlist version 20230628-1.
|
|
|
|
|
|
|
|
Using this option give better list of the installed and the next version
of packages.
|
|
This merge the upstream repository to our fork with some changes in
naming of boot dev and uuid.
# Conflicts:
# README.md
# build-arch-gce6
|
|
This changes the state of image but the image still need to be deleted
manually.
|
|
|
|
We have an issue where the image build on local and the generated
mirrorlist is located in India (or Pakistan?).
This cause our package installation/update really slow when creating a
VM in Singapore region.
Since we did not know who or where the image to be used, the safe
configuration should be to use the worldwide one.
|
|
|
|
This ops-agent is prebuild package from AUR [1].
[1] https://build.kilabit.info
|
|
|
|
|
|
Replace GRUB with systemd-boot
|
|
Replace GRUB with systemd-boot to make the setup simpler.
Close #47
Signed-off-by: Aviana Cruz <gwencroft@proton.me>
|
|
The gcloud-image-publish.aww is the script to publish the recently
build image to gcloud and create new image.
The gcloud-image-test.aww is the script to test the new image by
creating new compute engine.
The gcloud-test-image-official.aww is the script to test the official
public image from Google.
The gcloud-test-tail.aww is the script to get the serial log from
test image in compute engine.
|
|
Testing using qemu require adding "block" hooks to mkinitcpio.conf.
|
|
The common admin and remote tools are vim-minimal, tmux, mosh, rsync,
and unzip.
|
|
This is to speeding up the bootstrap.
|
|
Because the rest of the world use metrics instead of imperial system.
|
|
The pacman.conf file is rarely updated, so we add the gce repository
directly into file and use it during pacstrap and to replace the
target root.
|
|
Using this method simplify maintenance on the build script and give
flexibility to custom image builder.
While at it, we add "udev autodetect block filesystems keyboard"
into the HOOKS to allow testing the image using qemu and "fsck"
to allow system run disk check on boot.
|
|
|
|
Using this method give more flexibility to user that need to build
image with custom SSH server configuration.
|
|
Like timesyncd, overwrite the journald configuration by adding
drop-ins configuration under /etc/systemd/journald.conf.d/.
|
|
This simplify updating and maintaining custom locale for user that
does not want to use en_US.
|
|
Per manual page timesyncd.conf(5) [1]:
Initially, the main configuration file in /etc/systemd/ contains
commented out entries showing the defaults as a guide to the
administrator.
...
Using drop-ins for local configuration is recommended over
modifications to the main configuration file.
The reason why the filename is 00- describe below
It is recommended to prefix all filenames in those subdirectories with
a two-digit number and a dash, to simplify the ordering of the files.
Another reason is to prevent the system being littered with
/etc/systemd/timesyncd.conf.pacnew files when systemd updated.
[1] https://man.archlinux.org/man/timesyncd.conf.5
|
|
Passing -c on pacstrap allow the bootstrap process to use the current
package cache on host.
Without using this flag, each build will re-downloads all packages again
from the Internet.
|