Ticket #10550 (closed defect: fixed)

Opened 4 years ago

Last modified 3 years ago

XO-1.75 os1 panic on missing rootfs if external SD card present

Reported by: Quozl Owned by: buytenh
Priority: normal Milestone: 1.75-software
Component: kernel Version: not specified
Keywords: Cc:
Action Needed: no action Verified: no
Deployments affected: Blocked By:
Blocking:

Description (last modified by Quozl) (diff)

With os1 on internal SD, and the external SD containing os1.zd, a kernel panic occurs.

Workaround: remove the external SD card and reset CPU.

Attachments

bah.log Download (19.2 KB) - added by Quozl 3 years ago.
dmesg showing kernel panic with external SD card

Change History

  Changed 4 years ago by Quozl

  • description modified (diff)

  Changed 4 years ago by Quozl

Reproduced on os2.

follow-up: ↓ 4   Changed 4 years ago by buytenh

I assume that the kernel panic is due to it trying to mount the wrong (i.e. internal) SD?

If yes, then the real issue is that /dev/* nodes are not stable device identifiers, and booting with root=/dev/foo0 is inherently ambiguous if there are two of foo. Possible solutions are specifying the root device by label/uuid, or maybe to reorder initialisation of the two SD interfaces (although that doesn't 100% guarantee stable device identifiers either).

If no, please attach the panic message.

in reply to: ↑ 3   Changed 4 years ago by pgf

Replying to buytenh:

If yes, then the real issue is that /dev/* nodes are not stable device identifiers, and booting with root=/dev/foo0 is inherently ambiguous if there are two of foo. Possible solutions are specifying the root device by label/uuid, or maybe to reorder initialisation of the two SD interfaces (although that doesn't 100% guarantee stable device identifiers either).

the names should be attached to the slot, not the device. 1.5 does this with udev:

# udev rules to assign persistent names to OLPC XO-1.5 SD cards and their
# partitions, based on the MMC bus where they reside
#
# mmcblkXpY names cannot be used to reliably identify internal vs external
# cards, because the "X" component is generated incrementally, regardless of
# backing MMC bus number.

SUBSYSTEM=="block", KERNEL=="mmcblk?", KERNELS=="mmc0", SYMLINK+="disk/mmc/mmc0"
SUBSYSTEM=="block", KERNEL=="mmcblk?p?", KERNELS=="mmc0", SYMLINK+="disk/mmc/mmc0p%n"

SUBSYSTEM=="block", KERNEL=="mmcblk?", KERNELS=="mmc1", SYMLINK+="disk/mmc/mmc1"
SUBSYSTEM=="block", KERNEL=="mmcblk?p?", KERNELS=="mmc1", SYMLINK+="disk/mmc/mmc1p%n"

SUBSYSTEM=="block", KERNEL=="mmcblk?", KERNELS=="mmc2", SYMLINK+="disk/mmc/mmc2"
SUBSYSTEM=="block", KERNEL=="mmcblk?p?", KERNELS=="mmc2", SYMLINK+="disk/mmc/mmc2p%n"

  Changed 4 years ago by Quozl

Duplicate #10610 closed.

  Changed 3 years ago by Quozl

Reproduced on os6.

  Changed 3 years ago by Quozl

Reproduced on os9.

  Changed 3 years ago by Quozl

Reproduced on os36 on XO-1.75 B1. devalias was used to fs-update to the external card.

Changed 3 years ago by Quozl

dmesg showing kernel panic with external SD card

  Changed 3 years ago by Quozl

  • status changed from new to closed
  • next_action changed from diagnose to no action
  • resolution set to fixed

Fixed in os40.

Note: See TracTickets for help on using tickets.