Re: sbox2 maemo

2007-08-01 Thread Lauri Leukkunen
On 31/07/07 13:11 +0300, Lauri Leukkunen wrote:
 On 31/07/07 11:56 +0300, ext Marius Vollmer wrote:
  That way, all binaries can be replaced that are used a lot during
  compilation and are too slow to be emulated: /bin/sh, m4, awk, make,
  perl, gcc, binutils, but not much more.  Packages like autoconf,
  automake, libtool are never redirected since they are interpreted
  anyway.
 
 You could implement this as a mapping mode for sb2, by simply doing
 export SBOX_MAPPING_MODE=your_mode
 you could switch to whatever you like. Just put your custom rules into
 scratchbox/shared/scratchbox2/redir_scripts/preload/your_mode
 and you're all set.
 
 You could take the current emulate mode as a template and start adding
 to that your exceptions.
 
 I'll add a command line switch for sb2 to support selecting the mapping
 mode.

It's now in the sbox2 git.

sb2 -m your_mode

sb2 -e is equivalent to running sb2 -m emulate

If you want to store your custom redir_scripts in $HOME/redir_scripts,
you could setup a bash alias:

alias sb2='sb2 -m your_mode -s $HOME/redir_scripts'

then run sb2 as usual. To make maintenance easier you could make
$HOME/redir_scripts/main.lua a symlink to the installed one.

The mapping cache may sometimes fail to update itself correctly, deleting
it manually from $BUILDROOT/.sb2cache will solve the problem. I'm working
on fixing this.

/lauri
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-08-01 Thread Marius Vollmer
Lauri Leukkunen [EMAIL PROTECTED] writes:

 On 31/07/07 11:56 +0300, ext Marius Vollmer wrote:
 Also, both sbox1 and sbox2 redirect whole packages, not just binaries
 (if I understand sbox2 correctly).  E.g., when redirecting the perl
 command, the redirected-to perl will take its modules from the
 redirected-to prefix, not from the redirected-from prefix.

 It's all per-file based, you could write the sb2 rules so that only
 specific files are accessed from the host. It's all quite flexible.

Hmm, the redirecting itself is quite trivial in my scenario: just make
some symlinks.  I'd rather not have a magic tool in the middle.  Also,
I don't want to access any files from the host except my home
directory.

Correct me if I am wrong: the main point of the redirection magic of
sb2 is to fake chroot, no?

 That way, all binaries can be replaced that are used a lot during
 compilation and are too slow to be emulated: /bin/sh, m4, awk,
 make, perl, gcc, binutils, but not much more.  Packages like
 autoconf, automake, libtool are never redirected since they are
 interpreted anyway.

 You could implement this as a mapping mode for sb2,

Yes, I could.  I also _could_ write my own FUSE filesystem that
implements the mapping I want, or use symlinks or bind mounts.  Right
now, symlinks is all I need.

 by simply doing export SBOX_MAPPING_MODE=your_mode you could switch
 to whatever you like. Just put your custom rules into
 scratchbox/shared/scratchbox2/redir_scripts/preload/your_mode and
 you're all set.

I know it's simple for you, but for me the value of sb2 is that it
does something useful right out of the box.  If I have to write my own
rules in a language that I don't know for a system that doesn't have
good documentation yet(!) just to get the effect of a couple of
symlinks, I don't feel like doing it.

Speaking of 'right out of the box': I understand that you are happy
that sb2 is in Debian testing and that fact is actually what make me
consider trying it out.

Nut I'd say as long as there isn't a suitable version of qemu, libtool
and a suitable toolchain also in Debian testing, sb2 is not there
yet for me.

(The toolchain from Codesourcery that I downloaded couldn't compile
libtool's libltdl because dirent.h is not supported or something,
and the toolchain for the maemo SDK wasn't supported by sb2 because of
TLS data or something.  I guess you are happy with your own
toolchain; could you provide it for ia32 as well?)
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-07-31 Thread Marius Vollmer
ext Lauri Leukkunen [EMAIL PROTECTED] writes:

 Continuing on the topic of build dependencies, SB2 has an open
 design issue regarding them. [...]

I played a bit with sbox2 and I failed in the end, probably because I
didn't use the right toolchain, but while doing that, a picture slowly
formed in my head how I would like things to work.

I don't like sbox1 because it redirects a lot of things into devkits,
which are essentially untouchable and hard to update.

Sbox2 is better since it redirects into the host system, which is much
easier to maintain than the devkits.  But it still redirects from one
system to another.

Also, both sbox1 and sbox2 redirect whole packages, not just binaries
(if I understand sbox2 correctly).  E.g., when redirecting the perl
command, the redirected-to perl will take its modules from the
redirected-to prefix, not from the redirected-from prefix.

There are two reasons for redirecting: to avoid emulating the compiler
and other build tools since that is quite slow, and for bootstrapping
where you start with an empty root directory but still have all the
tools at hand to fill it by compiling packages from source.  I am not
interested in bootstrapping from source here since that is not done
very often in a binary distribution.

To speed up build tools, it would be much better to only redirect the
machine code files, and nothing else.


I made a small experiment which should explain better what I have in
mind.

I made a sid armel chroot with debootstrap, copied a x86 qemu-arm into
it together will all the needed libraries, and registered qemu-arm as
a binfmt_misc interpreter.  Then I could chroot into the sid armel
chroot and after some more tweaking I had a system that could compile
Debian source packages.  Every executable was emulated, sh, perl, the
compiler, everything.  That setup was clean but slow, about ten times
slower than compiling natively.

The setup was clean because everything in it was coming from one
Debian distribution.  Apt-get is able to keep everything up to date,
except qemu.

It was slow because every single executable was emulated.  I started
speeding it up by replacing selected executables with x86 versions.
For example, I copied /usr/bin/perl into the chroot, and a matching
POSIX.so.  I left all the interpreted Perl code alone, since the point
was to speed up the execution of the perl binary, not to redirect to
an entirly different version of perl.

This worked nicely and sped up the compilation of my test package by
one minute or so.

Replacing binaries like this breaks the cleanliness of the setup of
course, and needs to be done in a better maintainable way.  I would do
it this way: In addition to the perl-base package which contains the
normal armel binaries there is also a perl-base-accel-i386 package in
the armel architecture that contains the binaries of the perl-base
package, but as i386 machine code and in different locations so that
both perl-base and perl-base-accel-i386 can be installed at the same
time.

Then there would be a way for the user to select whether or not to
make /usr/bin/perl be the armel or i386 version.

The perl-base and perl-base-accel-i386 packages would be produced by
the same maintainer, ideally, and would be forced to be nicely in sync
by package dependencies.  Building the perl-base-accel-i386 package
could be done by fetching the i386 perl-base package and hand picking
the needed binaries.  This all happens within one distribution, so
this is easy to coordinate.

That way, all binaries can be replaced that are used a lot during
compilation and are too slow to be emulated: /bin/sh, m4, awk, make,
perl, gcc, binutils, but not much more.  Packages like autoconf,
automake, libtool are never redirected since they are interpreted
anyway.

Documentation tools like the monster docbook machinery might not even
be needed on armel since documentation is architecture independent and
build on i386.  All documentation tools should of course be available
for armel, and the only consequence of not having a -accel-i386
package is that things are a bit slow.


Assuming that this all works out, people will want to maintain
multiple chroots, and there needs to be a way to mirror the home
directory into these chroots, etc.  In the end, it might look very
much like sbox1 except the horrible redirection into devkits is gone
and the chroots are properly self-contained and upgradeable with
apt-get from a single source.


S, what do you think?  Am I on crack again?
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-07-31 Thread Lauri Leukkunen
On 31/07/07 11:56 +0300, ext Marius Vollmer wrote:
 Also, both sbox1 and sbox2 redirect whole packages, not just binaries
 (if I understand sbox2 correctly).  E.g., when redirecting the perl
 command, the redirected-to perl will take its modules from the
 redirected-to prefix, not from the redirected-from prefix.

It's all per-file based, you could write the sb2 rules so that only
specific files are accessed from the host. It's all quite flexible.

 That way, all binaries can be replaced that are used a lot during
 compilation and are too slow to be emulated: /bin/sh, m4, awk, make,
 perl, gcc, binutils, but not much more.  Packages like autoconf,
 automake, libtool are never redirected since they are interpreted
 anyway.

You could implement this as a mapping mode for sb2, by simply doing
export SBOX_MAPPING_MODE=your_mode
you could switch to whatever you like. Just put your custom rules into
scratchbox/shared/scratchbox2/redir_scripts/preload/your_mode
and you're all set.

You could take the current emulate mode as a template and start adding
to that your exceptions.

I'll add a command line switch for sb2 to support selecting the mapping
mode.

This way there's no need to chroot into anything.

/lauri
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-07-31 Thread Daniel Stone
On Tue, Jul 31, 2007 at 11:56:12AM +0300, ext Marius Vollmer wrote:
 Then there would be a way for the user to select whether or not to
 make /usr/bin/perl be the armel or i386 version.

I know this sounds like a trite reply, but I have actually read your
entire mail.  However:

Sounds like you want multiarch.

Cheers,
Daniel


signature.asc
Description: Digital signature
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-07-31 Thread Igor Stoppa
On Tue, 2007-07-31 at 13:11 +0300, ext Lauri Leukkunen wrote:

 You could take the current emulate mode as a template and start adding
 to that your exceptions.

Maybe it's a matter of sb developer's vs sb user's point of view, but I
would rather consider sb to be the exception ...

-- 
Cheers, Igor

Igor Stoppa [EMAIL PROTECTED]
(Nokia Multimedia - CP - OSSO / Helsinki, Finland)
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-07-31 Thread Lauri Leukkunen
On 31/07/07 13:52 +0300, Igor Stoppa wrote:
 On Tue, 2007-07-31 at 13:11 +0300, ext Lauri Leukkunen wrote:
 
  You could take the current emulate mode as a template and start adding
  to that your exceptions.
 
 Maybe it's a matter of sb developer's vs sb user's point of view, but I
 would rather consider sb to be the exception ...

I meant exception from using files from $BUILDROOT, basically on a per file
basis breaking out of the chroot.

/lauri

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-07-31 Thread Marius Vollmer
Daniel Stone [EMAIL PROTECTED] writes:

 Sounds like you want multiarch.

Yes, I know I want multiarch. :)  Is it ready?
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-07-31 Thread Carlos Guerreiro

  components should be pushed to debian and ubuntu and get those bigger
  communities involved in their development. One day we will anyway be
 
 Indeed. When it comes to Hildon that is certainly starting to happen 
 now.

 This should be the default mode for most of the stuff we do. Arguing
 that we need to keep something in-house for competitive advantage is
 bollocks. Nokia has a few completely proprietary software platforms
 already. No need create another one. Anyway almost all of the
 proprietary components in maemo are of dubious quality, maybe there's
 a reason for that...

I understand platform as not to include applications, basically covering
the scope of Maemo. The vast majority of the Maemo platform is open
and the trend has been towards completeness.
Within that platform scope, I too think that diverging from upstream is 
silly
and that alignment of packaging with Debian makes sense.
What happens on top of the Maemo platform is a different discussion 
altogether.

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-07-31 Thread Carlos Guerreiro
ext Andrew J. Barr wrote:
 On 7/31/07, Carlos Guerreiro [EMAIL PROTECTED] wrote:
   
 What happens on top of the Maemo platform is a different discussion
 altogether.
 

 FWIW, I think that there is a distinction between maemo the platform
 and the ITOS firmware that not everyone has grasped. Maemo is mostly
 open, a lot more open than the ITOS firmware. I think most of the
 people agitating for Nokia to open stuff want to be able to run free
 software exclusively on their device (at least, that's what I want).
 This could be a different distribution (e.g. Angstrom), or just a
 different environment (e.g. GPE). I think many people want usable
 stuff they can use on their device, not just SDK stuff for developers.
 My two cents, anyway.

 At least, this is what I assume you mean when you talk about what is
 on top of the Maemo platform.
   

Yes, that was exactly my point, thanks.

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


RE: sbox2 maemo

2007-07-27 Thread Carlos.Guerreiro
  Lauri, I can see you've been away for too long and missed
  some of the action ;-)
 
 That's probably true, but I'm not afraid to raise old issues that may
 or may not have been 100% addressed. Worst thing that can happen is
 that things are actually not as bad as I thought. I'm just one voice
 here, I think there are enough yes-men to go around so it doesn't hurt
 if I object even when there was no need ;)

Your voice is welcome.
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-07-26 Thread Koen Kooi
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Lauri Leukkunen schreef:

 Also note that SB2 is totally not interested in doing x86-x86 development,
 like what many people are doing today with SB1. People need to wake up, smell
 the coffee, integrate with debian proper and get with the program.

I agree with that

 It's
 stupid to maintain a lame x86 port of maemo which nobody wants when all the
 components should be pushed to debian and ubuntu and get those bigger
 communities involved in their development.

The big problem is that hildon depends on an old, forked version of gtk+ that 
nobody in
their right mind wants on their x86 systems. The nokia people at guadec were 
unable to
give me an ETA on when that will be fixed :(

 One day we will anyway be
 running debian/stable with a few custom components on the tablets.

You mean switching back to OABI?

 That was the aim with this whole debian thing in the first place, remember?

Not marketing targeted at geeks?

regards,

Koen
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFGqFVxMkyGM64RGpERAnQsAJwN6pV7jGNvhAsj9L3B2apdBEngWACcD7LI
UJYH2aGwUWyMgVEehMoEpXY=
=oMOm
-END PGP SIGNATURE-
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-07-26 Thread Riku Voipio
Marius Vollmer wrote:
 There are two kinds of borders: one kind isolates OSs from each other;
 this could be done with some virtualization tool like xen, uml, or
 maybe chroot.  The other kind isolates different architectures within
 the same distribution; this is what SB2 does.
   
There has been some thinking about this dilemma, and we have
pretty much decided that we will not implement anything that does
the first kind of isolation in sb2. A separate tool can be created for
that purpose.

Lets try to keep sb simple this time :)

 In order for me to use SB2 and still retain control over my host OS, I
 would have to install the OS that SB2 wants as its host inside a
 virtual machine.  That's not a problem, of course.  I think I found my
 weekend project...
   
That is not that different than what Debian/Ubuntu developers
already do. Their host OS is whatever it is (etch/testing/sid
or dapper/gutsy or whatever), with whatever crap and extra
hacks installed. When building packages to distro, a clean
chroot of target distro or pbuilder is used.
 So, in the end, I think it's actually all quite simple: we make a OS
 that runs on real x86 hardware, inside Xen on x86 and on a Internet
 Tablet arm device and can be used both as a development environment as
 well as the basis for IT OS.  That OS includes sb2 which is used to
 'cross-compile' software from i386 to armel.
   
The *main* point here needs to be that all development tools
inside the X86 development system need to unmodified packages
from some mainstream distro. Else we end up maintaining a
similar soup of patched and hacked packages that nobody
dares to upgrade.



___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-07-26 Thread Lauri Leukkunen
On 7/26/07, Marius Vollmer [EMAIL PROTECTED] wrote:
 From my point of view, the host and target distributions should be as
 independent as possible.  The host could be Debian, or Redhat, or
 Nokia's internal Linux, or OSX, or even Windows.

There are many, many ways to solve this, starting from running a
chroot and continuing all the way up to vmware  co. SB2 would then be
used in that virtualized environment.

 The SB2 idea seems to be that there is only one distribution, and SB2
 is a clever hack to allow you to compile for a different target
 architecture than the host one without having to worry about
 cross-compilation complexities too much.

Pretty much yes. SB1 tried to pretend that it's a generic
cross-compilation tool, but ended up being neither generic nor
specific.

 Thus, from what I understand about SB2, I would characterize the
 situation so that the sb2 command takes you from the host
 architecture to the target architecture, but stays in the same
 distribution.  The host and target architecture environments are
 separate installations of this one distribution, and you need to make
 sure that both of them are properly up-to-date and syncronized.

All target distributions have build requirements, of course we could
construct maemo
to be a totally non-debian distro but still use debian/unstable as
build requirements. It would
be weird, but certainly possible. It's pointless to pretend that we
could construct a new
distro that could use any linux distro from the past five years as
build requirements. That just won't work. Using something like the
project-builder from ubuntu might be a way
to provide the build deps on a number of different host distros.

 Programs that run inside the target architecture environment get a
 native environment to run in and a properly emulated CPU to run on.
 Thus, they never know that they are effectively being cross-compiled.
 This is too slow for some programs like the compiler, so here comes
 the clever part of SB2: there is a conceptual second layer of
 emulation that emulates the host architecture on the target
 architecture with the magical property that the two layers of
 emulation cancel each other out and performance actually increases.

Well, by default we're really staying in the host as much as possible,
it's all path based,
so if you access files from let's say /usr/share they are by default
the target files, with
quite a few exceptions to support running the build tools. I've tried
to make sure
the build tools get their own files from the host always, this reduces
the number
of packages that need to be installed for the target, and it's the
right thing anyway.

 This is a good and simple model, the only thing I don't like about it
 is that I can't choose or configure my host environment independently
 from the target environment.

There are ways to work around this as described above, it would not be
smart to include yet another way into sb2. That would only make it
bigger with all the downsides of SB1.

/lauri
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-07-26 Thread Lauri Leukkunen
On 7/26/07, Carlos Guerreiro [EMAIL PROTECTED] wrote:

  As long as Nokia works in the current, essentially forked, mode,
  nothing will happen. Nokia needs to look at the way it interacts with
  upstream projects and change. Sure it can be painful, but hiding
  behind a smoke-screen of product program priorities is just not
  helping to solve the real issues.
 
 
 Lauri, I can see you've been away for too long and missed
 some of the action ;-)

That's probably true, but I'm not afraid to raise old issues that may
or may not have been 100% addressed. Worst thing that can happen is
that things are actually not as bad as I thought. I'm just one voice
here, I think there are enough yes-men to go around so it doesn't hurt
if I object even when there was no need ;)

  One day we will anyway be
  running debian/stable with a few custom components on the tablets.
 
  You mean switching back to OABI?
 
 
  Not really =)
  This needs the current armel port to mature and be accepted to debian.
  Nokia pushing it and putting resources into it would seriously help, I
  think. So far Nokia has done next to nothing right in the distro
 
 Fair enough.

For the sake of presenting an argument I may push things a bit too
far, but I believe that the Original Idea(TM) behind the debian choice
was distorted by the product requirements and it needs to be raised
again now that things have evolved. We shouldn't be afraid to throw
away a lot of our custom stuff and development processes if it turns
out to be slowing us down. Corporations are notoriously bad with this,
we are no exception.

  maintenance area. If SB1 somehow contributed to this state of affairs
  I'm really sorry
  about it, SB2 is trying hard to change things around by removing an
  obscure layer from between the host and the target distros, hopefully
  forcing a tighter coupling of them. At least it should be possible to
 
 I'm afraid things don't work like that. Alignment needs to
 happen for its own sake. It just makes sense to simplify
 and streamline our work and work shoulder to shoulder with
 upstream and other distros. Forcing that alignment through
 tools before it's there just means the tools don't get adopted.

Sure, I'm not saying that SB2 will necessarily force this stuff on
people, just that SB1 probably tilted the table so that it encouraged
sub-optimal way of working. This is very fuzzy of course :)

/lauri
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-07-26 Thread Riku Voipio
Koen Kooi wrote:
 The big problem is that hildon depends on an old, forked version of gtk+ that 
 nobody in
 their right mind wants on their x86 systems. The nokia people at guadec were 
 unable to
 give me an ETA on when that will be fixed :(

   
Guadec of what year? :P

http://packages.ubuntu.com/gutsy/x11/hildon-desktop

looks like a recent enough non-forked gtk to me...[1]
 One day we will anyway be
 running debian/stable with a few custom components on the tablets.
 

 You mean switching back to OABI?

   
unofficial[2] Debian EABI port is pretty much ready for what
tablet's would need from it. D-I, java (argh, but being worked on)
and FORTRAN (Argh!!) are the main incomplete things, but they
do not really touch tablet usage.

What _is_ missing for tablet usage is free UI's for selected things
(input, wifi/bluetooth network connectivity etc), which I expect
the Ubuntu mobile people already be working on.

[1] Well it's still patched but the patches are included in mainstream
distros' gtk and being integrated upstream.
[2] http://lists.debian.org/debian-arm/2007/07/msg00076.html

___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-07-26 Thread Marius Vollmer
ext Lauri Leukkunen [EMAIL PROTECTED] writes:

 At least it should be possible to build a package for both host and
 target distros like this:

 cd my_package
 dpkg-buildpackage -rfakeroot
 sb2 dpkg-buildpackage -rfakeroot

Hmm, I am still quite fuzzy about what SB2 is all about.  Maybe you
can hep me out a bit.

From my point of view, the host and target distributions should be as
independent as possible.  The host could be Debian, or Redhat, or
Nokia's internal Linux, or OSX, or even Windows.

The target distribution right now is the existing maemo mess, but we
could collectively move to Debian or Ubuntu.  In any case, people
might use whatever host OS works for them, but would work all on the
same target distribution.

The SB2 idea seems to be that there is only one distribution, and SB2
is a clever hack to allow you to compile for a different target
architecture than the host one without having to worry about
cross-compilation complexities too much.

Thus, from what I understand about SB2, I would characterize the
situation so that the sb2 command takes you from the host
architecture to the target architecture, but stays in the same
distribution.  The host and target architecture environments are
separate installations of this one distribution, and you need to make
sure that both of them are properly up-to-date and syncronized.

Programs that run inside the target architecture environment get a
native environment to run in and a properly emulated CPU to run on.
Thus, they never know that they are effectively being cross-compiled.
This is too slow for some programs like the compiler, so here comes
the clever part of SB2: there is a conceptual second layer of
emulation that emulates the host architecture on the target
architecture with the magical property that the two layers of
emulation cancel each other out and performance actually increases.

This second layer of emulation makes use of the programs installed in
the host distribution.  This is the reason why everybody needs to
agree on the host distribution as well as on the target distribution,
but the two distributions don't need to be the same for this reason.

The two distributions need to be the same since the host distribution
is directly used for development of the same software that is compiled
in the target architecture environment.  The host environment is much
nicer for testing and debugging, since the SB2 emulation is good
enough for compiling, but not for really booting and running the
distribution.

This is a good and simple model, the only thing I don't like about it
is that I can't choose or configure my host environment independently
from the target environment.

There are two kinds of borders: one kind isolates OSs from each other;
this could be done with some virtualization tool like xen, uml, or
maybe chroot.  The other kind isolates different architectures within
the same distribution; this is what SB2 does.

In order for me to use SB2 and still retain control over my host OS, I
would have to install the OS that SB2 wants as its host inside a
virtual machine.  That's not a problem, of course.  I think I found my
weekend project...

[ There is another picture in my head that I think might work: we keep
  the current SB1 setup but instead of having SB1 redirect tools into
  devkits, it redirects tools into a second target.  That second
  target can then be maintained in the usual way.  But I like the
  full-virtualization approach much better than the half-assed SB1
  emulation.
]

So, in the end, I think it's actually all quite simple: we make a OS
that runs on real x86 hardware, inside Xen on x86 and on a Internet
Tablet arm device and can be used both as a development environment as
well as the basis for IT OS.  That OS includes sb2 which is used to
'cross-compile' software from i386 to armel.

As a bonus, we could extend the range of supported hardware platforms
(Xen on PowerPC, Intels x86 mobile platform, sb2 from powerpc to
i386...)

Debian GNU/Linux is pretty close to these requirements: it doesn't run
on Internet Tablets yet and it probably can't be the basis for IT OS
if it would.  Both issues should be straightforward to address.  (I
hope I don't have to explain why they are worth addressing. :-)
___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers


Re: sbox2 maemo

2007-07-26 Thread Carlos Guerreiro

 As long as Nokia works in the current, essentially forked, mode,
 nothing will happen. Nokia needs to look at the way it interacts with
 upstream projects and change. Sure it can be painful, but hiding
 behind a smoke-screen of product program priorities is just not
 helping to solve the real issues.

   
Lauri, I can see you've been away for too long and missed
some of the action ;-)
 One day we will anyway be
 running debian/stable with a few custom components on the tablets.
   
 You mean switching back to OABI?
 

 Not really =)
 This needs the current armel port to mature and be accepted to debian.
 Nokia pushing it and putting resources into it would seriously help, I
 think. So far Nokia has done next to nothing right in the distro
   
Fair enough.
 maintenance area. If SB1 somehow contributed to this state of affairs
 I'm really sorry
 about it, SB2 is trying hard to change things around by removing an
 obscure layer from between the host and the target distros, hopefully
 forcing a tighter coupling of them. At least it should be possible to
   
I'm afraid things don't work like that. Alignment needs to
happen for its own sake. It just makes sense to simplify
and streamline our work and work shoulder to shoulder with
upstream and other distros. Forcing that alignment through
tools before it's there just means the tools don't get adopted.



___
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers