Introduction
This architecture is for 32-bit Intel/AMD x86 machines and 32 bit IOT x86 boards (like Intel Edison).
Version 7.1804 is the Fifth major release of the 32 bit x86 by the AltArch Special Interest Group. This release is based on the Source Code from CentOS 7 (1804) x86_64 Architecture and includes all current updates from the main CentOS 7.1804 tree.
Versions Released: 7.1804 - Based on Source Code for Red Hat Enterprise Linux 7.5 - Current 7.1708 - Based on Source Code for Red Hat Enterprise Linux 7.4 - Archived 7.1611 - Based on Source Code for Red Hat Enterprise Linux 7.3 - Archived 7.1511 - Based on Source Code for Red Hat Enterprise Linux 7.2 - Archived 7.1503 - Based on Source Code for Red Hat Enterprise Linux 7.1 - Archived
Known Issues
Exit issue on GNOME
There was a known issue that GNOME will not exit after logon (in version 7.1503). This caused the error described in CentOS Bug 8834.
This issue is now fixed in 7.1708, please see the bug link above for 7.1503
CPU selection in some versions of QEMU/KVM
In some versions of QEMU/KVM the default CPU for i386 is pentium2. This causes an error as described in CentOS Bug 8748
The workaround is to customize the CPU and pick copy host cpu in virt-manager.
Installation
Installation is performed via the install ISOs and is the same as described in the standard CentOS 7 installer articles.
Basically, boot one of the install ISOs and use the anaconda installer OR use a custom kickstart file.
Install ISOs are available here:
http://isoredirect.centos.org/altarch/7/isos/i386/
sha256sums
5d5a27fa6fdf38fc7e297a61df7749d7529c4e20974f44d8609b8e0ef0593fb7 CentOS-7-i386-Everything-1804.iso ea3aeafb0c5554ed6aad84d8cddeda2144442de88f85351303f72fae897f5e15 CentOS-7-i386-Minimal-1804.iso c364f9d8e1cd1d7bfe2b1054f7697ef4946590d4bc21e081eb39ab67dffa647d CentOS-7-i386-NetInstall-1804.iso
Net Install ISO Path
If you are using the CentOS-7-i386-NetInstall ISO, please use a nearby AltArch mirror as the install source. Appending "7/os/i386/" to the mirror's URL will give you the correct URL that you can use in the installer. Alternatively, you can use http://mirror.centos.org/altarch/7/os/i386/ as the URL, but a nearby external mirror would probably be faster.
Getting involved
The i386 effort is being done as a community SIG project. Everyone is welcome to participate, though the actual builds are an artefact of the 64 bit process in that all 32 bit packages are built, but only some used as multi-lib in the 64 bit architecture. But we still need community help to maintain documentation and also fix issues that may arise in this architecture.
We encourage vendors to come and join this effort, especially for the newer 32-bit IOT boards like Intel Edison, etc.
The wider CentOS Ecosystem is also welcome to engage with us, both at the project and code level. If you are working with a project that interfaces, manages or develops on topĀ of CentOS, especially in the virtualization, cloud, container and infrastructure management areas - we would love to have you guys get involved.
Package Changes
Most packages are clean builds from the most recent release of CentOS 7, but there are some changed sources specifically for i386, as listed here:
centos-release |
Modified for new altarch paths |
efibootmgr |
No secure boot for 32bit |
efivar |
No secure boot for 32bit |
kernel |
modified to build on the i686 arch |
kexec-tools |
No secure boot for 32bit |
syslinux |
modified to build on the i686 arch |
grub2 |
modified to build on the i386 arch |
Packages not in i686
The following packages exist in x86_64 but are not in i686:
(note: the i686.rpm in the name is for comparison only, these rpms do not exist as i686 rpms in the i386 Arch, but they do exist as .x86_64.rpm in the x86_64 Arch)
Experimental Repository
There is a repository in the i386 tree called experimental. This is where experimental stuff goes :). Right now it contains a very new kernel (currently 4.9.x) that might work better with newer IoT type boards like minnowboard, edison, jaguarboard, etc.
To enable the experimental repo, add a file called 'CentOS-Experimental.repo' to '/etc/yum.repo.d/' that contains this:
[experimental] name=CentOS-$releasever - Experimental mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=experimental #baseurl=http://mirror.centos.org/altarch/$releasever/experimental/$basearch/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
