From 9daafd49b448122e35d67a1637ce2212793a4dc5 Mon Sep 17 00:00:00 2001 From: California Sullivan Date: Tue, 21 Nov 2017 15:02:09 -0800 Subject: install*.sh: add short sleep after parted commands I wasn't able to install to my Optane SSD due to the following error: Formatting /dev/nvme0n1p1 to vfat... mkfs.fat 4.1 (2017-01-24) mkfs.vfat: unable to open /dev/nvme0n1p1: No such file or directory Target install-efi failed A couple lines later I see: [ 10.265401] nvme0n1: p1 p2 p3 Then looking at the device itself after booting from a USB stick: root@intel-corei7-64: ~# ls /dev/nvme0n1* /dev/nvme0n1 /dev/nvme0n1p1 /dev/nvme0n1p2 /dev/nvme0n1p3 So it looks like the parted commands return before the device node is actually created. Work around this issue by waiting for device nodes for a short duration. Signed-off-by: California Sullivan Signed-off-by: Ross Burton --- meta/recipes-core/initrdscripts/files/init-install-efi.sh | 7 +++++++ meta/recipes-core/initrdscripts/files/init-install.sh | 7 +++++++ 2 files changed, 14 insertions(+) (limited to 'meta') diff --git a/meta/recipes-core/initrdscripts/files/init-install-efi.sh b/meta/recipes-core/initrdscripts/files/init-install-efi.sh index 5ad3a60c05..706418fa9c 100644 --- a/meta/recipes-core/initrdscripts/files/init-install-efi.sh +++ b/meta/recipes-core/initrdscripts/files/init-install-efi.sh @@ -186,6 +186,13 @@ parted ${device} mkpart swap linux-swap $swap_start 100% parted ${device} print +echo "Waiting for device nodes..." +C=0 +while [ $C -ne 3 ] && [ ! -e $bootfs -o ! -e $rootfs -o ! -e $swap ]; do + C=$(( C + 1 )) + sleep 1 +done + echo "Formatting $bootfs to vfat..." mkfs.vfat $bootfs diff --git a/meta/recipes-core/initrdscripts/files/init-install.sh b/meta/recipes-core/initrdscripts/files/init-install.sh index 1cac8064a2..dade059c8f 100644 --- a/meta/recipes-core/initrdscripts/files/init-install.sh +++ b/meta/recipes-core/initrdscripts/files/init-install.sh @@ -211,6 +211,13 @@ parted ${device} mkpart $pname linux-swap $swap_start 100% parted ${device} print +echo "Waiting for device nodes..." +C=0 +while [ $C -ne 3 ] && [ ! -e $bootfs -o ! -e $rootfs -o ! -e $swap ]; do + C=$(( C + 1 )) + sleep 1 +done + echo "Formatting $bootfs to ext3..." mkfs.ext3 $bootfs -- cgit 1.2.3-korg