[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#483082: initramfs-tools: Error while detecting rootfs when 'MODULES=dep'



Le Tuesday 27 May 2008 vers 00:41, maximilian attems(maximilian 
attems <max@stro.at>) a écrit:


Hello,

> please learn to set severity properly.
> MODULES=dep is not the default, thus is is max important, thanks.
> also failing on 2 boxes is not like redering initrmafs-tools
> unusable!?

 I set it to severity grave beaucause added with an other bug some 
machines may became unbootable under 2.6.25 kernel series...
 You can downgraded the serverty if you think it's high.

> can you please post addtitional info, i'd like to see output of
> cat /etc/fstab

The files are attached.

> > root=UUID=76188785-a331-44de-a9b8-12f07ce5172d profile=64
> > noisapnp
>
> nice.

In first place, while trying get 2.6.25-1 up, I moved to UUID on a 
machine to make clear that the issue isn't due to device naming 
scheme.

> +	eval "$(mount | awk '/ \/dev\// {if ($3 = "/") {print
                                            ^^^^^^
> > "root=" $1 "\nFSTYPE=" $5; exit}}')"

> there seem to be a typo here, awk '/\/dev// {}' without space
> works better for me.

 You're right.
 Moreover, the there is mistake. In fact, '($3 = "/")' *must be* '($3 
== "/")'.
The new version is attached.

>
> > +	if [ "${root}" = "/dev/root" ] ; then
> > +		root="/dev/disk/by-uuid/"$(/lib/udev/vol_id --uuid ${root})
> > 2>/dev/null +	fi
> > +	root="$(readlink -f ${root})"
>
> shouldn't the readlink be also under the if as only needed for
> UUID path?

	No. In fact, On 2 of my machines, the rootfs is mounted 
on /dev/root. It googled a bit, and this issue is related to be 
busybox....
So we have 3 cases here. eval "$(mount | awk '/"... returns
	* an UUID when the rootfs is mounted with the 'LABEL=' or 'UUID='. 
The UUID is a relative symbolic link located in /dev/disk/by-uuid/ 
pointing to the real device.
	* the real disk device.
	* /dev/root

	When "root=/dev/root", we have to figure out what it is, which is 
done in the "if" block.

	Once we got the symlink to the root device, we can use 'readlink' to 
get the real device. Using 'readlink' on a file which is not a 
symlink doesn't matters(case 2).


Cheers,
-- 
http://www.glennie.fr
The reasonable man adapts himself to the world; the unreasonable one 
persists in trying to adapt the world to himself. Therefore all 
progress depends on the unreasonable man.
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc  proc    nodev,noexec,nosuid        0       0


/dev/sda5										/       ext3  defaults				0					1
/dev/sda1 									/boot   ext3  data=writeback,errors=remount-ro				0					1      
/dev/sda6										/usr		ext3	data=writeback,errors=remount-ro				0					1
/dev/sda7										/var 		ext3	data=writeback,errors=remount-ro				0					1
/dev/sda8       						/tmp 		ext3	data=writeback,errors=remount-ro				0					1
/dev/sda9       						/home 	ext3	data=writeback,errors=remount-ro				0					1
/dev/sda10      						/miscs 	ext3	data=writeback,errors=remount-ro				0					1
/dev/data/data   						/data 	ext3	data=writeback,errors=remount-ro				0					1

/dev/saves/saves      			/saves 	ext3	data=writeback,errors=remount-ro				0					1


/dev/sda2       none            swap    sw              0       0
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       					<dump>  <pass>
proc            	/proc           proc    defaults        					0       0

# =================
# = /dev/sda5		/ =
# =================
UUID=76188785-a331-44de-a9b8-12f07ce5172d	/				ext3	errors=remount-ro	0				1

# =====================
# = /dev/sda1		/boot =
# =====================
UUID=b213dcfb-307e-4ac2-9c26-d270aac1c0e4 /boot   ext3   data=writeback   0       2


# ====================
# = /dev/sda7		/opt =
# ====================
UUID=ba97d770-14c0-4bea-9866-392f03c99a6d	/opt    ext3 		data=writeback  0       2


# ======================
# = /dev/sda10		/tmp =
# ======================
UUID=5993f298-f525-4af5-abe9-2924edc09e60	/tmp    ext3 		data=writeback  0       2


# ====================
# = /dev/sda6		/usr =
# ====================
UUID=22022fa6-aab8-4430-a63e-c39a7840f3bb /usr    ext3    data=writeback 	0       2



# ====================
# = /dev/sda8		/var =
# ====================
UUID=82f7287a-b956-4d66-80c6-674033e09278 /var     ext3    data=writeback 0       2



# =====================
# = /dev/sda9		/home	=
# =====================
UUID=9d6e19a3-0f38-4b2c-a4a6-59270c09a5df	/home		 ext3		data=writeback	0				2



# =======
# = LVM =
# =======
/dev/data/data		/data						ext3  	data=writeback  					0				2
UUID=13a8ed92-34b4-4637-9671-1d920467c995	/data/miscs 		ext3		data=writeback 0				2



/dev/sda2       	none           	swap    sw              					0       0
/dev/hda        	/media/cdrom0  	udf,iso9660 user,noauto     			0				0

Reply to: