Created attachment 3386 [details] NUC-USB-HDD STATUS: FAILED BUILD: master: f038f069977170e323c9c6884c69e0b9e1cf1c6f ENVIRONMENTS: genericx86-64 on NUC, MMAX32, AND MMAX64 STEPS TO REPRODUCE: 1. plugin usb which contains live image burned 2. configure device BIOS to firstly boot from USB if necessary 3. boot the device and select option "Install" from boot menu 4. proceed through default install process 5. Remove USB, and reboot into new installed system. EXPECTED OUTCOME: 1. User can choose install system from USB stick onto hard disk from boot menu or command line option 2. Installed system can boot up ACTUAL RESULT: Image cannot be installed in any device. Installation process not completed, consequently neither boot process completed. Panic message is displayed "sh can't access tty; job control turned off ", for detail see attached files. Notes: Tried with below scenarios MMAX32 AND MMAX64 Firmware version 0.93 NUC Firmware version SYSKLi35.86A.0044 -USB-SD cARD MMAX32 -USB-HDD MMAX32 and MMAX64 (1Tb) -USB-internal HDD NUC6I5SYH More Notes: 1.similar to bug 4229 2. System can boot successfully from USB
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.
Fixed here: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=087c580b286816265f487e02746bfa6e26081554