Improve detection of device class at install time

Registered by Emmet Hikory

The current installation tools set a default hostname based on some device detection. The current detection algorithm is based parsing dmidecode and falling back to laptop-detect if that doesn't work. This is confusing if folks have a phone, a handheld, a laptop, a desktop, a set-top box, and a NAS laying about, and want to ensure these all have distinct names.

The algorithm should be extended to attempt to detect several hardware components, or guess based on attributes of hardware components (a 2.5" 1024x600 screen is probably a phone and a 10" 1024x600 screen is probably a netbook), and generalised to work for all architectures, rather than relying on dmidecode.

Blueprint information

Status:
Started
Approver:
David Mandala
Priority:
Medium
Drafter:
Emmet Hikory
Direction:
Approved
Assignee:
Emmet Hikory
Definition:
Approved
Series goal:
Accepted for natty
Implementation:
Good progress
Milestone target:
None
Started by
Emmet Hikory

Related branches

Sprints

Whiteboard

I can't seem to find the notes for this session, so am not documenting it much. I've uploaded the devicetype-detect package to natty, which implements the limited subset of what I was thinking that I believe was consensus for first-pass implementation. Also included is a devicename-detect script that combines the new devicetype-detect with some of the prior logic from ubiquity and some heuristics to get device names for armel and powerpc developed against the cpuinfo samples available in the base-installer test data.

If someone else has specific workitems they'd like to add, please feel free, but I think it's only the following:

Work Items: (natty-alpha-2):
[persia] Write device type detection script: DONE

Work Items: (ubuntu-11.04-beta-1):
[ogra] File a bug with implementation hints for keyboard detection: POSTPONED
[persia] Prepare a ubiquity integration branch for review: TODO

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.