[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Configuring foreign packages without qemu in order to boot a system



Hello,

I've recently been looking into using Emdebian on the Ben NanoNote, which is 
typically supported by an OpenWrt-based kernel and distribution, and I've 
reached the point where I can persuade the system to boot Emdebian directly 
from an SD card.

However, to get to this point, I have to rely on the existing OpenWrt 
distribution to boot the device, log in, and then enter the Emdebian system 
root using chroot in order to run "dpkg --configure -a". Once this has been 
done, the device will boot into the Emdebian system.

This configuration step appears to be the necessary measure to permit the init 
mechanism and various related activities to function. I suppose that not all 
packages need to be configured, but some configuration seems to make the 
difference between a functioning and non-functioning system.

The general advice about package configuration...

http://wiki.debian.org/EmDebian/CrossDebootstrap

...seems to be mainly divided between booting into a device and running dpkg 
(or performing a second-stage debootstrap if that is the tool of choice) or 
using qemu. Obviously, in my situation, I can't boot into Emdebian without 
having first performed the configuration step, so this supposedly leaves me 
with the fairly undesirable option of using qemu.

I did wonder, however, whether there are any known techniques for configuring 
just enough of a system on the build host so that the init mechanism can 
complete its work on the target system and then allow the proper 
configuration to occur. Previously, I had hoped that multiarch installations 
might alleviate the problem of package configuration really wanting to run 
native programs, but I imagine that readers of this list would be aware of 
more elegant solutions to this problem.

Alternatively, I wondered whether there might be any way of deploying a "first 
boot" script to perform configuration on the target system. I see a script 
apparently suggested for this kind of thing...

http://wiki.debian.org/Multistrap#Debconf_and_pre-seeding

...but I'm not sure whether the author of that suggestion intended such 
scripts to be deployed in such a fashion.

I would certainly appreciate any advice on this topic. Emdebian promises to 
make a lot of things easier when developing for embedded devices like the 
NanoNote - just the availability of numerous packages for different 
architectures is a real time-saver - and I'd like to be able to offer some 
concrete documentation to help people start using it without there being too 
many complications involved.

Paul


Reply to: