| Summary: | Cannot install images Genericx86, Genericx86_64, Genericx86_64-lsb from USB, panic message is displayed | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] BSPs | Reporter: | David Rodriguez <david.israelx.rodriguez.castellanos> | ||||||||||||
| Component: | bsps-runtime | Assignee: | Alejandro Hernandez <alejandro.hernandez> | ||||||||||||
| Status: | RESOLVED FIXED | QA Contact: | Francisco Pedraza <francisco.j.pedraza.gonzalez> | ||||||||||||
| Severity: | normal | ||||||||||||||
| Priority: | Medium+ | CC: | california.l.sullivan, davidx.lopez.barriba, jose.perez.carranza, yp.kernel.watcher, yp.watcher | ||||||||||||
| Version: | 2.2 | ||||||||||||||
| Target Milestone: | 2.2 M4 | ||||||||||||||
| Hardware: | All | ||||||||||||||
| OS: | Multiple | ||||||||||||||
| Whiteboard: | |||||||||||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||||||||||
| Verified: | Documentation change: | Don't know | |||||||||||||
| Attachments: |
|
||||||||||||||
|
Description
David Rodriguez
2016-08-25 21:39:39 UTC
Created attachment 3387 [details]
MMAX64-USB-HDD
Created attachment 3388 [details]
MMAX32-USB-SD
Created attachment 3389 [details]
MMAX32-USB-HDD
Tested also in MMAX32 AND MMAX64 Firmware version 0.92 -USB drive-SD cARD -USB drive-HDD(1Tb) -USB drive-USB drive Same results. I am also seeing this on intel-corei7-64 with the following commit hashes: poky f078ccf1ac60488169853724c35126cc056f975d meta-intel 678db6436e4b118e1a888a3b93551e98b25c77cc Created attachment 3394 [details]
bisect log
Commit 993bfb "init-install*: only pick root mmc devices" seems to be the culprit.
(In reply to comment #6) > Created attachment 3394 [details] > bisect log > > Commit 993bfb "init-install*: only pick root mmc devices" seems to be the > culprit. Yes, it sure looks like that commit is the guilty one. After some debugging I found the line thats actually causing the problem, it is the following: mmc_devices=`ls /sys/block/ | grep "mmcblk[0-9]\{1,\}$"` after which the install script fails, the previous line: devices=`ls /sys/block/ | grep -v mmcblk` reports fine, finding the block devices which are not mmcblk. Maybe busybox's grep has limited REGEX capabilities? Whats happening is that when trying to do:
mmc_devices=`ls /sys/block/ | grep "mmcblk[0-9]\{1,\}$"`
the grep command does not find any matching lines coming from the pipe (when not using an mmc device).
This causes grep to exit with a non-zero status, now this usually wouldn't cause an issue.
BUT, since when calling the script were doing:
#!/bin/sh -e
This causes the script to have the same behavior as doing something like "set -e" , which makes the script exit immediately if any command or pipeline returns a non-zero status.
Now this is obviously desired behavior since we are installing on a new device, we want to exit the installation if an error is found, so a workaround must be implemented.
Looking at 993bfb, it seems that this affects other devices as well, not only the ones using the EFI installation. Patch sent. |