update failed. "No fstab found."

I was trying to update (from 11.0) to 11.3. Booting from DVD, selecting root (after “show all partitions”, because none was offered at all), there is a message “No fstab found.” and then “Failed to mount target system”.

fstab on target root is definitely readable and OK. (this is a dd copy from my current system, which is fine.).

The target root fs is ext4 (seems ok, see y2log):

2010-08-31 03:34:00 <1> linux(2988) [YCP] Storage.ycp:5041 DetectFs:/dev/sda5
2010-08-31 03:34:00 <1> linux(2988) [YCP] Storage.ycp:5054 DetectFs ret ext4 2010-08-31 03:34:00 <1> linux(2988) [YCP] FileSystems.ycp:1026 GetMountString used_fs:ext4 ret:ext4
2010-08-31 03:34:00 <1> linux(2988) [YCP] RootPart.ycp:486 Calling ‘modprobe ext4’
2010-08-31 03:34:00 <1> linux(2988) [YCP] RootPart.ycp:529 mounting (/mnt/, /dev/sda5, ) yield nil
2010-08-31 03:34:00 <1> linux(2988) [wfm] Y2CCWFM.cc(createInLevel):148 Parsing finished

y2log contains these errors:

2010-08-31 03:34:00 <1> linux(2988) [YCP] RootPart.ycp:798 fstab: ]
2010-08-31 03:34:00 <3> linux(2988) [bash] ShellCommand.cc(shellcommand):78 sh: /usr/bin/find: No such file or directory

2010-08-31 03:34:00 <3> linux(2988) [bash] ShellCommand.cc(shellcommand):78 sh: /usr/bin/find: No such file or directory
2010-08-31 03:34:00 <3> linux(2988) [YCP] RootPart.ycp:608 There are only 0 files in /var/lib/hardware/, translation needn’t work!

2010-08-31 03:34:00 <3> linux(2988) [YCP] RootPart.ycp:1394 no or empty fstab found!
2010-08-31 03:34:00 <1> linux(2988) [YCP] RootPart.ycp:1443 MountPartition (/dev/sda5) = false
2010-08-31 03:34:00 <1> linux(2988) [YCP] RootPart.ycp:1444 activated $device:"/dev/sda5", mntpt:"/", `type:“mount”]]

2010-08-31 03:34:01 <3> linux(2988) [YCP] Report.ycp:523 Failed to mount target system

somebody got an idea ?

if it helps, I can post the complete y2log, please tell me…

thank you very much for your help !
Marko.

2010-08-31 03:34:00 <1> linux(2988) [YCP] Storage.ycp:5054 DetectFs ret ext4 2010-08-31 03:34:00 <1> linux(2988) [YCP] FileSystems.ycp:1026 GetMountString used_fs:ext4 ret:ext4
2010-08-31 03:34:00 <1> linux(2988) [YCP] RootPart.ycp:486 Calling ‘modprobe ext4’

Not sure but I don’t think that 11.0 root partition could have been formated in ext4.

yes, it definitely is ext4.
I use kernel 2.6.32-5-default, there is no other issue with ext4.

xmarko wrote:
> I was trying to update (from 11.0) to 11.3. Booting from DVD, selecting
> root (after “show all partitions”, because none was offered at all),
> there is a message “No fstab found.” and then “Failed to mount target
> system”.

  1. i do not understand …how did you get to a screen which “show all
    partitions”? (the DVD boots to a screen with options like ‘install
    11.3’, ‘test firmware’, ‘test memory’, ‘test disk’, ‘rescue’ ‘boot
    from hard drive’…there is no “show all partitions”)

be SURE to do this http://tinyurl.com/yajm2aq to see if maybe
something is wrong with your install disk…

  1. apparently the problem is fstab couldn’t be found because the
    target couldn’t be mounted “Failed to mount target system”

  2. you say you want to ‘update’ i hope that means you intend to
    ‘install’ and not ‘upgrade’ because ‘upgrade’ from 11.0 to 11.3 is not
    supported…cite: http://en.opensuse.org/SDB:System_upgrade

and, the forums have had several report unsatisfactory results after
trying…so, don’t…

> The target root fs is ext4 (seems ok, see y2log):

copy past the screen output from the running 11.0:


cat /etc/SuSE-release
cat /etc/fstab

  1. are you running RAID? tell us some more about your hardware

> somebody got an idea ?

not yet

  1. I can post the complete y2log, please tell me

don’t do that unless someone asks and tells you where to put it (on
a site we can all http to)


DenverD
CAVEAT: http://is.gd/bpoMD [posted via NNTP w/openSUSE 10.3]

You said it’s a dd copy from your current system. Did you duplicate a HD or a partition ?
Can you boot this copy of your system ?
Do you have to remove or switch harddisks in order to do that ?
Does your /etc/fstab mount the partitions by device names, labels, UUIDs or disk IDs ?

/dev/disk/by-id/scsi-SATA_ST3750640NS_3QD0YLFC-part5 / ext4 defaults 1 2

> 1. how did you get to a screen which “show all partitions”?
yes, of course the boot menu is something like install/test/…
when I chose install, agree the licence, select update, then there is selection of the partition to be updated. Or, in my case, it is empty. But here you find a box to check, called “show all partitions”, then there are all, even non-root partitions.

> to see if maybe something is wrong with your install disk…
I even dd’ed back the DVD and checked the md5, it is ok.

> 2. … apparently the problem is fstab couldn’t be found because …
I can boot this system, fstab is definitely ok.

> 3. … ‘install’ and not ‘upgrade’ because ‘upgrade’ from 11.0 to 11.3 is not
supported …
the page you have cited does not say that I cannot update from 11.0. it is about live upgrade.
I do not see any reason, why a 1.5 yr old system cannot be updated.

> cat /etc/SuSE-release
openSUSE 11.0 (i586)
VERSION = 11.0

the relevant line in fstab:
/dev/disk/by-id/scsi-SATA_ST3750640NS_3QD0YLFC-part5 / ext4 defaults 1 2

The root filesystem should have pass 1 rather than 2.
You can try to replace /dev/disk … with /dev/sda5. I doubt it will help however since it already tries to mount sda5… and don’t get it.
Can you output your /etc/fstab and /etc/SuSE-release as DenverD asked ?

Sorry. Too late. Are you sure there isn’t anything else ‘relevant’ in /etc/fstab ?

On 2010-08-31 12:24, DenverD wrote:

> 3. you say you want to ‘update’ i hope that means you intend to
> ‘install’ and not ‘upgrade’ because ‘upgrade’ from 11.0 to 11.3 is not
> supported…cite: http://en.opensuse.org/SDB:System_upgrade

Yes, it is “supported”. The page you cite is for a “zypper upgrade”, not for a “DVD upgrade” (ie,
the traditional method). It is a long jump, of course, so there are some caveats: do a full backup
(as always), test it first…


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” GM (Elessar))

On 2010-08-31 12:36, xmarko wrote:
>
> yes, it definitely is ext4.
> I use kernel 2.6.32-5-default, there is no other issue with ext4.

11.0 did not have ext4, this is impossible.

If “find” has said there is no fstab, then it is true, there is no /etc/fstab.

I understand you did a dd copy of the old 11.0 install to a new place - and you made some mistake(s).


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” GM (Elessar))

On 2010-08-31 13:36, xmarko wrote:
>
>> 1. how did you get to a screen which “show all partitions”?
> yes, of course the boot menu is something like install/test/…
> when I chose install, agree the licence, select update, then there is
> selection of the partition to be updated. Or, in my case, it is empty.
> But here you find a box to check, called “show all partitions”, then
> there are all, even non-root partitions.

Is the DVD of the same architecture? If it is not, it will not find the root partition.

Meaning: double check x64 vs 32 bit.


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” GM (Elessar))

> I understand you did a dd copy of the old 11.0 install to a new place - and you made some mistake(s).
maybe I made a mistake.
but this is the way I always test updates: dd to another partition, change root entry in fstab, try to boot that. then update.
I don’t understand my mistake here.

> If “find” has said there is no fstab, then it is true, there is no /etc/fstab.

> from y2log:
> 2010-08-31 03:34:00 <3> linux(2988) [bash] ShellCommand.cc(shellcommand):78 sh: /usr/bin/find: No such file or directory

could this mean that “find” itself was not found ?
this would be a problem of the installation system, which is/should be mounted / at that time.
btw. fstab should not be searched in /etc but in /mnt/etc which is the target for update.

> Is the DVD of the same architecture? …
yes, the DVD is also i586.

> … If it is not, it will not find the root partition.
why that ?
I would expect /etc/fstab at the same location for both architectures.
much more do I think that this message must not be taken verbally, more like something else is wrong but ends up in the same error message.

I understand the issue like this, please correct me if I am wrong:
there are some pre-requisites to be fulfilled to allow an update (which in my case, for some reason, are not). If positive, a partition will be available in the list for update. Otherwise not. The trick “show all partitions” does not help either to be able to perform the update. Unfortunately, some not given pre-requisite will end up in the same misleading error message.

so, SuSE guys please help here: what are these checks you are performing, please try to list them step by step, so that I can verify one after the other.

thanks a lot,
Marko.

How do you boot your system on sda5 ?
Did you add an entry in your sda6 /boot/grub/menu.lst ?
How do (sda5)/boot/grub/menu.lst and (sda6)/boot/grub/menu.lst look like?
If you have grub in mbr, would it be possible to boot sda5 without interfering (mounting) sda6 at all ?

And last but not least … can you change sda6 partition ID to something else than Linux (0x83) before trying to update … but please FORGET IT if you don’t know what I’m talking about or if you don’t know how to change it back.

What surprises me is that you are able to boot that system.

BTW editing /etc/fstab is not enough, you should also have defined the root device correctly in /boot/grub/menu.lst.
Did you do that ?

> … How do (sda5)/boot/grub/menu.lst and (sda6)/boot/grub/menu.lst look like?
no, it is not that complicated.
there is only one /boot on a seperate partition (sda1), used to bring up either of the systems.

title sda5 - openSUSE 11.3 update.todo
root (hd0,0)
kernel /vmlinuz-2.6.32-5-default root=/dev/disk/by-id/ata-ST3750640NS_3QD0YLFC-part5 noresume splash=none quiet showopts vga=0x375
initrd /initrd-2.6.32-5-default

title sda6 - openSUSE 11.0 - 2.6.32-5
root (hd0,0)
kernel /vmlinuz-2.6.32-5-default root=/dev/disk/by-id/ata-ST3750640NS_3QD0YLFC-part6 noresume splash=none quiet showopts vga=0x375
initrd /initrd-2.6.32-5-default

> … you should also have defined the root device correctly in /boot/grub/menu.lst
yes sure, menu.lst has 2 entries, to allow selecting between (in this case) my existing system (here sda6) and the update candidate (sda5).

yes, now I can successfully boot into both systems. each other partition is mounted under /mnt/sda[56].

sure, lateron, after a successful update, I need to take care of both kernels (current and new one) to be present in /boot, this means to restore the old one (usually deleted by update) from a backup.

Please help to find out what are the exact criteria to bless an installation “updateable” !

I wonder if you should not have set root (hd0,4) and root (hd0,5) for sda5 and sda6.
How is grub supposed to know which kernel to boot ?

no.
kernel is in /boot on sda1 (hd0,0)
system root is either on sda5 or 6

with root (hd0,4) or (hd0,5) none of both systems can be started: error no. (don’t remember) “file not found” in grub.

anyway, I have tried this. maybe this is confusing the install script somehow. but no improvement here: still an empty list of installations for update.

sorry for repeating my question:
what are these checks you are performing, please try to list them step by step, so that I can verify one after the other.

OK, so you want the two systems to use the same /boot partition.
Not sure it’s very clever, as the symlinks in /boot will probably end up pointing to the wrong kernel.

which symlinks ?
there are no symlinks.
menu.lst entries contain fully specified files, like:
root (hd0,0)
kernel /vmlinuz-2.6.32-5-default root=/dev/disk/by-id/ata-ST3750640NS_3QD0YLFC-part5 noresume splash=none quiet showopts vga=0x375
initrd /initrd-2.6.32-5-default