[ARM] Fedora15 HardFP Bootstrap Virtual FAD - 2011/06/10
We wish to accelerate the bringup of Fedora 15 on ARMv7 systems running with hardware floating point (hardfp). To that end, it is proposed to have semi-regular bootstrap days, during which we will meet in a virtual capacity (on IRC, and over the phone) to build up through cross-compilation (and other means) the core packages required for Fedora 15 to become self-hosting on ARMv7 with hardware floating point.
When and Where
14:00 UTC, Friday June 10th 2011
IRC: #fedora-arm on irc.freenode.net
Phone: Access code: 1236987415
Toll Free Dial-In Number (US & Canada): (800) 451-8679
Etherpad: http://www.tinyurl.com/fedora-arm (including full list of international dialin numbers)
Event owners
Attendees
- Jon Masters
- Chris Tyler
- Anthony Boccia
- Salman Zafar
- Jon Chiappetta
- Paul Whalen
- Dennis Gilmore
- Brendan Conoboy
Program
- Summarize requirements/sync up on build flags
- Build for Cortex A-8, with AAPCS, and hard float (vfpv3-d16, not -d32)
- Do not enable NEON (can add later)
- Do not enable Thumb2 (confirmed can non-disruptively enable per-package later)
- Current status of works in progress (DJ/Dennis/Seneca(?)?)
- Plan will be to use DJ's bootstrap.git as a starting point
- Extend stage2 script to on-target build up dependencies for rpm-build
- Stash archives of populated build directories/bits on scotland.proximity.on.ca/fedora-arm/f15hardfp/bootstrap/
- Minimal dependency discussion for F15
- Plan to build dependencies required from the dependency graph
- F15 x86_64 rpm-build dependency graph generated from Koji build dependencies
- Plan for building/co-ordinating builds
- Follow instructions for setting up DJ's bootstrap script and minimal rootfs (target chroot)
- Grab a few package dependencies and work on them (add support to stage2 script)
- Tar up the resulting build tree and make them available to others
- Others install build tree ("make install") on their rootfs
- Once sufficient deps are done for rpm, rebuild things as RPMs
- host bits on scotland.proximity.on.ca/fedora-arm/f15hardfp/bootstrap/
- Stage a Koji F15 instance with the working RPMs
- Status before end of day
- Plan for followup
Requirements
- Internet connection to log into IRC, and phone if possible (phone not essential)
- A supported ARMv7 target board
- Lots of coffee
Setup
- A pre-requisite is a working ARMv7-compatible supported target board, such as a BeagleBoard or a PandaBoard.
- You can find out more from the main Fedora ARM pages about obtaining a pre-built rootfs (no installer yet)
- We now have some Fedora ARM kernel packages for OMAP-based boards
- Bootstrap will involve using a partially completed rootfs image that will be used inside a chroot
- Since the new "arch" (armv7hl) is supported by ARMv7 kernels we can use a chroot trick
- A complete from-scratch new arch port would need an also bootable rootfs (but it's not quite that)
- Your normal target rootfs will be the stock F-13 rootfs in this case (so boot target as normal, then use chroot)
- Fetch DJ's bootstrap.git repository
- You will be making changes to the stage2 script (a copy of it in your rootfs)
- Post patches and pull requests during the day for new packages
- Fetch the partially bootstrapped rootfs (progress to date, built using bootstrap scripts)
- Extract the root filesystem into a new directory and copy over to your board
- Or mount over NFS from a server system (e.g. export /data/work/arm/bootstrap/f15/20110610/rootfs from a server to your board)
- Optionally bind mount a directory within the rootfs (e.g. on an NFS server mount -o bind /data/work /data/work/arm/bootstrap/f15/20110610/rootfs/data/work) to allow you to get at data outside the chroot if you want to stash builds somewhere
- Chroot into the new target rootfs
- chroot /data/work/arm/bootstrap/f15/20110610/rootfs (or wherever you extracted it)
- Take a look at the /stage2/stage2 script
- Run it with a "module" name to build a particular package
- /stage2/stage2 nspr
- Modify the stage2 script to support building additional packages in the target rootfs
- Post patches and git pull requests to the Fedora ARM mailing list (arm@lists.fedoraproject.org) (the stage2 script is kept in the bootstrap.git and a copy is in the rootfs)
- Once sufficient packages are bootstrapped to support rpm, rebuild packages using RPM
- Further dialog on package build deps and next steps