# [initrd] UDF-fs: No partition found (1)

## Boris Kavod

Hi everyone,

In order to use ACPI, I followed this tutorial from the gentoo-wiki and so, I created an initrd with mkinitrd then initrd-add like this:

```

mkinitrd initrd.img 2.6.17-gentoo

initrd-add initrd.img /DSDT.aml

```

My grub.conf was

```
title=Gentoo Linux 2.6.17-gentoo ACPI

root (hd0,0)

kernel /kernel-2.6.17-gentoo-acpi root=/dev/sda2 doscsi vga=0x31B acpi=on
```

and I added this line:

```

initrd=/boot/initrd.img

```

But now I have a kernel panic at boot time:

```

RAMDISK: Compressed image found at block 0

UDF-fs: No partition found (1)

No filesystem could mount root, tried: reiserfs ext3 ext2 vfat iso9660 udf

Kernel panic - not syncing: VFS: Unable to mount root fs on unknow-block(0,0)

```

Is someone can light me about this problem?

Thanks

----------

## NeddySeagoon

Boris Kavod,

A few things ... 

Your error 

```
unknow-block(0,0)
```

means one of three things

1. Your kernel cannot read the partition table for the drive holding your root filesystem.

2. You do not have low level hardware support for your disk controller in the kernel

3. You do not have high level support for your disk subsystem in the kernel 

Also your initrd file is not being used because 

```
kernel /kernel-2.6.17-gentoo-acpi root=/dev/sda2 doscsi vga=0x31B acpi=on
```

never calls it. Its actually a miniture root filesystem to be used to mount the real root filesystem.

Try 

```
kernel /kernel-2.6.17-gentoo-acpi root=/dev/ram0 init=/initrc ramdisk=8192 real_root=/dev/sda2 doscsi vga=0x31B acpi=on
```

Thats all one very long line - it may wrap in the post. 

Your kernel needs initrd support. Now, your initrd is used as root because of the root=/dev/ram0 entry.

----------

## Boris Kavod

Thanks for you answer.

I have change my boot cmdline... but no change.

About the 

```
unknow-block(0,0)
```

 error:

 *NeddySeagoon wrote:*   

> 1- Your kernel cannot read the partition table for the drive holding your root filesystem.
> 
> 2- You do not have low level hardware support for your disk controller in the kernel
> 
> 3- You do not have high level support for your disk subsystem in the kernel

 

Before adding the initrd line in my boot command, the kernel had all requiered file system support... are there any reason no longer now?

About my kernel configuration:

```

Device Drivers  --->

  Block devices  --->

   <*> RAM disk support

   (16)  Default number of RAM disks

   (4096) Default RAM disk size (kbytes)

   [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support

File systems  --->

 <*> Second extended fs support

 <*> Ext3 journalling file system support

   [*]   Ext3 extended attributes

 <*> Reiserfs support 

 <*> Kernel automounter version 4 support (also supports v3)

 Pseudo filesystems  --->

   [*] Virtual memory file system support (former shm fs)

```

----------

## NeddySeagoon

Boris Kavod,

If your kernel has everything you need to read the root filesystem, an initrd is not requied.

You misunderstand my orignail post. 

```
unknow-block(0,0)
```

means that one or more kernel modules to control the hardware to read the disk at all are not present. The kernel has not got as far as trying toread any filesystems.

Please post your lspci output so we can determine what hardware related items you need in your kernel.

----------

## Boris Kavod

In fact I need initrd to fix my DSDT table (for ACPI) following the instruction of the wiki HOWTO.

Here, my lspci:

```

cid linux-2.6.17-gentoo # lspci

00:00.0 Host bridge: Intel Corporation 925X/XE Express Memory Controller Hub (rev 05)

00:01.0 PCI bridge: Intel Corporation 925X/XE Express PCI Express Root Port (rev 05)

00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 03)

00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03)

00:1c.3 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (rev 03)

00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)

00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)

00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)

00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)

00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d3)

00:1f.0 ISA bridge: Intel Corporation 82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (rev 03)

00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03)

00:1f.2 IDE interface: Intel Corporation 82801FR/FRW (ICH6R/ICH6RW) SATA Controller (rev 03)

00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03)

01:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600 GT] (rev a2)

03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 01)

```

My Hard drive is SATA. Here, my mtab:

```

cid linux # cat /etc/mtab

/dev/sda2 / reiserfs rw,noatime 0 0

proc /proc proc rw 0 0

sysfs /sys sysfs rw 0 0

udev /dev tmpfs rw,nosuid 0 0

devpts /dev/pts devpts rw 0 0

/dev/sda4 /home ext3 rw,noatime 0 0

usb /proc/bus/usb usbfs rw,noexec,nosuid,nodev 0 0

shm /dev/shm tmpfs rw,noexec,nosuid,nodev 0 0

/dev/sda1 /boot ext2 rw,noatime 0 0

```

Thanks a lot for your help

----------

## Boris Kavod

If it can help you too.... When my grub is like that (allowing me to boot successfully):

```

title=Gentoo Linux 2.6.17-gentoo ACPI 

root (hd0,0) 

kernel /kernel-2.6.17-gentoo-acpi root=/dev/sda2 doscsi vga=0x31B acpi=on

```

The same place of the dmesg where it crash like that:

```

ReiserFS: sda2: found reiserfs format "3.6" with standard journal

input: AT Translated Set 2 keyboard as /class/input/input1

ReiserFS: sda2: using ordered data mode

ReiserFS: sda2: journal params: device sda2, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30

ReiserFS: sda2: checking transaction log (sda2)

ReiserFS: sda2: Using r5 hash to sort names

VFS: Mounted root (reiserfs filesystem) readonly.

Freeing unused kernel memory: 156k freed

```

----------

## NeddySeagoon

Boris Kavod,

I don't understand the connection between the error in your first post 

```
unknow-block(0,0)
```

and your last post, where the root filesystem has been identified and mounted read only prior to being checked.

Try adding 

```
noapic
```

to the kernel line and maybe truning off acpi too. Thats 

```
acpi=off
```

Once the kernel boots, all these things can be added fixed and back.

----------

## Boris Kavod

OK, sorry, maybe I am not very clear in my description (and maybe cause English is not my native language).

So, in order to explane from the begining:

My original problem is ACPI does not work (I have not thermal_zone information).

So I followed this HOWTO on Gentoo-wiki.com

In this HOWTO, I must override the original DSDT in initrd.

But before, I have not used initrd. My grub.conf was:

```

title=Gentoo Linux 2.6.17-gentoo ACPI 

root (hd0,0) 

kernel /kernel-2.6.17-gentoo-acpi root=/dev/sda2 doscsi vga=0x31B acpi=on

```

So I created one:

```

mkinitrd initrd.img 2.6.17-gentoo 

initrd-add initrd.img /DSDT.aml 

```

And modified my grub.conf with (now):

```

title=Gentoo Linux 2.6.17-gentoo ACPI

root (hd0,0)

kernel /kernel-2.6.17-gentoo-acpi root=/dev/ram0 init=/initrc ramdisk=8192 real_root=/dev/sda2 doscsi video=vesafb,mttr:2,1280x1024-24@60 acpi=on

initrd=/boot/initrd.img

```

But, when I boot, the following fatal error is raised:

```

RAMDISK: Compressed image found at block 0 

UDF-fs: No partition found (1) 

No filesystem could mount root, tried: reiserfs ext3 ext2 vfat iso9660 udf 

Kernel panic - not syncing: VFS: Unable to mount root fs on unknow-block(0,0) 

```

So, turning off ACPI will not help me for my first problem  :Wink: 

----------

## NeddySeagoon

Boris Kavod,

Ok - I follow again. It works when you do not try to use the the initrd.

unknow-block(0,0) in this case means that the kernel cannot get to /dev/ram0 to read it.

You get unknow-block(1,0) when the kernel can read /dev/ram0 but not understand whats there.

That Wiki does not create a proper full blown initrd than can be used to boot, it makes an initrd that the the kernel reads for extra information during the normal boot process. Thats why the wiki does not tell you to use the rooy=/dev/ram0 option, like I did.

My first advice is wrong.

----------

