Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2019-10-11 15:08:00 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2019-10-11 15:08:00 +0200
commit88fd7174eaefdce1fc92c95cba29f1daa327e5f4 (patch)
tree92792a1c566815315d1c258f6cf7294706be6ab4
parentd8424a037c7149616097dbf9aba9c25ad2bd35b0 (diff)
added support to set the ARCHITECTURE in mkimage-arch.sh
adapted to changes upstream (base package requires some more minimal packages)
-rw-r--r--README.md10
-rwxr-xr-xmkimage-arch.sh12
2 files changed, 14 insertions, 8 deletions
diff --git a/README.md b/README.md
index 539c6ec..f28e196 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,17 @@
# docker
-Cloned from https://github.com/moby/moby/tree/master/contrib
+Cloned from https://github.com/moby/moby/tree/master/contrib/mkimage-arch.sh
# usage
+Choose an ARCHITECTURE in `mkimage-arch.sh` and set the corresponding
+variable on top (for all practical purposes this should be 'pentium4').
+
Run `mkimage-arch.sh` builds a docker image named `archlinux32`
using `i686` architecture packages.
Run `uname -m` in the shell started with
`docker run -it archlinux32 /usr/bin/linux32 /bin/bash` indeed
-shows `i686`.
-
+shows `i686` (Note: it shows `i686` for `i686` and `pentium4`,
+also note that a docker chroot doesn't emulate CPU flags like SSE/SSE2 in
+`/proc/cpuinfo`!).
diff --git a/mkimage-arch.sh b/mkimage-arch.sh
index be1d9ca..0afb4c1 100755
--- a/mkimage-arch.sh
+++ b/mkimage-arch.sh
@@ -4,6 +4,11 @@
# requires root
set -e
+# adapt to the flavour of Archlinux32 you need
+#ARCHITECTURE=pentium4
+#ARCHITECTURE=i686
+ARCHITECTURE=i486
+
hash pacstrap &>/dev/null || {
echo "Could not find pacstrap. Run pacman -S arch-install-scripts"
exit 1
@@ -24,7 +29,6 @@ chmod 755 $ROOTFS
# packages to ignore for space savings
PKGIGNORE=(
dhcpcd
- iproute2
jfsutils
linux
lvm2
@@ -34,11 +38,9 @@ PKGIGNORE=(
nano
netctl
openresolv
- pciutils
pcmciautils
reiserfsprogs
s-nail
- systemd-sysvcompat
usbutils
vi
xfsprogs
@@ -75,7 +77,7 @@ case "$arch" in
exit 1
fi
PACMAN_CONF=$(mktemp ${TMPDIR:-/var/tmp}/pacman-conf-archlinux-XXXXXXXXX)
- sed "s/Architecture.*/Architecture = i686/" './mkimage-arch-pacman.conf' > "${PACMAN_CONF}"
+ sed "s/Architecture.*/Architecture = ${ARCHITECTURE}/" './mkimage-arch-pacman.conf' > "${PACMAN_CONF}"
echo 'Server = http://archlinux32.andreasbaumann.cc/$arch/$repo' > mirrorlist32
sed -i "s|/etc/pacman.d/mirrorlist|mirrorlist32|g" "${PACMAN_CONF}"
PACMAN_MIRRORLIST='Server = http://archlinux32.andreasbaumann.cc/$arch/$repo'
@@ -112,7 +114,7 @@ arch-chroot $MOUNTPOINT /bin/sh -c "pacman-key --init; pacman-key --populate $AR
arch-chroot $MOUNTPOINT /bin/sh -c "ln -fs /usr/share/zoneinfo/UTC /etc/localtime"
echo 'en_US.UTF-8 UTF-8' > $MOUNTPOINT/etc/locale.gen
arch-chroot $MOUNTPOINT locale-gen
-sed -i "s/Architecture.*/Architecture = i686/" "$MOUNTPOINT/etc/pacman.conf"
+sed -i "s/Architecture.*/Architecture = ${ARCHITECTURE}/" "$MOUNTPOINT/etc/pacman.conf"
arch-chroot $MOUNTPOINT /bin/sh -c 'echo $PACMAN_MIRRORLIST > /etc/pacman.d/mirrorlist'
# udev doesn't work in containers, rebuild /dev