Opened 18 months ago

Closed 17 months ago

Last modified 17 months ago

#12678 closed defect (fixed)

q7b26 does not boot with an NTFS filesystem on USB drive attached

Reported by: Quozl Owned by: Quozl
Priority: normal Milestone: 13.2.0
Component: ofw - open firmware Version: Development firmware
Keywords: Cc: dsd
Blocked By: Blocking:
Deployments affected: Action Needed: no action
Verified: no

Description

reproducer: prepare an NTFS filesystem on a USB drive and attach to XO-4, then power up.

observed result: ok prompt.

expected result: normal boot.

Change History (9)

comment:1 Changed 18 months ago by Quozl

detailed reproducer: using a 128 MB USB drive, erase the partition table, use gparted to create an MS-DOS partition table, use gparted to creatge an NTFS filesystem, attach to an XO-4, then power up.

CForth built 2013-05-14 23:21 from commit 1c6dcd22...
Matrix mode on
releasing
USB devices:
/usb@d4208000/hub@0,0
/usb@d4208000/hub@0,0/scsi@2,0
/usb@d4208000/hub@0,0/scsi@2,0/disk
OLPC 4C1, 1196 MHz, 2 GiB memory, 8 GB internal storage, S/N SHC247006C2
OpenFirmware  Q7B30jb   EC Firmware 0.4.06   2013-05-15 00:14:00 UTC

Type the Esc key to interrupt automatic startup
Boot device: /usb/disk:\boot\olpc.fth  Arguments: 
The attempt to load a boot image failed.
OLPC 4C1, 1196 MHz, 2 GiB memory, 8 GB internal storage, S/N SHC247006C2
OpenFirmware  Q7B30jb   EC Firmware 0.4.06   2013-05-15 00:14:02 UTC

Type 'help' for more information.

ok 
  • reproduces with repeated boot commands,
  • load-size is zero, indicating that no boot file was loaded,
  • dir u:\ yields Unimplemented package interface procedure,
  • add-tag BD int:\boot\olpc.fth is a viable workaround,

comment:2 Changed 18 months ago by Quozl

  • same problem occurs with non-NTFS filesystems and an empty file u:\boot\olpc.fth

comment:3 Changed 18 months ago by Quozl

  • Action Needed changed from never set to package
  • Milestone changed from Not Triaged to 13.2.0

Further research:

  • traced to /packages/disk-label method load, which returns zero size,
  • no filesystem driver was interposed by the disk-label package,
  • there is no filesystem driver for NTFS in Open Firmware,
  • a device open for u:\boot\olpc.fth does succeed, despite the missing filesystem driver,
  • if the device open would fail instead, the next device in the boot-device order will be tried,

svn 3657 changes the disk-label package open method to abort rather than exit when a filesystem driver identified by the partition type is not present in the build.

A tested development build is available as q7b30jd.rom.

comment:4 Changed 18 months ago by Quozl

Results of further testing. Has no effect on secure boot, since the code path is not exercised. On unsecured systems, affects XO-1.75 in the same way; dropping to ok prompt. Hangs boot on unsecured XO-1 and XO-1.5.

comment:5 Changed 18 months ago by Quozl

Will not be fixed on XO-1 and XO-1.5, since this is part of support for booting from NTFS filesystems. The MBR on the device is read and executed.

comment:6 Changed 17 months ago by Quozl

  • Action Needed changed from package to add to build
  • Cc dsd added

Is in Q4D30 and Q7B31.

comment:7 Changed 17 months ago by dsd

  • Action Needed changed from add to build to test in build

Test in 13.2.0 build 7.

comment:8 Changed 17 months ago by Quozl

  • Action Needed changed from test in build to no action
  • Resolution set to fixed
  • Status changed from new to closed

Works for me.

comment:9 Changed 17 months ago by Quozl

Also fixes #12696.

Note: See TracTickets for help on using tickets.