From Fedora Project Wiki

Biarch Spin

Summary

Both 64bit and 32bit distribution on a single flash disk where 64bit boots by default if possible.

Owner(s)

Detailed Description

Automatically prefer x86_64 (AKA amd64, Intel 64, EM64T) live boot and installation but still provide i686 (AKA Intel 32) live boot and installation for 32bit only PCs and/or recovery of 32bit installations.

Most installations can benefit from x86_64 increased performance thanks to twice the more available registers together with better new ABI resulting in less memory swapping, also thanks to 64bit calculations without registers pairing, more efficient addressing modes used for example in shared libraies and wider data management capabilities thanks to the unlimited addressing space. Still many installations are present in 32bit mode as people are not sure whether they have 64bit capable hardware. This installation can autodetect the best installation mode for their system.

Software developers can benefit from easier code thanks to the new addressing modes. Users can also benefit from the simplicity of a single kernel variant (no longer need for PAE and/or regular kernel variants).

Benefit to Fedora

Fedora can automatically provide the best suitable variant of the distribution for each user. User experience gets greatly improved.

Builder + Kickstart File

ISO Name / FS Label

The shell script creates files in this order:

  • f15-live-x86_64.iso
  • f15-live-i686.iso
  • f15-live.bin

If both .iso files already exist the f15-live.ks file is not used at all. f15-live.bin is a 2GB image suitable for flash disk (like /dev/sdX where X is for example d, CHECK THE MEDIA NAME IN YOUR CASE). You should never use the partition names (like /dev/sdX1). Example command is:

cat f15-live.bin >/dev/sdX

As the biarch image is provided as a flash disk image including partition table for one 2GB FAT partition the ISO label is not applicable. FAT image has label LIVE, both ext3fs.img files have label _f14-live. The images get found by UUID such as: root=live:UUID=7404-2829

Dependencies

No special dependencies are known.

Scope / Testing

The provided .ks file is not essential for this Spin, the .ks' file can be dropped. Just the default CD size times 2 is not much useful as the nearest higher available flash disks are 2GB. Therefore I have provided some additional packages in the supplied .ks file. I changed there some personal boot defaults but those can be either also dropped or imported to the system .ks files.

One should test it both with x86_64 hardware CPU (equivalent to qemu-kvm -cpu qemu64) and also with i686 hardware CPU (qemu-kvm -cpu qemu32) to verify ifcpu64.c32 boots the right distro variant. Real iron can be also used.

Similar projects

None of the projects below provides the primarily/sole purpose of Biarch Spin (see Summary). I do not mind porting the ifcpu64.c32 support to any of the scripts below but they have other deficiencies compared to the f15-live.sh build script provided here. I can port f15-live.sh to Perl-5 upon request.

livecd-tools /usr/bin/mkbiarch

  • Missing ifcpu64.c32 functionality which is the primarily/sole purpose of Biarch Spin
  • It does not preserve the source media boot menu:
    • Missing memtest86+ and other entries normally available at the source .iso files
  • Fully superseded by f15-live.sh

Multiboot Media Creator

  • Missing ifcpu64.c32 functionality which is the primarily/sole purpose of Biarch Spin
  • Missing unique media identifier to boot on systems with multiple versions of such media
  • Does not preserve the source media boot menu:
    • Missing memtest86+ and other entries normally available at the source .iso files
  • I can extend f15-live.sh to accept arbitrary number of .iso files (not just the two)

Multiboot Media Creator in Python

  • Missing ifcpu64.c32 functionality which is the primarily/sole purpose of Biarch Spin
  • Missing unique media identifier to boot on systems with multiple versions of such media
  • It does not preserve the source media boot menu:
    • Missing memtest86+ and other entries normally available at the source .iso files
  • I can extend f15-live.sh to accept arbitrary number of .iso files (not just the two)

Spins Page

TBD.

Slogan

Automatic 64bit/32bit installation and recovery.

Spin description

Provide both 64bit (preferred) and 32bit distribution for PCs on a single flash disk >=2GB.

Screenshot

Download tab

https://fedoraproject.org/w/uploads/c/ce/Spin-details-download.png

Support tab

Users can contact jan.kratochvil@redhat.com although there is no specific code besides ifcpu64.c32 from the project syslinux.

Custom branding

None used.

Comments and Discussion