Summary

Release Note

This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)

It is mandatory.

Rationale

User stories

Assumptions

  • There are mutually-incompatible requirements for our headless images: some users want an image that is as small as possible with a basic shell environment, some users want a GUIless image that includes a rich set of developer tools (profiling, debugging, compiling?, etc) for kernel and plumbing development.
  • The size of gdbserver is negligible; we should include it on *all* images except for those with specific size constraints (headless, alip)

Design

  • Create a new ARM-targeted "developer" image, while keeping the existing minimal "headless" image
  • Make the developer image a strict superset of the headless image, to reduce maintenance
  • Include developer tools in the developer image:
    • gcc
    • gdb, gdbserver
    • lttng
    • oprofile
    • ltrace
    • strace
    • systemtap
    • input-utils
    • iotop
    • gator.ko, gatord
      • gatord is closed-source
    • powerdebug
    • perf tools (part of kernel package)
    • evtest - maybe input-utils already does this?
    • devmem2
    • i2c-tools
    • abrek
    • usb-utils
    • powertop
    • lsof
  • Drop packages from the headless image that should be moved to the developer image instead - we may do this even for packages that are not developer-oriented, but that we can do without in the minimal image as long as the developer image doesn't get too big
    • ??
    • ??
  • Impose an upper limit on the reasonable size of the developer image - what is this limit?
  • Include other useful packages in the developer image that aren't strictly developer-oriented, but are generally interesting/useful
    • an ssh server?

Implementation

Seed Changes

Seed changes should include an overview of what needs to change, and in some cases even the specific details.

Migration

Because most headless images will not be upgraded in place, we will not try to produce an automatic migration path. Users of the existing headless image who want to pull in the developer tools will be able to do so with an 'apt-get install' of the new developer tools metapackage.

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.

Unresolved issues

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

BoF agenda and discussion

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.

Current Headless Information

As of 2011-01-21:

Stats

  • Download Size: 64M
  • Download size with OMAP3 hwpack: 100M
  • Package count: 260

Package List

adduser 3.112+nmu1ubuntu4
apt     0.8.10ubuntu1
apt-transport-https     0.8.10ubuntu1
base-files      5.0.0ubuntu26
base-passwd     3.5.22
bash    4.1-2ubuntu5
bsdutils        1:2.17.2-3.3ubuntu3
busybox-initramfs       1:1.17.1-8ubuntu1
bzip2   1.0.5-6
ca-certificates 20090814+nmu2
console-setup   1.57ubuntu3
console-terminus        4.30-2
coreutils       8.5-1ubuntu5
cpio    2.11-6ubuntu1
cron    3.0pl1-116ubuntu1
dash    0.5.5.1-7.2ubuntu1
debconf 1.5.36ubuntu3
debconf-i18n    1.5.36ubuntu3
debianutils     3.4.3ubuntu1
diffutils       1:3.0-1
dmsetup 2:1.02.48-4ubuntu1
dpkg    1.15.8.7ubuntu2
e2fslibs        1.41.14-1ubuntu1
e2fsprogs       1.41.14-1ubuntu1
eject   2.1.5+deb1+cvs20081104-7.1
file    5.04-5ubuntu2
findutils       4.4.2-1ubuntu2
gcc-4.5-base    4.5.2-1ubuntu6
gnupg   1.4.10-4ubuntu2
gpgv    1.4.10-4ubuntu2
grep    2.6.3-3ubuntu1
gzip    1.3.12-9ubuntu1.1
hostname        3.05ubuntu1
ifupdown        0.6.10ubuntu4
initramfs-tools 0.98.1ubuntu9
initramfs-tools-bin     0.98.1ubuntu9
initscripts     2.87dsf-4ubuntu19
insserv 1.14.0-2
iproute 20100519-3
iputils-ping    3:20100418-3ubuntu1
isc-dhcp-client 4.1.1-P1-15ubuntu2
isc-dhcp-common 4.1.1-P1-15ubuntu2
kbd     1.15-1ubuntu3
keyboard-configuration  1.57ubuntu3
klibc-utils     1.5.20-1
less    436-1
libacl1 2.2.49-4
libatm1 1:2.5.1-1.2build1
libattr1        1:2.4.44-2
libblkid1       2.17.2-3.3ubuntu3
libbz2-1.0      1.0.5-6
libc-bin        2.12.1-0ubuntu13
libc6   2.12.1-0ubuntu13
libcomerr2      1.41.14-1ubuntu1
libcurl3-gnutls 7.21.2-4ubuntu1
libdb4.8        4.8.30-3
libdbus-1-3     1.4.1-0ubuntu2
libdevmapper1.02.1      2:1.02.48-4ubuntu1
libdrm-intel1   2.4.22-2ubuntu1
libdrm-nouveau1 2.4.22-2ubuntu1
libdrm-radeon1  2.4.22-2ubuntu1
libdrm2 2.4.22-2ubuntu1
libexpat1       2.0.1-7ubuntu1
libfribidi0     0.19.2-1
libgcc1 1:4.5.2-1ubuntu6
libgcrypt11     1.4.5-2ubuntu2
libglib2.0-0    2.27.91-0ubuntu1
libgnutls26     2.8.6-1ubuntu1
libgpg-error0   1.10-0ubuntu2
libgssapi-krb5-2        1.8.3+dfsg-4
libidn11        1.18-1build1
libk5crypto3    1.8.3+dfsg-4
libkeyutils1    1.4-1
libklibc        1.5.20-1
libkrb5-3       1.8.3+dfsg-4
libkrb5support0 1.8.3+dfsg-4
libldap-2.4-2   2.4.23-6ubuntu4
liblocale-gettext-perl  1.05-6
liblockfile1    1.08-4
liblzma2        5.0.0-2
libmagic1       5.04-5ubuntu2
libncurses5     5.7+20101128-1
libncursesw5    5.7+20101128-1
libnewt0.52     0.52.11-2ubuntu2
libnih-dbus1    1.0.3-1
libnih1 1.0.3-1
libpam-modules  1.1.1-4ubuntu2
libpam-runtime  1.1.1-4ubuntu2
libpam0g        1.1.1-4ubuntu2
libpcre3        8.02-1.1build1
libplymouth2    0.8.2-2ubuntu9
libpng12-0      1.2.44-1
libpopt0        1.16-1
libreadline6    6.1-3
libsasl2-2      2.1.23.dfsg1-5ubuntu3
libselinux1     2.0.96-1build1
libsepol1       2.0.41-1
libslang2       2.2.2-4ubuntu2
libsqlite3-0    3.7.4-2
libss2  1.41.14-1ubuntu1
libssl0.9.8     0.9.8o-4ubuntu1
libstdc++6      4.5.2-1ubuntu6
libtasn1-3      2.7-1
libtext-charwidth-perl  0.04-6
libtext-iconv-perl      1.7-2
libtext-wrapi18n-perl   0.06-7
libudev0        165-0ubuntu1
libusb-0.1-4    2:0.1.12-16
libuuid1        2.17.2-3.3ubuntu3
linaro-overlay  1011.5
linaro-overlay-minimal  1011.5
locales 2.13+git20100825-1
lockfile-progs  0.1.15
login   1:4.1.4.2+svn3283-2ubuntu2
logrotate       3.7.8-6ubuntu1
lsb-base        4.0-0ubuntu9
lsb-release     4.0-0ubuntu9
makedev 2.3.1-89ubuntu1
mawk    1.3.3-15ubuntu2
mime-support    3.51-1ubuntu1
module-init-tools       3.12-1ubuntu3
mount   2.17.2-3.3ubuntu3
mountall        2.20+nmu1
ncurses-base    5.7+20101128-1
ncurses-bin     5.7+20101128-1
net-tools       1.60-23ubuntu3
netbase 4.44ubuntu1
netcat-openbsd  1.89-3ubuntu5
ntpdate 1:4.2.6.p2+dfsg-1ubuntu3
openssl 0.9.8o-4ubuntu1
passwd  1:4.1.4.2+svn3283-2ubuntu2
perl-base       5.10.1-17ubuntu1
plymouth        0.8.2-2ubuntu9
procps  1:3.2.8-10ubuntu1
python  2.7.1-0ubuntu5
python-central  0.6.15ubuntu3
python-minimal  2.7.1-0ubuntu5
python2.7       2.7.1-3
python2.7-minimal       2.7.1-3
readline-common 6.1-3
rsyslog 4.6.4-2ubuntu4
sed     4.2.1-8
sensible-utils  0.0.6ubuntu2
sudo    1.7.4p4-5ubuntu3
sysv-rc 2.87dsf-4ubuntu19
sysvinit-utils  2.87dsf-4ubuntu19
tar     1.25-3
tzdata  2010o-1
ubuntu-keyring  2010.+09.30
ucf     3.0025+nmu1
udev    165-0ubuntu1
upstart 0.6.7-4
ureadahead      0.100.0-9
util-linux      2.17.2-3.3ubuntu3
vim-common      2:7.3.035+hg~8fdc12103333-1ubuntu2
vim-tiny        2:7.3.035+hg~8fdc12103333-1ubuntu2
whiptail        0.52.11-2ubuntu2
xkb-data        1.8-1ubuntu8
xz-utils        5.0.0-2
zlib1g  1:1.2.3.4.dfsg-3ubuntu1

Outcome of discussions

In Jan 2011 a call for discussions was sent out to the linaro-dev mailing list and all tech leads. No objections or additional packages were requested so the list captured above will be the basis for the developer tools offered this cycle.


CategorySpec

Platform/DevPlatform/Specs/DeveloperImage (last modified 2011-01-27 08:16:11)