

Re: Questions regarding armhf port for Raspberry Pi

Using the packages above and creating a local mini-repository I'm now able to use debootstrap, along with some coaxing, to create a minimal Debian filesystem based on my rebuilt packages. The first-stage debootstrap (--foreign) is done under Debian armel and then with chroot I then run the second-stage debootstrap.
Note that you don't actualy have to use --foreign in this case since your host kernel can run the binaries for the target.
As the Raspberry Pi hardware is not shipping yet, I'm using QEMU configured with an emulated ARMv6+VFP CPU and running standard Debian armel to perform the installation of the packages.
Makes sense.

I'd say the next step would be to try and setup an autobuilding system to build the rest of the packages. Now you have the root filesystem built i'd suggest using a "build-up" approach (that is ONLY giving the autobuilder access to the packages you have built). You may also want to try and find a way to automate the check for armv7 code and run it before introducing new packages into your archive.

You will also need to sort out a system to import new changes from debian where you have not made source changes and notify you that merging is required where you have made source changes (hopefully only a handful of packages).

I'd suggest working with wheezy rather than sid since the churn rate will be lower there and it's probablly what your users will want in the end.

However, as mentioned above, debootstrap needs some coaxing. During the second-stage run of debootstrap, I'm getting dpkg errors that abort the bootstrap process. I can re-run debootstrap again and it will complete, but I would really like to understand why second-stage debootstrap can't complete the first time and fix the issues. Also, looking in the debootstrap.log file I see a number of dependency warnings, but I'm not sure if these are just normal warnings which are a side effect of how debootsrap calls dpkg to install packages on a clean filesystem.

The specific error I'm running into is the following:

dpkg: regarding .../apt_0.8.15.10_armhf.deb containing apt, pre-dependency problem:
 apt pre-depends on libstdc++6 (>= 4.6)
  libstdc++6 is unpacked, but has never been configured.
dpkg: error processing /var/cache/apt/archives/apt_0.8.15.10_armhf.deb (--unpack):
 pre-dependency problem - not installing apt

For some reason, debootstrap (or perhaps it is actually dpkg) can't properly figure out that the libstdc++6 package must be configured before it attempts to install apt. This is the only error of this kind and I can't tell what might be different about how apt package uses libstdc++ as a pre-depend. Other packages don't fail in this manner.

I've googled this error, but I haven't found specific information on how to understand what's happening and fix the issue. I mostly find bug reports that simply indicate the issue is not that uncommon.

Any insight someone could provide into debootstrap/dpkg pre-dependency issues would be very helpful.
You are more likely to find someone who knows about debugging debootstrap issues on debian-dpkg but I wouldn't worry too much about it for now,

Reply to: