Download presentation
Presentation is loading. Please wait.
Published byRobert McDaniel Modified over 8 years ago
1
Ubuntu Kernel Pete Graner Ubuntu Kernel Team Manager Ubuntu Hardware Summit 2010
2
2 Agenda What is Ubuntu? Who is Canonical? Ubuntu Platform Team Ubuntu Kernel Team Ubuntu Kernel Development Process Questions
3
3 Who am I? Started in the US Army hacking on Linux in the early 90's Worked for Sun, Red Hat, HP... While at Red Hat was responsible for SELinux, & managed the Base OS team & Sustaining Engineering Teams Joined Canonical in 2008, currently Managing the Ubuntu Kernel Team
4
4 What is Ubuntu?
5
5 Why is Ubuntu here? To deliver in Ubuntu the world's best free software platform Freshness Community Freedom Availability Integration Innovation Quality Ease of use
6
6 What is Ubuntu? Ubuntu brings together the world's best free and open source software onto a common platform Server Netbook Desktop ARM
7
7 Who is Canonical?
8
8 Canonical is the commercial sponsor of Ubuntu Canonical's mission is to realise the potential of free software in the lives of individuals and organisations We achieve our mission by: – delivering Ubuntu, the world's best free software platform – ensuring its availability to everyone – supporting it with high quality professional service and engineering offerings – facilitating the continued growth and development of the free software community
9
9 Ubuntu Platform Team
10
10 Ubuntu Platform - Responsibilities The bulk of all Ubuntu engineering, including development of the desktop, server and ARM editions Policies and procedures for Ubuntu, including the Ubuntu release process and the organization of the Ubuntu community Being a technical resource for Canonical, including tier-3 support escalations and undertaking specialized development projects Providing maintenance services for Ubuntu For more information on specific technical responsibilities within the team, see: – https://wiki.ubuntu.com/DeveloperResponsibilities
11
11 Ubuntu Platform Team Comprised of 7 individual teams – Kernel – Foundations – Desktop – Server – ARM – QA – Community
12
12 Ubuntu Kernel Team
13
13 Kernel Team Consists of 3 distinct sub-teams: 1. Platform – Canonical paid employees Produces the Ubuntu Linux Kernel Enables reference platforms & devices 2. Hardware Enablement – Canonical paid employees Enables device specific enablement Mostly contract work for partners, OEMs & ODMs 3. Community Contributors Upstream Developers Partners, ODM & OEM Community Volunteers
14
14 Canonical Kernel Team - Locations 20+ Team Members located globally across 7 countries ( Finland, US, UK, Germany, Taiwan, China, Australia)
15
15 Kernel Team Responsibilities ● Develop in an open model, in collaboration with community and upstream. ● Enable a wide range of hardware ● Maintenance of the Linux Kernel for Ubuntu on supported architectures ● Development standards & collaborative development support for the Ubuntu kernel tree ● Care and feeding of: Kernel git tree, Ubuntu kernel-team mailing list, Bug Policies, Documentation ● Automated Vanilla Linux Kernel Builds and packaging ● Selection of the Linux Kernel Version for Ubuntu Releases ● Serve as the interface to the Linux Kernel Upstream ● Conduct weekly public Ubuntu Kernel Team IRC meetings ● Ubuntu Kernel Roadmaps for new releases ● Develop & conduct Kernel tracks at the Ubuntu Developer Summit (UDS)
16
16 Kernel Team Communications IRC – Freenode #ubuntu-kernel Mailing List – kernel-team@lists.ubuntu.com Weekly IRC Team Meeting: 1700 UTC, Tuesdays on FreeNode in #ubuntu-meeting
17
17 What Makes the Ubuntu Kernel Different? Ubuntu does carry a delta from Linus' tree Differences are referred to as “Sauce” patches. Examples: – Distro integration patches – Hardware “quirks” – Backports of newer upstream drivers/patches for problematic hardware – Subsystems: Yama, AUFS etc... All changes from mainline can be found in the Ubuntu Kernel Tree under the /ubuntu directory Details on the Maverick Delta can be found at: https://wiki.ubuntu.com/KernelTeam/UbuntuDelta/Maverick
18
18 Stable Release Updates... What goes into Stable Release Updates (SRU)? – Long Term Support (LTS) Releases: Hardware Enablement Critical Bug & Security Fixes – Non LTS Releases: Critical Bug Fixes Security Fixes The SRU release schedule is quarterly with the exception of security releases which take precedent and may affect the schedule
19
19 How the Ubuntu Kernel Team Operates Operates as close as possible to upstream – Mailing list operation – Patch review – Patch submission – Technical discussion – Public git repository http://kernel.ubuntu.com/git
20
20 Upstream Vanilla Kernel Builds Upstream Mainline Builds are – Pure upstream kernel source with: Ubuntu Configs No Sauce patches No supporting packages (LBM, LUM, LRM) – Great for testing & bug fix validation Upstream Mainline Builds are not: – Supported – Bugs should be filed against upstream not in Launchpad
21
21 Kernel Development Process
22
22 Kernel Dev Process – Kernel Release Mgr. Every release has an assigned owner, the Kernel Release Manager (KRM) Responsible for ensuring delivery of a Kernel in time for each milestone and final release The KRM is a rotational position within the Kernel Team The KRM is responsible for release planning and reporting
23
23 Kernel Dev Process – The Beginning Kernel is started at about kernel freeze – Create a new repository from the release branch – We usually do not yet know the release code name – Publishing in new kernel in a development PPA Parallel development – Development of the new kernel proceeds in parallel stabilisation work – Creates opportunity for skew and loss of patches – Tagging the fork point and tag the latest sync point to minimise the risk.
24
24 Ubuntu Kernel Development Alpha 3Beta Release Candidate Release Kernel Freeze Start of New Release Alpha 1Alpha 2Alpha 3Beta Previous Release Git Repo Opens Next Release
25
25 Kernel Dev Process – Populating the Tree Ubuntu current delta review and clean up – Fold down of the debian delta – Fold down of the Ubuntu delta and drivers Pulling the Ubuntu delta up to the latest kernel – Final kernel version is not decided at this point – Iteratively Pulling patches up to each -rcN release – Dropping patches already in upstream – Note: rebase tree – is owned by the KRM (one owner) Updating the configuration – Selecting values for new options
26
26 Kernel Dev Process - UDS Pre Ubuntu Developer Summit (UDS) – Selecting broad topics – Getting blueprints & specifications created UDS – Selecting Kernel Version – Selecting final kernel config options – Delta Patch Review: https://wiki.ubuntu.com/KernelTeam/UbuntuDelta/Mave rick – Recording discussions and decisions Post UDS – Ensuring specifications are updated – Defining work items and other detail Release Reporting – https://wiki.ubuntu.com/KernelTeam/ReleaseStatus/Maverick
27
27 Kernel Dev Process – Routine Work Ongoing updates to the each mainline release – Pulling the delta up to each -rcN and mainline release up to the chose release Updates based on UDS discussions – Selection of upstream features – enabling/disabling various options as needed Pulling in new in-house development – As a service team we are there to provide development support for other teams – As new features are completed those must be pulled in and uploaded for testing
28
28 Kernel Dev Process – Final Kernel Version Once we reach the chosen final kernel version we start to follow the that kernel's stable branch – This typically only occurs just before kernel freeze, for an LTS this is much earlier – Kernel management starts to mirror released kernel process (aka SRU Process) – Generally we simply cherry-pick stable update patches into the branch
29
29 Kernel Dev Process - Freezes Alpha/Beta Milestone Freezes – On the Tuesday of a milestone the archive is frozen – The kernel for the milestone must be built and in the archive by then – Kernel Freezes the Thurs. prior Kernel Freeze – Kernel freezes is about a month before general freeze – Allows time for consumers to consolidate and test
30
30 Kernel Dev Process - Uploads During our Dev Cycle we try and upload a new kernel weekly – In step with -rc release cycle – Maximises bisectability Kernels are generated from the git repository – http://kernel.ubuntu.com/git ubuntu/ubuntu- http://kernel.ubuntu.com/git – Make sure it is nice and clean Announcements – As with all uploads announcements are sent to the stake holders & the Kernel Team Mailing list
31
31 Questions / Contact Info Pete Graner IRC – Freenode #ubuntu-kernel Mailing List – kernel-team@lists.ubuntu.com
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.