DebianUbuntuSprint
9842
Comment:
|
20128
Added raw notes from sprint
|
Deletions are marked like this. | Additions are marked like this. |
Line 122: | Line 122: |
* sysvinit-upstart relationship drawing: [[attachment:whiteboard01.pdf]] | === Notes to consider when transitioning Debian to use upstart === * Preconditions for /sbin/init as upstart: * /etc/inittab backwards-compatibility support * should reuse the existing inittab conversion script to spit out jobs to a tmp dir that upstart reads from * inotify watch /etc/inittab, generate event when it changes and hook up an upstart job to run the conversion script * sysv-rc support for upstart jobs (/lib/init/upstart-job) * dh_installupstart * update-rc.d, invoke-rc.d implementation that can DTRT with upstart jobs * a soft migration in Debian will be more easily accepted * could have upstart read /etc/init.d/* as a directory of conf files in a different "format" and parse the LSB headers * LSB expressed interest in this approach * could have a "translator" app, e.g. run-upstart-server, to allow sysvinit to execute /etc/init/*.conf files * What we do with the FreeBSD port? * Get upstart working with BSD implement upstart job compat with sysvinit * upstart/sysvinit bi-directional dependency handling === transition from sysvinit to upstart === sysvinit-upstart relationship drawing: [[attachment:whiteboard01.pdf]] * /lib/init/upstart-job is either: * (sysvinit installed) a helper utility built from upstart source that provides a wrapper for running the named upstart service as if it were an init script * (upstart installed) a helper utility that will warn the user about using /etc/init.d/$JOB and run 'service $JOB start' instead * upstart-job needs an option to spit out the LSB headers to feed them to things like insserv * insserv needs to check, if /etc/init.d/foo is a symlink to /lib/init/upstart-job and in that case call the init script with the right option to get LSB header and not directly parse the file (proposed option name: '/lib/init/upstart-job <service basename> lsb-header') * dh_installupstart to autogenerate an init script symlink shipped in the package * Add dependency on upstart-job to misc:Depends * Generate symlink /etc/init.d/foo -> /lib/init/upstart-job * need to run the dh_installupstart design past joeyh early * upstart-job is provided by a package that provides virtual package (prob. upstart-job), this can be upstart or sysv-compat-upstart depending which version is required * upstart-job must be buildable on all architectures and should be part of the upstart source package. For architectures where upstart currently fails to builds (like kfreebsd/hurd), it should be possible to disable compilation. * /lib/init/upstart-job should have no dependencies on anything in /usr, should be possible to be implemented in shell, but preferably implemented in C for speed reasons. * packages shipping upstart job files must depend on this virtual package (handled by the debhelper script) === /etc/inittab support === * runs between rcS and rc2 * based on existing migration script * copies from /etc/event.d (... /etc/init?) to /lib/init/rw/event.d and rewrites * adds new files to /lib/init/rw/event.d * upstart reads the latter directory via inotify * need signal that instructs upstart to re-run that script (init q) === Reviewed of Debian unstable bootchart === * [NEED LINK TO BOOTCHART] * hwclock & hwclock.sh....why? * why is modprobe slow in the initramfs? * x-session starting about 4 secs after Xorg (gdm bug) * need to install a '''newer''' version of readahead * current readahead has problems which cause boot failure under certain circumstances * using sreadahead would provide an improvement on SSDs * loadcpufreq possibly not needed with some kernel tuning === service command === * initial implementation available in Ubuntu, implements the traditional start/stop/status commands * bug filed in Debian: #534300 * the service script should be a common implementation in sysvinit-utils, the common Essential: yes package * one backend implementation for each rc system (sysv-rc, file-rc, insserv, and upstart), via update-rc.d * spec out the interface first, then migrate functionality into the rc system packages * documentation for {{{update-rc.d}}} (policy, manpages) should be explicit that these interfaces are internal to {{{service}}}, and are '''not''' meant for use by maintainer scripts (... nor users) * http://lists.debian.org/debian-devel/2009/04/msg00017.html * enable|disable feature - if provided at update-rc.d layer we need to ensure sysvinit-utils depend on versions of packages which provide update-rc.d with enable|disable feature (Provides?) * uncertainty and doubt whether update-rc.d is correct layer to contain the disable|enable implementations * can reuse existing code within update-rc.d * update-rc.d should not become more appealing to users - it is not intended for them to use. Adding this functionality does just that however ... * need to define new interfaces in policy? ==== service backend / update-rc.d extensions ==== Requirements: 1. Enable/disable service (user-facing)<<BR>> [2345]/Sxx <-> [2345]/K(100-xx) 2. Remove link (usually 0/6, but not always) (maintainer script)<<BR>> R/[SK]xx -> null 3. Add link, e.g. due to bugs such as copying RH runlevel setup (maintainer script)<<BR>> null -> R/[SK]xx 4. Move link in sequence (maintainer script)<<BR>> R/[SK]xx -> R/[SK]yy (atomic) 5. Move link between runlevels (maintainer script)<<BR>> X/Sxx -> Y/Syy (atomic) ==== update-rc.d syntax ==== Explored several possibilities for update-rc.d syntax to edit links: general idea is that you have one correct current state, but also some previous valid states which should be considered as package-generated rather than user-configured {{{ update-rc.d service start 80 S . was start 99 2 3 4 5 . if dpkg --compare-versions "$2" lt blah; then PREV='was start 99 2 3 4 5 .' fi update-rc.d start 80 S . $PREV update-rc.d service start 30 2 3 4 5 . if dpkg --compare-versions "$2" lt blah; then update-rc.d service replace start 20 2 3 4 5 . 30 2 3 4 5 . fi }}} * Difficult case is when you have multiple logically-distinct changes; e.g. pcmciautils wants to remove 0 and 6 links (teardown), and, independently, move rcS.d/S40 to rcS.d/S13 (Ubuntu boot ordering) * Petter suggests a `replace` command which can express a change rather than a previous state * Useful to have dh_installinit deal with version check generation, so that no maintainer script code needs to be written by hand ==== Actions required by service backend ==== * enable (service should run automatically from now on) * disable (service should not run automatically from now on) * query (output representation of current state of service) * start (start service immediately, regardless of policy) * stop (stop service immediately, regardless of policy) * status (enquire whether service is currently running, as in `/etc/init.d/service status`) * list-services (list all service names) `/usr/lib/service/backend` as interface name Petter wants to avoid races between multiple diversions (possible solution: symlink, though this means that everything ends up in update-rc.d which would encourage people to use it; may be partially soluble with good documentation) === Debian sysvinit todo list === * revert mtab -> /proc/mounts symlink patch => requires further discussion. It seems to break things currently. * fsck should run even if on_ac_power #526398 * devpts in mountvirtfs.sh -> non-udev case? need to check * move startpar to sysvinit-utils * contact openSuSE boot people to find out if they have plans to move away from sysvinit[?] * cleanup debian/rules, debian/patches/* anyone? * move from dpatch -> quilt, conform with new package format standards (eg. do not patch ./debian/* !) * use a bit of debhelper in debian/rules === Bootchart === * Scott has written a new bootchart which is more featureful, we should consider adopting it * currently packaged bootchart is dead upstream * currently packaged bootchart does not collect information from kernel/initramfs phase * split source packages ? ubuntu have bootchart (the collector), bootchart-java (the java chart 'renderer' that is currently in Debian) * contact current bootchart Debian maintainer and let him know about Scott's new work [kel] * need to reliably test and record boot performance on Debian [kel] * kel will need hardware for this work [robbie] === Dash as /bin/sh === * communicate to users of Debian why using dash as /bin/sh is a good thing. Ubuntu stuff => https://wiki.ubuntu.com/DashAsBinSh * raphael has done much work in Debian to make it possible for squeeze, contact him about his current opinion in regards to making it a default === insserv in Ubuntu to validate LSB-header-declared dependencies? === {{{ <cjwatson@sarantium ~>$ /usr/share/insserv/check-initd-order error: Unable to read /etc/rc2.d/S81update-motd at /usr/share/insserv/check-initd-order line 373. LSB header missing in /etc/rcS.d/S07linux-restricted-modules-common Incorrect order checkroot@20 > /etc/rcS.d/S15module-init-tools15 LSB header missing in /etc/rc2.d/S10powernowd.early Incorrect order avahi@50 > /etc/rc2.d/S28libvirt-bin28 LSB header missing in /etc/rc2.d/S30gdm error: Unable to read /etc/rc2.d/S81update-motd at /usr/share/insserv/check-initd-order line 373. LSB header missing in /etc/rc2.d/S81update-motd LSB header missing in /etc/rc2.d/S99acpi-support <cjwatson@sarantium ~>$ /usr/share/insserv/check-initd-order -k LSB header missing in /etc/rc6.d/K01gdm }}} * checkroot/module-init-tools: looks like a bug in module-init-tools saying Should-Start: checkroot * avahi/libvirt-bin: libvirt-bin needs avahi, started at wrong point? Dependency graph: {{{/usr/share/insserv/check-initd-order -g | dot -Tpdf > init.pdf}}} LSB headers but no dependencies: kvm ([[https://bugs.launchpad.net/ubuntu/+source/kvm/+bug/391121|Ubuntu #391121]]), apparmor === Communication Plan === * Send a summary out to ubuntu-devel[robbie] and debian-devel about this meeting and the outcomes * Provide the reasons WHY we care about boot performance [scott] * Highlight the reasons (not just bootspeed) why switching to upstart is a *good* thing (e.g. reliability, coping with an async kernel) |
What
Debian/Ubuntu Boot Performance Sprint
Where
Canonical's Millbank Office, London, UK
Getting to the Building
27th Floor, Millbank Tower
21-24 Millbank
London
SW1P 4QP
Tel: +44 (0)20 7630 2400
Getting Inside
Visitors will need to tell reception in the main lobby that they are visiting Canonical. Once confirmed, you will be asked to sign in and issued a visitor badge, which you must carry with you.
Meeting room
Atacama meeting room has been booked from 9am-6pm, Mon & Tue
- Access to meeting room- from 8:30am onwards
- Lunch - 12.30-13.30
- Meeting to close @ 6pm
When
Monday & Tuesday, June 22/23, 2009
- 9am - 6pm
Why
Investigate creating a joint Ubuntu-Debian team to look into how both distributions can work together to improve boot performance.
Who
Name |
Arrival Date/Time |
Arrival Airline/Train# |
Departure Date/Time |
Departure Airline/Train# |
06/22 9am-ish |
train from Cambridge |
06/23 7pm-ish |
train to Cambridge |
|
nil |
Jubilee/Victoria Tube from NW2 |
nil |
nil |
|
06/21 12:26 |
Eurostar |
06/24 12:57 |
Eurostar |
|
21Jun 12:45pm |
BA 919 |
24Jun 20:05pm |
BA 922 |
|
|
|
|
|
|
06/21 9:30am |
Virgin Atlantic 10 |
06/26 9:30am |
Virgin Atlantic 3 |
|
21Jun 18:36pm |
train from Birmingham |
25Jun 10:23am |
train to Birmingham |
|
21Jun 10:15am |
CO110 |
24Jun 12:05 |
CO111 |
Accommodation
Directions to Park Plaza Riverbank
Google Map to Park Plaza Riverbank
From London Gatwick (40m)
- From Arrivals, head towards signs for the Train station
- Don't be fooled by the Gatwick Express signs, it's not that much faster and is much more expensive.
- Take a Southern train to Victoria. (35 min)
- Once at Victoria, follow signs for the London Underground.
- Take a southbound Victoria Line train heading for "Brixton" (5m)
- Leave the underground at Vauxhall, follow directions below
From London Heathrow
For a door to door ride (the time of day directly effects length of ride) use dot2dot. Reported to have on-board WiFi.
They have counters next to the auto rental counters in terminals 1,3,4, &5. At terminal 2 go to the information desk in arrivals
Current price as of 29 Oct 2008 was £16 one way Heathrow to downtown London and drop you at the door of the Park Plaza Riverbank or the office. This may be a special price for the month of October, regular price is £20. Discounts if more then one person in group. All pre-booked customers are guaranteed a place and we will have you on your way within 20 minutes* of checking in for your Dot2Dot service, so it might be worth booking on the web site before trip.They will pick up downtown and take you to the airport too.
According to the driver available 24 hours a day. dot2dot
From London Heathrow (45m)
- From Arrivals, head towards signs for the London Underground
- Take an eastbound Piccadilly Line train heading for "Cockfosters" (30min)
- Change at Green Park for a southbound Victoria Line train heading for "Brixton" (5m)
- Leave the underground at Vauxhall, follow directions below
From Vauxhall Station
- Walk north along Albert Embankment (5-10 min)
- Hotel is on the right hand side of the road.
Meals
- Breakfast is included at the hotel
- Lunch in the Office (unless specified differently)
- Dinner - free to make your own plans. The per diem for dinner is £18.
Places to eat
Name |
Address |
Type of Cuisine |
Price |
Hours |
Distance (walking) |
Pizza Express |
Millbank Center |
Italian |
Average £15 |
Mon-Sun 12pm-11pm |
2 min |
The Morpeth Arms |
58 Millbank, |
Pub Food |
Average Price: £10 |
Daily 10:30-23:00 |
10 min |
The English Maid |
Albert Embankment London, SE1 |
Pub Food |
lunch dinner Average Price: £10 |
Daily 11:00-01:00 |
7 min |
City Cafe |
Enter via Thorney St (behind Pizza Express) |
Modern European |
2-course set lunch £10, a la carte dinner more expensive |
Mon- Sat 7am-10.30pm / Sun 7am-10pm |
5 min |
Rex Whistler Restaurant at Tate Britain |
Tate Britain, Millbank, SW1P 4RG |
Modern European |
Main courses £15-£20 |
Mon-Sun 10am-5.30pm |
5 min |
Goya |
4 Lupus Street, SW1V 3EB |
Spanish |
Main courses £10-£16 |
Mon-Sat 12pm-12am / Sun 12pm-11.30pm |
8 min |
The Atrium |
4 Millbank, SW1P 3JA |
International |
Main Courses £9.95-£19.75 / 2 courses menu £17.95 |
Mon-Fri 12pm-3pm / 6pm-11pm |
8 min |
Quirinale North Court |
1 Great Peter Street SW1P 3LL<<BR>Tel. +44 20 7222 7080 www.quirinale.co.uk |
Italian |
Main Courses £12.50-£19 |
Mon-Fri 12pm - 2.30 pm / 6pm - 10.30pm |
8 min |
Queen's Arms |
11 Warwich Way, Pimlico, SW1V 1QT www.thequeensarmspimlico.co.uk |
Pub Food |
Average Meal £8-£10 |
Mon-Sat 12pm-11pm / Sun 12pm-10.30pm |
8 min |
Kazan |
93-94 Wilton Road, SW1V 1DW |
Turkish |
Main courses £9.95-£17 / 2 courses menu £9.99-£14.95 |
Tues-Sat 12pm-10:45pm/ Sun-Mon 12pm-10:30pm |
10 min |
DimT |
56 – 62 Wilton Road Victoria London, SW1V 1DE |
Asian Fusion |
Main courses £8-£10 |
Mon-Sun 12pm-11.30pm |
10 min |
Vincent Rooms |
Victoria Centre, Vincent Square, SW1P 2PD |
Modern European |
Main courses £7.25-£10.50 / 3 courses menu (incl coffee) £22.50 |
Mon-Fri 12pm-2pm / 6pm-9pm |
10 min |
Atami |
37 Monck Street, SW1P 2BL |
Japanese |
Main courses £12.50-£21.50 / Set lunch £8.50-£18 |
Mon-Fri 12pm-3pm & 5:30pm-11pm / Sat 5:30pm-11pm |
10 min |
Grumbles |
35 Churton Street, Pimlico, London SW1V 2LT |
Bistro |
Main courses £8-£16 |
Mon-Sat 12pm-10.45pm / Sun 12pm-10.30pm |
10 min |
Coriander |
332 Kennington Lane Vauxhall, London SE11 5HY www.thecoriander.com |
Indian |
Main courses £7 |
Mon-Sat 12pm-2.30pm / 5.30pm-11pm / Sun 1pm-11pm |
10 min |
Caramel |
77 Wilton Rd Victoria, London SW1V 1 |
Turkish |
Main courses £20 |
Tue-Sat 9am-11pm |
10 min |
Cinnamon Club |
The Old Westminster Library 30-32 Great Smith Street, SW1P 3BU |
Indian |
Main courses £11-£29 / 2 courses set menu £19 / 3 courses set menu £22 |
Mon-Fri 7.30am-9.30am & 12pm-2.30pm & 6pm-10.45pm / Sat 6pm-10.45pm |
15 min |
Bank Westminster |
45 Buckingham Gate, SW1E 6BS |
Modern European |
Main courses £10.50-£30 |
Mon-Fri 12pm-3pm & 5.30pm-10.30pm Sat 5.30pm-10.30pm |
15 min |
Contented Vine |
17 Sussex Street SW1V 4RR |
Bistro Brasserie |
2 courses set menu £11.50 / 3 courses set menu £14.50 |
Mon 5.30pm-10.30pm / Tue-Fri 12pm-3pm & 5pm-10.30pm / Sat-Sun 10am-10pm |
15 min |
Cafe Madeira |
# 46A-46B Albert Embankment, Vauxhall, SE1 7TN |
Portuguese |
Average £5 |
Mon-Sun 6am-9pm |
16 min |
Hot Stuff |
19 Wilcox Rd, London, SW8 2XA |
Indian |
£5-£10 |
Mon-Fri 12pm-10pm / Sat 3pm-10pm (booking essential, no parties > 10) |
15-20 min |
Bar Estrela |
111-115 South Lambeth Road, London, SW8 1UZ - 020 7793 1051 |
Portuguese Tapas |
£5-£10 |
Usual |
15-20 min |
Rebato's |
169 South Lambeth Rd, London, SW8 1XW - 020 75828089 |
Spanish Tapas |
£10-£15 |
Mon-Fri 12-2.30pm/5.30-10.45pm / Sat 7-10.45pm |
15-20 min |
South Bank Centre |
Southbank Centre, Belvedere Road, SE1 8XX, |
Loads to choose |
£5-£30 |
Mon-Sun 9am-11pm |
20-25 min |
Mekong |
46 Churton St, London, SW1V 2LP |
Vietnamese |
£15-£20 |
?? |
?? |
Topics of Discussion
- Current boot speed of Ubuntu and Debian
- Comparison of bootchart data
- Analyze differences
- Future plans for Ubuntu and Debian
- sysvinit
- upstart
- Ways Debian and Ubuntu can leverage each others progress
- Next Steps?
- How to continue communication, i.e. mailing list, wiki page, etc?
Notes
Notes to consider when transitioning Debian to use upstart
- Preconditions for /sbin/init as upstart:
- /etc/inittab backwards-compatibility support
- should reuse the existing inittab conversion script to spit out jobs to a tmp dir that upstart reads from
- inotify watch /etc/inittab, generate event when it changes and hook up an upstart job to run the conversion script
- sysv-rc support for upstart jobs (/lib/init/upstart-job)
- dh_installupstart
- update-rc.d, invoke-rc.d implementation that can DTRT with upstart jobs
- /etc/inittab backwards-compatibility support
- a soft migration in Debian will be more easily accepted
- could have upstart read /etc/init.d/* as a directory of conf files in a different "format" and parse the LSB headers
- LSB expressed interest in this approach
- could have a "translator" app, e.g. run-upstart-server, to allow sysvinit to execute /etc/init/*.conf files
- What we do with the FreeBSD port?
- Get upstart working with BSD implement upstart job compat with sysvinit
- upstart/sysvinit bi-directional dependency handling
transition from sysvinit to upstart
sysvinit-upstart relationship drawing: whiteboard01.pdf
- /lib/init/upstart-job is either:
- (sysvinit installed) a helper utility built from upstart source that provides a wrapper for running the named upstart service as if it were an init script
- (upstart installed) a helper utility that will warn the user about using /etc/init.d/$JOB and run 'service $JOB start' instead
- upstart-job needs an option to spit out the LSB headers to feed them to things like insserv
insserv needs to check, if /etc/init.d/foo is a symlink to /lib/init/upstart-job and in that case call the init script with the right option to get LSB header and not directly parse the file (proposed option name: '/lib/init/upstart-job <service basename> lsb-header')
- dh_installupstart to autogenerate an init script symlink shipped in the package
- Add dependency on upstart-job to misc:Depends
Generate symlink /etc/init.d/foo -> /lib/init/upstart-job
- need to run the dh_installupstart design past joeyh early
- upstart-job is provided by a package that provides virtual package (prob. upstart-job), this can be upstart or sysv-compat-upstart depending which version is required
- upstart-job must be buildable on all architectures and should be part of the upstart source package. For architectures where upstart currently fails to builds (like kfreebsd/hurd), it should be possible to disable compilation.
- /lib/init/upstart-job should have no dependencies on anything in /usr, should be possible to be implemented in shell, but preferably implemented in C for speed reasons.
- packages shipping upstart job files must depend on this virtual package (handled by the debhelper script)
/etc/inittab support
- runs between rcS and rc2
- based on existing migration script
- copies from /etc/event.d (... /etc/init?) to /lib/init/rw/event.d and rewrites
- adds new files to /lib/init/rw/event.d
- upstart reads the latter directory via inotify
- need signal that instructs upstart to re-run that script (init q)
Reviewed of Debian unstable bootchart
- [NEED LINK TO BOOTCHART]
hwclock & hwclock.sh....why?
- why is modprobe slow in the initramfs?
- x-session starting about 4 secs after Xorg (gdm bug)
need to install a newer version of readahead
- current readahead has problems which cause boot failure under certain circumstances
- using sreadahead would provide an improvement on SSDs
- loadcpufreq possibly not needed with some kernel tuning
service command
- initial implementation available in Ubuntu, implements the traditional start/stop/status commands
- bug filed in Debian: #534300
- the service script should be a common implementation in sysvinit-utils, the common Essential: yes package
- one backend implementation for each rc system (sysv-rc, file-rc, insserv, and upstart), via update-rc.d
- spec out the interface first, then migrate functionality into the rc system packages
documentation for update-rc.d (policy, manpages) should be explicit that these interfaces are internal to service, and are not meant for use by maintainer scripts (... nor users)
- enable|disable feature - if provided at update-rc.d layer we need to ensure sysvinit-utils depend on versions of packages which provide update-rc.d with enable|disable feature (Provides?)
- uncertainty and doubt whether update-rc.d is correct layer to contain the disable|enable implementations
- can reuse existing code within update-rc.d
- update-rc.d should not become more appealing to users - it is not intended for them to use. Adding this functionality does just that however ...
- need to define new interfaces in policy?
service backend / update-rc.d extensions
Requirements:
Enable/disable service (user-facing)
[2345]/Sxx <-> [2345]/K(100-xx)
Remove link (usually 0/6, but not always) (maintainer script)
R/[SK]xx -> null
Add link, e.g. due to bugs such as copying RH runlevel setup (maintainer script)
null -> R/[SK]xx
Move link in sequence (maintainer script)
R/[SK]xx -> R/[SK]yy (atomic)
Move link between runlevels (maintainer script)
X/Sxx -> Y/Syy (atomic)
update-rc.d syntax
Explored several possibilities for update-rc.d syntax to edit links: general idea is that you have one correct current state, but also some previous valid states which should be considered as package-generated rather than user-configured
update-rc.d service start 80 S . was start 99 2 3 4 5 . if dpkg --compare-versions "$2" lt blah; then PREV='was start 99 2 3 4 5 .' fi update-rc.d start 80 S . $PREV update-rc.d service start 30 2 3 4 5 . if dpkg --compare-versions "$2" lt blah; then update-rc.d service replace start 20 2 3 4 5 . 30 2 3 4 5 . fi
* Difficult case is when you have multiple logically-distinct changes; e.g. pcmciautils wants to remove 0 and 6 links (teardown), and, independently, move rcS.d/S40 to rcS.d/S13 (Ubuntu boot ordering) * Petter suggests a replace command which can express a change rather than a previous state * Useful to have dh_installinit deal with version check generation, so that no maintainer script code needs to be written by hand
Actions required by service backend
- enable (service should run automatically from now on)
- disable (service should not run automatically from now on)
- query (output representation of current state of service)
- start (start service immediately, regardless of policy)
- stop (stop service immediately, regardless of policy)
status (enquire whether service is currently running, as in /etc/init.d/service status)
- list-services (list all service names)
/usr/lib/service/backend as interface name Petter wants to avoid races between multiple diversions (possible solution: symlink, though this means that everything ends up in update-rc.d which would encourage people to use it; may be partially soluble with good documentation)
Debian sysvinit todo list
revert mtab -> /proc/mounts symlink patch => requires further discussion. It seems to break things currently.
- fsck should run even if on_ac_power #526398
devpts in mountvirtfs.sh -> non-udev case? need to check
- move startpar to sysvinit-utils
- contact openSuSE boot people to find out if they have plans to move away from sysvinit[?]
- cleanup debian/rules, debian/patches/* anyone?
move from dpatch -> quilt, conform with new package format standards (eg. do not patch ./debian/* !)
- use a bit of debhelper in debian/rules
Bootchart
- Scott has written a new bootchart which is more featureful, we should consider adopting it
- currently packaged bootchart is dead upstream
- currently packaged bootchart does not collect information from kernel/initramfs phase
- split source packages ? ubuntu have bootchart (the collector), bootchart-java (the java chart 'renderer' that is currently in Debian)
- contact current bootchart Debian maintainer and let him know about Scott's new work [kel]
- need to reliably test and record boot performance on Debian [kel]
- kel will need hardware for this work [robbie]
Dash as /bin/sh
communicate to users of Debian why using dash as /bin/sh is a good thing. Ubuntu stuff => https://wiki.ubuntu.com/DashAsBinSh
- raphael has done much work in Debian to make it possible for squeeze, contact him about his current opinion in regards to making it a default
insserv in Ubuntu to validate LSB-header-declared dependencies?
<cjwatson@sarantium ~>$ /usr/share/insserv/check-initd-order error: Unable to read /etc/rc2.d/S81update-motd at /usr/share/insserv/check-initd-order line 373. LSB header missing in /etc/rcS.d/S07linux-restricted-modules-common Incorrect order checkroot@20 > /etc/rcS.d/S15module-init-tools15 LSB header missing in /etc/rc2.d/S10powernowd.early Incorrect order avahi@50 > /etc/rc2.d/S28libvirt-bin28 LSB header missing in /etc/rc2.d/S30gdm error: Unable to read /etc/rc2.d/S81update-motd at /usr/share/insserv/check-initd-order line 373. LSB header missing in /etc/rc2.d/S81update-motd LSB header missing in /etc/rc2.d/S99acpi-support <cjwatson@sarantium ~>$ /usr/share/insserv/check-initd-order -k LSB header missing in /etc/rc6.d/K01gdm
- checkroot/module-init-tools: looks like a bug in module-init-tools saying Should-Start: checkroot
- avahi/libvirt-bin: libvirt-bin needs avahi, started at wrong point?
Dependency graph: /usr/share/insserv/check-initd-order -g | dot -Tpdf > init.pdf
LSB headers but no dependencies: kvm (Ubuntu #391121), apparmor
Communication Plan
- Send a summary out to ubuntu-devel[robbie] and debian-devel about this meeting and the outcomes
- Provide the reasons WHY we care about boot performance [scott]
- Highlight the reasons (not just bootspeed) why switching to upstart is a *good* thing (e.g. reliability, coping with an async kernel)
FoundationsTeam/BootPerformance/DebianUbuntuSprint (last edited 2009-07-08 15:30:01 by e180076113)