Ubuntu Open Week - Ubuntu Ports - Sat, Dec 2, 2006

09:04   jbailey = Introduction =
09:04   jbailey Hello, and welcome!  My name is Jeff Bailey, and I'll be the source of the electrons flying across your screen for the next hour!  This is, I believe, the final session of the Ubuntu Open Week series.
09:05   jbailey A bit about myself.
09:05   jbailey I got involved in the Debian world in 1999 because of the Hurd.  I'd been using and hacking on the Hurd for sometime before that
09:05   jbailey and Marcus Brinkmann wanted someone to run the buildd so that he could focus on kernel work.  I ran the buildd for a while and
09:05   jbailey sometime after that actually made it through the Debain New Maintainer process.  I still do the nightly Debian Installer snapshots
09:05   jbailey on ia64, but in the past have done them on sparc and hppa.  I participated in porting d-i for arm and alpha as well.
09:05   jbailey Upstream, I did some work in the 90's on helping with the port of GCC to SCO OpenServer and on porting glibc to Solaris 2.6.  I've
09:05   jbailey done other non-porting things, too, but that's not important right now.
09:06   jbailey In Ubuntu land, I do porting work for hppa, ia64, sparc and powerpc.  I am an Ubuntu core-dev, and worked on the Distro Team for Canonical
09:06   jbailey for about a year.  I still partcipate in toolchain work.
09:06   jbailey ObDisclosure:  I am employed by Canonical and manage the operations side of the technical support organisation as well as the standard
09:06   jbailey do-everything that comes with being in a relatively small company.
09:07   jbailey For those of you who are interesting in the Hurd, btw,
09:07   jbailey I gave a talk on that in 2003.
09:07   jbailey Not much has changed:
09:07   jbailey http://www.linuks.mine.nu/irc/hurd/ =)
09:07   jbailey http://ukai.org/d/index.cgi?2003-06-30-hurd-talk
09:07   jbailey = Definitions =
09:07   jbailey * A 'ports' architecture:  This is an processor/OS combination that is not supported directly by Canonical.  It has a few characteristics:
09:07   jbailey    * It is not mirrored.
09:07   jbailey    * If it's broken at release time, it will not block the release.
09:08   jbailey    * If it develops a critical security hole, it's up to the community to come up with a fix and get it in.
09:08   jbailey (See?  Three can sometimes be a good number)
09:08   jbailey I see lots of people joining, I'd like to refer you to the log files in the topic if you're curious.
09:08   jbailey * Soyuz: The part of Launchpad that actually builds and houses the distribution.
09:08   jbailey * Kumquat: small oval citrus fruit with thin sweet rind and very acid pulp
09:09   jbailey (Some of this next section is pre-history for me, so sorry if I have it slightly wrong)
09:09   jbailey = hppa, ia64 =
09:09   jbailey The two initial ports that came about were hppa and ia64.  These were largely pet projects by LaMont, who wanted his
09:09   jbailey favourite architectures on the release schedule and with the community of Ubuntu.
09:09   jbailey The ia64 architecture is not that interesting as a port, in that it's well supported by a large corporation and a target for a number
09:09   jbailey of major distributions.  We mostly inherit working things from upstream for this now.
09:09   jbailey Note that this isn't to say that it's not interesting as an architecture.
09:09   jbailey But just that in general we can expect it to work.
09:10   jbailey University students everywhere look at the Itanic and study it.
09:10   jbailey And make presentations at the GCC summit and OLS.
09:10   jbailey For those interested in Itanium specifically, I recommend googling for "gelato"
09:10   jbailey hppa on the other hand is an interesting challenge.  While hardware is currently still available, it won't be soon.  It was
09:10   jbailey also a bit of a technological anomaly in terms of stack handling, atomic operations and such.  hppa wasn't able to participate
09:10   jbailey in the edgy release, and is now struggling to re-enter the archive with Feisty.
09:11   jbailey hppa is a bit of a pet project of mine, specifically because it *doesn't* have great upstream support.
09:11   jbailey Although it's used in production web servers and such in a number of places.
09:11   jbailey There's also some people involved with each port that are notable:
09:11   jbailey == LaMont Jones, the ber-porter ==
09:11   jbailey If you've been involved with Debian at all, you've probably encountered LaMont.  He's only a little bit scary,
09:11   jbailey in the way that I recently handed him a set of PARISC code in hex, and he was able to tell me what the stuff meant.
09:12   jbailey = amd64 =
09:12   jbailey amd64 was the next port that came along.  amd64 was introduced with Hoary, primarily by Tollef Fog Heen.  amd64 was unusual in
09:12   jbailey that from the beginning it was sponsored by Canonical with the intention of being fully supported.
09:12   jbailey Since it is fully supported now, the support for it has grown much beyond just Tollef now.
09:13   jbailey == Tollef Fog Heen ==
09:13   jbailey Tollef is a member of Canonical's distro team.
09:13   jbailey (I had something witty in here, but he knows where I live)
09:13   jbailey = sparc... promoted! =
09:14   jbailey The sparc port was the brainchild of fabbione.  He created this in his spare time on his equipment at home, building just main.
09:14   jbailey One of the challenges of building a new architecture is the churn that we face during the development cycle.
09:14   jbailey I think there are generally 3 build boxes per architecture.
09:14   jbailey And all of those tend to be really fast boxes.
09:14   jbailey Sparc attracted some attention by others because it was one of the first to drop pre-ultrasparc support.  This meant that a number
09:15   jbailey of legacy items were dropped.  It also was one of the first ones to incorporate David Miller's work on the Niagara chipset.
09:15   jbailey For Dapper, Sparc was promoted to being a primary architecture, is mirrored and has full commercial support by Canonical now.
09:15   jbailey So again, although Fabio did the initial port work for this, support for it has spread out a bit beyond him.
09:15   jbailey Not much, as commodity Sparc hardware can be a bit harder to get.
09:15   jbailey Some universities have extras, though, that they don't mind students playing with.
09:16   jbailey == Fabio Massimo di Nitto ==
09:16   jbailey Fabionne is our Italian Stalion.
09:16   jbailey = Community =
09:16   jbailey So, umm.  What's the point, you ask?
09:16   jbailey Anyone?
09:16   jbailey Excellent!
09:17   jbailey (sometimes you have to be your own plant)
09:17   jbailey The point is that Ubuntu is a community distribution, of which Canonical happens to be the primary sponsor.  Under the guidance of the
09:17   jbailey Technical Board, the Community Council, and of course the SABDFL,  community members are free to promote their own ideas within Ubuntu
09:17   jbailey and have grown and changed Ubuntu in great ways.  The laptop testing program was largely community driven, usplash, and the xen kernels.
09:17   jbailey The documentation team, artwork, translations are all community driven.
09:17   jbailey The ports architectures are where community folks can get involved with their favourited hobby systems.  Most of the world is running
09:17   jbailey Ubuntu on ia32-based systems.  But let's say you wanted to put Ubuntu on your Linksys or Palm Pilot rather than openwrt?  A port is one
09:17   jbailey of the places you could start.
09:18   jbailey Even in general, if we look back at what Linus promoted Linux as in the first place.
09:18   jbailey I don't have the quote handy, but wasn't it something like when men were men,
09:18   jbailey sheep were men,
09:18   jbailey and device drivers were running scared?
09:19   jbailey Yes, please do ask questions as we go.
09:19   jbailey About half of the talk so far is scripted, and have is typed.
09:19   jbailey So it's easy to inerrupt. =)

<ma1kel> How do you get support if want/are starting a port for ubuntu?

09:20   jbailey = How to start one =
09:20   jbailey The first thing you'll want is:
09:20   jbailey == People ==
09:20   jbailey * Kernel
09:20   jbailey * Toolchain
09:20   jbailey * X
09:20   jbailey * Porters
09:20   jbailey * Community
09:21   jbailey Part of the trick is that when building a port, you need to make sure you have the skills available to you to make it happen.
09:21   jbailey Surprisingly, these are not as hard to come by as it seems.
09:21   jbailey On the kernel side, upstream folks are often willing to back you up, and in many cases may be running Ubuntu on their primary machines.
09:22   jbailey When I say toolchain, I generally mean compiler, debugger, linker, and associated tools.
09:22   jbailey This actually tends to be the area where it's harder to find people.
09:22   jbailey Just that GCC moves so quickly that it can be harder for community folks to keep up.
09:22   jbailey We have a couple things going for us here.
09:22   jbailey (ppc question queued up)
09:23   jbailey One is, of course, the Debian support.
09:23   jbailey The other is that if it actually builds, there's probably someone who cares about it.
09:23   jbailey The trick is getting those people integrated into the Ubuntu community such that if there are specific things that need doing, that they get into Ubuntu's gcc, glibc, etc.
09:24   jbailey X of course depends on whether you need graphics at all.
09:24   jbailey The porters are the folks who will go through and beat on softare until it actually works.
09:25   jbailey If we take an example from hppa for instance.
09:25   jbailey Every other architecture out there by default initialises it's locks to zero.
09:25   jbailey So, let's say you forget to do a pthread_init.
09:25   jbailey But you've made the variable either a class member, or global.
09:25   jbailey So it's initialised to zero by default.
09:26   jbailey On every other architecture, that will essentially be an initialised lock by accident.
09:26   jbailey On hppa, 0 is locked, 1 is unlocked.
09:26   jbailey So you'll deadlock right at startup.
09:26   jbailey That's a simple example, but it's the type of things that porters have to take care of.
09:26   jbailey Not only in the distro, but struggling to get the patches for these things accepted upstream.
09:27   jbailey Many upstreams take some convincing that just because it works for them doesn't mean it's a bug.
09:27   jbailey And ultimately, you want a reaonsably strong community.
09:27   jbailey (I guess that was the upstream contigeant leaving?)
09:27   jbailey =)
09:27   jbailey The community are the people who are going to give you feedback.
09:28   jbailey It's amazing how nice it is to see people using it, filing bugs and knowing that the work you're doing there is useful to someone.
09:28   jbailey The next thing you'll want is equipment and/or emulators.
09:28   jbailey Although right now all of the ports are built on standard hardware.
09:29   jbailey I'd like to see us begin to look at using QEMU for small systems that will never really get into the multi-gigahertz range of speed.
09:29   jbailey Without proof so far, I believe that a nice dual 4ghz machine running qemu ought to be able to out-perform your Nokia 770 for building things. =)
09:29   jbailey Building a distro from scratch isn't hard, but it does require patience.
09:30   jbailey And it's an undocumented process.
09:30   jbailey For this, it's probably useful to enlist a core-dev.

<ma1kel> What kind of systems are you thinking about?

<sid> Sparc isn't that popular...comparatively to other architectures. How did Sparc get such good support from Canonical/Ubuntu, did Sun pay Canonical? If not, how does Canonical benefit?(where they wouldn't benefit from supporting another architecture)

<samgee> Don't you always need the real hardware because of possible bugs in qemu?

09:38   jbailey More on the how to start a port:
09:38   jbailey Once you have the thing up and running and working with 5 or 10 of your closest friends, you'll need a place to publish this.
09:38   jbailey This, I think, is the riskest step for a new port.
09:38   jbailey As someone who's had his DSL slashdotted twice,
09:39   jbailey once for running a hurd-based webserver there.
09:39   jbailey once for having  an supposedly non-disclosed Hurd archive there.
09:39   jbailey *sigh*
09:39   jbailey You need a place where you can put it that, if it *does* turn out to be popular won't keep you from putting it up.
09:39   jbailey or from using your line.
09:40   jbailey For those curious: No, slashdot doesn't tell the admins of a site before they get posted.

<samgee> Can it be a problem that an emulator is slower than the real thing

[ma1kel] is there anyone working on an ubuntu for mobile phones?

<sid> What is the relationship like between Debian GNU/Linux and Ubuntu Linux-based operating system with regards to PORTs, ie if someone wants Ubuntu on their arm device(ma1kel's cellphone), should they start porting Ubuntu..or just use Debian since their arm branch is already active and kicking?

09:49   jbailey I see we're close to the end, so probably best to dive in to PPC in general.
09:49   jbailey Earlier on:
09:49   jbailey <sid> QUESTION: Is PowerPC no longer and official build for Ubuntu?
09:49   jbailey <ma1kel> QUESTION: Ubuntu and PS3?
09:49   jbailey At this time, ppc is still an official build for Ubuntu.
09:50   jbailey A spec was raised at the Ubuntu Development summit in Mountain View, California with the proposal to drop support for the PowerPC architecture.
09:50   jbailey That is to say, move it to being a community supported architecture.
09:50   jbailey This is based on a few things:
09:50   jbailey 1) Low community participation in powerpc.
09:50   jbailey - Few install reports during the development cycle.
09:51   jbailey - Few people jumping up to look at bugs on the port, such as the R300 crashes.
09:51   jbailey 2) Low download rates.
09:51   jbailey - I don't have the numbers handy, but as a total percentage of people downloading it, ppc has fallen to half what it was a year ago.
09:51   jbailey 3) Difficulty in obtaining new hardware.
09:52   jbailey - PowerPC is certainly a strong and viable architecture, but with Apple not producing desktop boxes anymore, there will be fewer systems out there in developers hands.
09:53   jbailey - New embedded systems tend to be mips and arm, rather than ppc.  Unless you happen to be porting to a Cisco Router. =)
09:53   jbailey The spec isn't finalised, and is sort of in a limbo stage right now.
09:53   jbailey I don't know off hand which way the decision will go.
09:53   jbailey But the Sony Play Station 3 uses a variant of the Ppc chip known as the Cell processor.
09:53   jbailey For those who don't know, the cell processor is amazing pile of crack just waiting to be smoked.
09:54   jbailey You have a ppc main chip, and I think 8 DSPs on board.
09:54   jbailey So the main chip can copy things into private address space for the DSPs to deal with and return values.
09:54   jbailey It's an interesting hack in that the DSPs don't speak powerpc assmebly.
09:54   jbailey And the DSPs also don't have access to main ram, or the cache.
09:54   jbailey Anything going to them has to be fed in explicitely and written to work there.
09:55   jbailey So that's a possibility.
09:55   jbailey PS3 systems are *expensive* and also not a sure thing.
09:56   jbailey I know that they're shipping now, but it's not clear how a Linux community is going to take to them.
09:56   jbailey At this point, I haven't seen anyone saying "I want to port Ubuntu to this thing"
09:56   jbailey I suspect the people willing to wait in line for it weren't waiting so that they could format it and not play their games, y'know what I mean? =)
09:56   jbailey that said, what do I think of ppc as a community arch?
09:57   jbailey I think that it will certainly fair well for at least the short term if it goes that way.
09:57   jbailey I still do much of the heavy lifting on glibc, for instance, and my main system is a ppc box.
09:57   jbailey I know that several of the core-devs still are using their PPC laptops.
09:57   jbailey But inevitably, these will all get replaced with newer and faster systems over the next few years.
09:58   jbailey So if manufacturers don't produce something that devs want to use as their primary system, usage will eventually dwindle.

<sid> Which is more popular with regards to downloads and participation(hacking) on Ubuntu sparc or powerpc?

09:59   jbailey Quickly, the last three steps in becoming a port:
09:59   jbailey Once you have a public archive, you need to start talking to the tech board.
09:59   jbailey Some of it, is that you'll want to start using malone for bug tracking.
09:59   jbailey And eventually move towards using Launchpad for your buildds.
10:00   jbailey That way your packages and versions will be reported correctly in Soyuz.
10:00   jbailey Launchpad is currently not completely setup for dealing with architectures hosted outside of the CAnonical data centre.
10:00   jbailey But it's certainly in the model.
10:00   jbailey So how it works at that point may vary by the time you get there.

<ma1kel> Which architectures do you think will grow more popular and what is Ubuntu currently ported to? (architectures)

<LKRaider> other than porting the kernel and toolchain, is it not expected that all the packages on main work with a port?

<ma1kel> Can I see Ubuntu on my toothbrush anywhere soon in the future? :)

<linuxboy_> What are the difference between i386 and i486 ? instructions ?

<sid> To add to linuxboy_'s question 386/486/586/686...all those packages seem to work on my system...not sure what the differences are between them.(which kernel/packages should one chose when there are 386/486/586/686 stuff listed)

<ma1kel> You said you guys have a problem with wireless cards, do you think that there are gonna be the same sort of problems with other things in the future?

<sid> What is your favorite low power architecture(embeded?), what is your favorite high power architecture(for a desktop)? Would you chose a different one for a server? What is your favorite to hack on? Should we support Sparc since they did an awesome thing and made most of their CPU specifications *GPL?

<sid> Comparing Sparc and Itanium...what are the restrictions legally? As far as making an emulator say..or forking and making your own chip(hypothetically, I imagine it costs milllions of dollars) you can fork Sparc(there is a company that is doing that, since it's GPL'd. But can you do the same with Itanium? what are big legal differences between Itanium and Sparc..do you have more freedom with Sparc(as far as ""trusted computing"", or what I call treacherous computing since you can just control your chip fully with sparc.

<sid> What do you think about the movement of ""trusted computing"" and the involvement of the MPAA/RIAA and Microsoft wanting to control users, do you think they will suceed? Does this scare you? Any technology can be used for good or evil, what good/evil do you see in some of these technologies like a TPM module

[sid] You know about open graphics project and how they're going to make a graphics chip that the whole specification is GPL'd and it will basically be a community designed chipset..you think the same thing is feasible/possible with a cpu?

10:25   jbailey ... I'd like to take a moment to thank everyone for participating in Ubuntu Open Wekk.
10:25   jbailey I've heard really positive reports from the other people leading sessions.
10:25   jbailey If you have any further questions for me, I can be reached at jbailey@ubuntu.com
10:26   jbailey Oh!  One more questions. =) 

MeetingLogs/openweekedgy/Ports (last edited 2008-08-06 16:21:30 by localhost)