backport devtmpfs to the lucid linux-imx51 kernel tree

Bug #512321 reported by Oliver Grawert
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
initramfs-tools (Ubuntu)
Invalid
Undecided
Unassigned
Lucid
Invalid
Undecided
Unassigned
linux-fsl-imx51 (Ubuntu)
Fix Released
High
Bryan Wu
Lucid
Fix Released
High
Bryan Wu
linux-mvl-dove (Ubuntu)
Fix Released
Undecided
Eric Miao
Lucid
Fix Released
Undecided
Eric Miao

Bug Description

currently the init script of initramfs-tools assumes that devtmpfs is available in the kernel in lucid, other userspace tools like udev or upstart might probably make use of this feature as well.

booting a babbage board currently results in an error message from init that it "can't mount none on /dev".
this error results from the following code in the init script in initramfs:

--
# Note that this only becomes /dev on the real filesystem if udev's scripts
# are used; which they will be, but it's worth pointing out
if ! mount -t devtmpfs -o mode=0755 none /dev; then
        mount -t tmpfs -o mode=0755 none /dev
        mknod -m 0600 /dev/console c 5 1
        mknod /dev/null c 1 3
fi
--

if kernels without devtmpfs are still fully supported the error should be quietened down, if we stop supporting kernels without devtmpfs in the lucid release, the devtmpfs patch needs to be addded to the linux-imx51 tree.

note that not having devtmpfs is said to slow down booting by about 2 seconds.

Tags: armel
Oliver Grawert (ogra)
Changed in linux-fsl-imx51 (Ubuntu):
assignee: nobody → Bryan Wu (cooloney)
importance: Undecided → High
tags: added: armel
Revision history for this message
Bryan Wu (cooloney) wrote :
Download full text (5.0 KiB)

Ogra,

I already cherry picked 2 devtmpfs patches to my fsl-imx51 git branch:
http://kernel.ubuntu.com/git?p=roc/ubuntu-lucid.git;a=shortlog;h=refs/heads/lp512321_devtmpfs

And please download the kernel package here to help me test:
http://people.canonical.com/~roc/kernel/lp512321_devtmpfs/

Here is some test on my side:
--
roc@babbage:~$ dmesg | head
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 2.6.31-602-imx51 (root@roc-desktop) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #4 Tue Jan 26 11:27:08 CST 2010 (Ubuntu 2.6.31-602.4-imx51)
CPU: ARMv7 Processor [412fc081] revision 1 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: Freescale MX51 Babbage Board
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 122880
free_area_init_node: node 0, pgdat c061cce4, node_mem_map c0692000
  DMA zone: 128 pages used for memmap
roc@babbage:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 152459812 2446924 142268356 2% /
none 234340 21244 213096 10% /dev
none 239172 1164 238008 1% /dev/shm
none 239172 84 239088 1% /var/run
none 239172 0 239172 0% /var/lock
none 239172 0 239172 0% /lib/init/rw
roc@babbage:~$ cat /proc/mounts
rootfs / rootfs rw 0 0
none /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
none /proc proc rw,nosuid,nodev,noexec,relatime 0 0
none /dev devtmpfs rw,relatime,size=234340k,nr_inodes=58585,mode=755 0 0
none /dev/.bootchart/proc proc rw,relatime 0 0
/dev/disk/by-uuid/fd8c99d5-8e53-4d99-9d4e-75b8c96e7b94 / ext4 rw,relatime,errors=remount-ro,barrier=1,data=ordered 0 0
none /sys/fs/fuse/connections fusectl rw,relatime 0 0
none /sys/kernel/debug debugfs rw,relatime 0 0
none /sys/kernel/security securityfs rw,relatime 0 0
none /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
none /dev/shm tmpfs rw,nosuid,nodev,relatime 0 0
none /var/run tmpfs rw,nosuid,relatime,mode=755 0 0
none /var/lock tmpfs rw,nosuid,nodev,noexec,relatime 0 0
none /lib/init/rw tmpfs rw,nosuid,relatime,mode=755 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0
gvfs-fuse-daemon /home/roc/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
roc@babbage:~$ sudo mount -t devtmpfs -o mode=0755 none dev
[sudo] password for roc:
roc@babbage:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 152459812 2447320 142267960 2% /
none 234340 22336 212004 10% /dev
none 239172 1164 238008 1% /dev/shm
none 239172 84 239088 1% /var/run
none 239172 0 239172 0% /var/lock
none 239172 0 239172 0% /lib/init/rw
none 234340 22336 2...

Read more...

Revision history for this message
Oliver Grawert (ogra) wrote :

tested, works great and seems to even speed up booting, the error message is gone too :)
please apply this change to the next upload.

Andy Whitcroft (apw)
Changed in initramfs-tools (Ubuntu Lucid):
status: New → Invalid
Changed in linux-fsl-imx51 (Ubuntu Lucid):
status: New → Fix Committed
Revision history for this message
Oliver Grawert (ogra) wrote :

eroc: i dont think you need to backport anything to -mvl-dove, its a .32 feature, just enable the config option.

Andy Whitcroft (apw)
Changed in linux-mvl-dove (Ubuntu Lucid):
status: New → Invalid
assignee: nobody → Andy Whitcroft (apw)
Andy Whitcroft (apw)
Changed in linux-mvl-dove (Ubuntu Lucid):
status: Invalid → In Progress
Andy Whitcroft (apw)
Changed in linux-mvl-dove (Ubuntu Lucid):
assignee: Andy Whitcroft (apw) → Eric Miao (eric.y.miao)
Andy Whitcroft (apw)
Changed in linux-mvl-dove (Ubuntu Lucid):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-fsl-imx51 - 2.6.31-603.5

---------------
linux-fsl-imx51 (2.6.31-603.5) lucid; urgency=low

  [ Bryan Wu ]

  * [Config] Enable devtmpfs for fsl-imx51 kernel
    - LP: #512321
  * SAUCE: IMX51: only export NEON flag to userspace on Freescale iMX51
    rev3.x or later silicon
    - LP: #507416

  [ Heiko Carstens ]

  * (pre-stable) driver-core: fix devtmpfs crash on s390
    - LP: #512370

  [ Kay Sievers ]

  * (pre-stable) Driver-Core: devtmpfs - set root directory mode to 0755
    - LP: #512370

  [ Upstream Kernel Changes ]

  * ENGR00119069 V4L2 capture: Do not change current crop setting for tvin.
  * ENGR00118830 Update NAND driver scan scheme to support new nand type
  * ENGR00118946 imx23: enable wake up from USB 5V
  * ENGR00119150 Bluetooth: Handsfree audio has noise
  * ENGR00118610 MX23: Add double buffering for PXP
  * ENGR00118872 Write bootstream to kernel by kobs with BCH ECC
  * ENGR00119199: ipu: add clock nodes for pixel clocks
  * ENGR00119202: Fix DVFS-PER related bugs.
  * ENGR00119203 MX23: Correct VDDD value for CPU frequency 360 MHz
  * ENGR00119004 v4l2 output: fix kernel dump
  * ENGR00119242 Add wait timeout support to void dead loop in NAND driver
  * ENGR00119263: MX51 : Fix pll_set_rate function
  * ENGR00119075 fix iMX23 USB initialization cause wrong power status
  * ENGR00118892 MX23: iMX233 disable lcd clock when LCD off
  * ENGR00119063 MX23: fix system halt rather than reboot when watchdog
    timeout
  * ENGR00119324 Put GPMI NAND flash scan scheme code to the common NAND
    directory
  * ENGR00114151 800x600-16@60 video not play correctly
  * ENGR00119275 ipuv3: dmfc size control
  * ENGR00119443 [MX23_BSP] GPMI driver computes wrong block size for
    K9GAG08U0D
  * ENGR00119136 ipuv3: support 720p for ipu lib
  * ENGR00119274 TVE: HDTV can not work
  * ENGR00119104 MX23 ALSA: Resolve the problem of record from line-in
  * ENGR00119081 V4l2 capture:Support NV12 output pixel format for still
    capture
  * ENGR00119179 TVE: fix system hang for tvout
  * ENGR00119070 IPUv3 FB:Support DP local alpha in pixel
  * ENGR00119432 MX35 system can't re-boot up when SD/MMC boot is used.
  * ENGR00119296 Fix iMX23 display abnormal when change frequency
  * ENGR00119484 Update NFC INT wait timeout value to 1s
  * ENGR00119504 MX25: Change nand partition for bootloader to 3M byte
  * ENGR00119532 MX35: Change nand partition for bootloader to 3M bytes
  * ENGR00119305 imx23: fix ethernet standby issue
  * ENGR00115370 ipuv3: add display control
  * ENGR00119531 ipuv3: dmfc setting restore during resume
  * Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev
    - LP: #512321
 -- Andy Whitcroft <email address hidden> Wed, 27 Jan 2010 10:30:45 +0000

Changed in linux-fsl-imx51 (Ubuntu Lucid):
status: Fix Committed → Fix Released
Andy Whitcroft (apw)
summary: - please backport devtmpfs to the lucid linux-imx51 kernel tree
+ backport devtmpfs to the lucid linux-imx51 kernel tree
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-mvl-dove - 2.6.32-200.7

---------------
linux-mvl-dove (2.6.32-200.7) lucid; urgency=low

  [ Andy Whitcroft ]

  * [Config] fix SECURITY and LSM configuration -- mvl-dove
  * (buildenv) Add a distclean target to remove temporary files -- mvl-dove
  * update remaining references from karmic to lucid -- mvl-dove
  * undo slamming architecture to armel -- mvl-dove
  * restore linux-image prefix -- mvl-dove
  * include modules.builtin in the binary debs -- mvl-dove
  * resync kernelconfig with lucid -- mvl-dove
  * config-check -- add a configuration enforcer -- mvl-dove
  * config-check -- add a unit-test suite to the checker -- mvl-dove
  * config-check -- ensure the checks get run at build time -- mvl-dove
  * config-check -- check the processed config during updateconfigs --
    mvl-dove
  * enforcer -- resync configuration with master -- mvl-dove
  * clean up whitespace differences -- mvl-dove
  * copy over minor modification -- mvl-dove
  * make doc package completely optional -- mvl-dove
  * install the full changelog with the binary package -- mvl-dove
  * make source package completely optional -- mvl-dove
  * make linux-libc-dev completly optional -- mvl-dove
  * convert package disable to a deps list -- mvl-dove
  * move back to common headers in arch mode -- mvl-dove
  * convert binary package disable to a deps list -- mvl-dove
  * disable linux-libc-dev -- mvl-dove
  * add configuration option for a full source build tree -- mvl-dove
  * getabis -- cleanup and parameterise repository list -- mvl-dove
  * kernelconfig -- fix minor whitespace damage -- mvl-dove
  * getabis -- move configuration to etc/getabis -- mvl-dove
  * kernelconfig -- move configuration to etc -- mvl-dove
  * set the current branch name -- mvl-dove
  * remove common files -- mvl-dove
  * remove generated files
  * insert-changes -- correctly link to debian/rules in DROOT

  [ Bryan Wu ]

  * Add 3 missing files to prerm remove file list -- mvl-dove
    - LP: #345623, #415832

  [ Eric Miao ]

  * [Config]: Enable devtmpfs for mvl-dove kernel
    - LP: #512321
  * SAUCE: Enable CPUFREQ by default
    - LP: #513254
  * [Config]: Turn on CONFIG_HIBERNATE
    - LP: #502983
  * [Config]: Turn on CONFIG_ARM_THUMBEE
  * [Config]: Disable V6 debugger mode and use V7

  [ Tim Gardner ]

  * [Config] DH_COMPAT=5 -- mvl-dove

  [ Upstream Kernel Changes ]

  * ARM VFP supprot code bug: If any of the status flags are set, update
    the FPSCR
  * Marvell Dove VFP errata
 -- Andy Whitcroft <email address hidden> Thu, 04 Feb 2010 20:49:42 +0000

Changed in linux-mvl-dove (Ubuntu Lucid):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

Bug watches keep track of this bug in other bug trackers.