No root device found; Boot has failed, sleeping forever

Asked by lisfolks on 2009-12-30

I followed the Mac OS X instructions to create the LiveUSB SoaS. I used the Blueberry image. With some modifications to the image-writer-mac.py file, I was able to successfully copy the image to the USB stick.

Assuming that the Rockridge 9660 image won't boot in my Intel MacBook Pro, I created the Helper CD as well.

I then attempted to boot into the Blueberry USB stick. The CD gives me a menu, where I tried both 'Boot' and 'Verify and Boot' options - but got the same message with each:

No root device found
Boot has failed, sleeping forever

(Just prior to the message, I do get the Sugar symbol with rotating dots around it.)

I searched around and found lots of Fedora 12 users getting this message, but I was unable to find a solution that seemed to apply here (for what few solutions were offered!)

What do you suggest?

Question information

Language:
English Edit question
Status:
Solved
For:
Sugar on a Stick Edit question
Assignee:
No assignee Edit question
Solved by:
Thomas C Gilliard
Solved:
2010-04-04
Last query:
2010-04-04
Last reply:
2010-03-17
Thomas C Gilliard (satellit-) said : #1

Some Ideas to look at:
Is it looking for a dos partition header and not seeing it?
I sometimes have to reinitialize a USB if it has been formatted with a different file system previously... ALSO a USB used to be required to be labeled: FEDORA to work.

Launchpad Janitor (janitor) said : #2

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

lisfolks (lisfolks-dev) said : #3

I'm not sure what header it's looking for, satellit. And, I don't see a way to change the label on the USB (currently soas-2-blueberry).

Anyone have any further thoughts?

(PS, sorry to have left the question to expire - I'm back, though, with a vengeance! :)

Thomas C Gilliard (satellit-) said : #4

I am sorry I do not have an intel mac, just a G4 PPC, So I am not very
familiar with your problems.

I am posting the link from our wiki on this topic:

http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/Blueberry#For_Mac_OS_X_Users.

One Idea: there is a program for intel mac's (Parallels?) which runs
windows programs. You may need to get it and then follow the Windows
instructions.

Or borrow a PC and boot it with the blueberry CD then follow any of
these instuctions:

http://wiki.sugarlabs.org/go/Category:Live_USB

You will probably need to use Gparted (or similar partition editor) to
create a new partition table and then format your USB as fat16 with a
boot flag and a label of FEDORA first before trying to make the live
USB. Or use a unused new USB which should be in this format.

Good luck

Tom Gilliard

lisfolks wrote:
> Question #95622 on Sugar on a Stick changed:
> https://answers.launchpad.net/soas/+question/95622
>
> Status: Expired => Open
>
> lisfolks is still having a problem:
> I'm not sure what header it's looking for, satellit. And, I don't see a
> way to change the label on the USB (currently soas-2-blueberry).
>
> Anyone have any further thoughts?
>
> (PS, sorry to have left the question to expire - I'm back, though, with
> a vengeance! :)
>
>

Thomas C Gilliard (satellit-) said : #5

http://www.virtualbox.org/wiki/Downloads

Try for MacOSX then boot VM with blueberry.iso

install Virtualbox (sun version)
make new VM
in VB under settings add .iso as CD device
start and boot VM
enter terminal:
su -
#
yum install liveusb-creator
after dowload and install
in terminal: command: liveusb-creator
insert USB 2( or 4GB)
make live-usb with graphical program

lisfolks (lisfolks-dev) said : #6

I got to this point (the 'sleeping forever' error) by following the Mac OS X instructions from the wiki link. I also checked the Fedora links from that page. I found via those links and other searching that a number of people - even without Sugar - are getting the 'sleeping forever' error when attempting to boot with Fedora USBs. I did NOT find, however, any solution for the problem.

I do have VMWare Fusion, though, Tom, and can try your other suggestions. I have just been trying to avoid those and figure out how to actually fix it for Mac OS X in case other users (without access to other OS options) might appreciate the solution. At least if I can boot the blueberry stick in VMWare, it might show the image is fine from a testing standpoint, so I'll try it for that reason, too.

I'll let you know how it goes...

- LeAnne

lisfolks (lisfolks-dev) said : #7

Okay, new info: I couldn't find a way to change the label from 'soas-2-blueberry' to 'FEDORA'. However, I did find a Fedora site that mentioned changing the boot parameters to add the actual label. The 'no root found' error then made sense to me - it means it can't find the USB stick.

So, I booted up via the boot helper CD again. This time, I pressed 'tab' at the boot screen. The parameters present by default are:

vmlinuz0 initrd=initrd0.img root=LABEL=FEDORA rootfstype=vfat rw liveimg overlay=LABEL=FEDORA quiet rhgh

or, at least that's what it looks like. The white-on-white boot screen text is a bit difficult to read. Per the site I had found, I changed the 'root=LABEL=FEDORA' portion to read 'root=LABEL=soas-2-blueberry'. Then I pressed 'enter' to continue. This time, it seemed to take longer and responded with a new message:

mount: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error
In some cases useful info is found in syslog - try dmesg | tail or so

That seems like a step forward! Are there other parameters I need to change or add? What should a working boot parameter list look like?

Sebastian Dziallas (sdziallas) said : #8

Alright, here's what might be worth trying, if you've got an additional Linux machine around (disclaimer: SoaS might still not work on all Macs, as [1] and [2] show - which are currently blocking our SoaS Tracking Bug - but it worked on a friend's Macbook)

* download this: http://bit.ly/livecd-iso-to-disk
* make the script executable: chmod +x tools_livecd-iso-to-disk.sh
* execute the script with the following command (depending on which device your USB key is):

./tools_livecd-iso-to-disk.sh --overlay-size-mb 300 --efi soas-2-blueberry.iso /dev/sdb1

The --efi parameter might do the trick. Let us know how it goes... :) - I'd try myself, but I don't have any Macs here.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=528232
[2] https://bugzilla.redhat.com/show_bug.cgi?id=533824

lisfolks (lisfolks-dev) said : #9

Got an error running the script, Sebastian:

$ sudo ./tools_livecd-iso-to-disk.sh --overlay-size-mb 300 --efi soas-2-blueberry.iso /dev/disk2

readlink: illegal option -- f
usage: readlink [-n] [file ...]
readlink: illegal option -- f
usage: readlink [-n] [file ...]
./tools_livecd-iso-to-disk.sh [--format] [--reset-mbr] [--noverify] [--overlay-size-mb <size>] [--home-size-mb <size>] [--unencrypted-home] [--skipcopy] [--efi] <isopath> <usbstick device>

The 'readlink' command appears 3x in the script. I don't understand the error, though - 'man readlink' shows a -f option, which is supposed to be followed by a format specifier. The three occurrences in the script look like:

device=$(basename $(readlink -f /sys/$p/../))

ISO=$(readlink -f "$1")

<and>

USBDEV=$(readlink -f "$2")

Putting an 'echo' statement above each one of those lines results in this output (I spaced the sections for clarity):

$ sudo ./tools_livecd-iso-to-disk.sh --overlay-size-mb 300 --efi soas-2-blueberry.iso /dev/disk2

running readlink -f 'soas-2-blueberry.iso'
readlink: illegal option -- f
usage: readlink [-n] [file ...]

running readlink -f '/dev/disk2'
readlink: illegal option -- f
usage: readlink [-n] [file ...]
./tools_livecd-iso-to-disk.sh [--format] [--reset-mbr] [--noverify] [--overlay-size-mb <size>] [--home-size-mb <size>] [--unencrypted-home] [--skipcopy] [--efi] <isopath> <usbstick device>

Thomas C Gilliard (satellit-) said : #10

"$ sudo ./tools_livecd-iso-to-disk.sh --overlay-size-mb 300 --efi soas-2-blueberry.iso /dev/disk2"

may be the error.

try using /dev/sd(x) ie a,b.c.d.f... (not /dev/disk2) as label

That is the form I usually use.

do this command from the directory where ./tools_livecd-iso-to-disk.sh resides

use gparted to reset the mbr and format fat16 with label FEDORA

Hint:( gparted will give the correct label when you do this)

lisfolks (lisfolks-dev) said : #11

Okay... let me ask a question here... isn't /dev/sd(x) a Linux descriptor? On my Mac, I don't see anything like that. Here are the results of my 'diskutil list' command:

$ diskutil list
/dev/disk0
   #: TYPE NAME SIZE IDENTIFIER
   0: GUID_partition_scheme *298.1 Gi disk0
   1: EFI 200.0 Mi disk0s1
   2: Apple_HFS MacBook Pro HD 297.8 Gi disk0s2
/dev/disk1
   #: TYPE NAME SIZE IDENTIFIER
   0: soas-2-blueberry *588.9 Mi disk1

Note that in this particular case, my SoaS USB is 'disk1' or '/dev/disk1' rather than 'disk2' or '/dev/disk2'. I'm sure you probably know that the USB appears under one of those based on whether I had previously used another USB port earlier. This time, I plugged the SoaS USB in first, so it got the first identifier. Now that that's clear... how do I tell what '/dev/sd(x)' value to give the drive? If that format is indeed available on the Mac, where do I locate the value tied to 'disk(x)' displayed in the 'diskutil list' command?

Tom, I haven't tried gparted yet. However... I did format the USB using Mac's disk utility and gave it the label of FEDORA. When I install the image to the USB, the process returned the label back to 'soas-2-blueberry'. If I do gparted, then, will it *keep* the FEDORA label despite the image's settings???

lisfolks (lisfolks-dev) said : #12

Just an additional comment: the links Sebastian provided indicate that this type of issue is preventing schools with Macs from being able to use Sugar. We need to find a workable solution for everybody with newer Macs who want to use Sugar - regardless of the people who think "MacOS X sucks." (as quoted from the 2nd link Sebastian provided above.

I'm not looking for something that will work in Linux; I'm not looking for something that'll work in Windows; I'm looking for something that works with Mac OS X on a Mac with an Intel processor. And, so are all the schools that have Macs and would like to use Sugar on a Stick to share a wonderful learning adventure with their students. Please help me try to make this work!

James Cameron (quozl) said : #13

We can't be responsible for what other people might say about Mac OS X,
so I don't think it is worth bringing that up. Also, I'm sure we're all
aware of the priority of the problem.

I've just checked on my MacBook here, and readlink does not accept -f as
an option. readlink on Linux does. So you've made a mistake trying to
use Sebastian's tools_livecd-iso-to-disk.sh on Mac OS X. He did say "if
you've got an additional Linux machine", but didn't mention that the
script was Linux only. I hadn't figured that out initially either, it
took a close look at the script. It was entirely Linux based, and
didn't even know if it wasn't run on Linux.

I agree, you should be able to do this entirely on your Mac. I'll see
if I can reproduce your problem using the current instructions on
http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/Blueberry#For_Mac_OS_X_Users

--
James Cameron
http://quozl.linux.org.au/

James Cameron (quozl) said : #14

On Wed, Mar 17, 2010 at 04:06:19AM -0000, James Cameron wrote:
> I'll see if I can reproduce your problem using the current
> instructions on
> http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/Blueberry#For_Mac_OS_X_Users

I've just tried, but it failed. I used only the USB stick, not the boot
helper. I'll try that.

The symptom was that on reboot the screen remained blue-gray, and the
MacBook fan was zooming. There was no apparent activity on screen.

--
James Cameron
http://quozl.linux.org.au/

James Cameron (quozl) said : #15

I've tried the boot helper CD now as well, the MacBook just doesn't boot
from it. No menu. If the USB stick is in place, the same problem in my
previous post occurs.

--
James Cameron
http://quozl.linux.org.au/

Alright, thanks for giving this a try. I think it might be good to summarize what we're at.

* image-writer-mac doesn't work if you want to boot on Macs (this is because it isn't capable of making the required EFI related changes)
* livecd-iso-to-disk let's you pass --efi but works only on Linux machines and boots only on some Macs

Mhm. I'm not sure what the most straight-forward solution here is, if any. Sounds like it needs quite some work, actually.

lisfolks (lisfolks-dev) said : #17

I used image-writer-mac back in late December to create the image I'm using now. However, I believe it's been changed since then, so... See question #94113 for the discussion back then.

The livecd-iso-to-disk may work on Macs with a different version of readlink - it's the -f parameter that my machine doesn't seem to like (though I have no idea about the rest of the code in the script - if James thinks it won't work on a Mac, I'll go with that).

I tried changing the boot parameters/options again. (I don't know if you guys are using a newer image that's not working - I'm still trying that image from back in December.) Again, the default boot parameters are:

vmlinuz0 initrd=initrd0.img root=LABEL=FEDORA rootfstype=vfat rw liveimg overlay=LABEL=FEDORA quiet rhgb

Last time I tried this, I changed only the 'root=LABEL=FEDORA' to 'root=LABEL=soas-2-blueberry'. It told me wrong filesystem, block, etc... This time, I changed that same parameter, and also changed to 'rootfstype=iso9660'. It took me all the way through displaying the XO guy and all the circles around him - but then it just stopped. When I pressed down-arrow, it told me that it couldn't find the filesystem, the machine was in enforcing mode and cannot execute load-policy, and that if I wish to disable selinux, I should add 'selinux=0' to the kernel command line.

Best Thomas C Gilliard (satellit-) said : #18

You are almost there;

Reboot and hit <esc> as soon as blue boot menu screen appears (or bars start),
 you have to be fast as it is only visible for a few seconds.
then when you get boot menu hit <tab> and add "selinux=0" to end of kernel command line.
then hit <enter> and you should get screen asking for "sugar ______(name) "

lisfolks (lisfolks-dev) said : #19

Thanks satellit, that solved my question.

lisfolks (lisfolks-dev) said : #20

So, I didn't have to make any changes to the image on the USB. This is what I do to make it work:

- Restart my MacBook Pro with the Blueberry imaged USB and the Boot Helper CD in place.
- Hold the 'C' key from the time the screen becomes black on the restart until the CD's boot screen comes up.
- At the boot screen, press Tab key to enter into the boot/kernel parameters screen. This screen shows default values as follow:
vmlinuz0 initrd=initrd0.img root=LABEL=FEDORA rootfstype=vfat rw liveimg overlay=LABEL=FEDORA quiet rhgb
(note that there are actually two spaces between quiet and rhgb)
- Using the arrow keys, move the cursor to the end of 'root=LABEL=FEDORA', backspace out the 'FEDORA', and replace it with 'soas-2-blueberry' (without the quotes, of course).
- Arrow to the end of 'rootfstype=vfat', then press backspace to remove the 'vfat' portion. Replace it with 'iso9660' (again, without the quotes).
- Arrow to the end of the command line (one space after the 'rhgb' parameter). Add 'selinux=0' (that's a zero, and again, leave out the quotes).'
- Press the enter/return key - and wait. The XO guy is gradually surrounded with circles. When he's completely encircled, the screen becomes empty except for the Sugar name prompt, and all goes as expected after that. Wonderful!

Thanks to all of you for your patience and assistance. I hope this sequence works for other Intel Mac users out there trying to experience Sugar! And, sorry, I forgot to note the version number, but the image file I'm using is labeled 'soas-2-blueberry.iso' and I downloaded it in December 2009 (creation date in Finder is 12/3/2009).

intuitionist (intuitionist) said : #21

Unable to find root partition.