[ELDK] RE : RE : How can I build agin the toolchain ? (ELDK)

Wolfgang Denk wd at denx.de
Tue Aug 17 19:33:55 CEST 2010


Dear Marie,

In message <EE97821C81277E459BEA5C6384C6F2410107A0E5F2C4 at srvexch01.SODIELEC.local> you wrote:
> 
> I followed the steps on this link http://www.denx.de/wiki/DULG/AN2009_02_El=
> dkReleaseBuildEnvironment with QEMU.
> when launching QEMU as told in the link :
> 
> # qemu -m 1024 -net nic,model=3Drtl8139 -net tap,script=3D/etc/ifup-build -=
> hda root-rh-7.3.img -hdc /dev/vg0/eldk_build
> 
> I got these errors :
> /etc/ifup-build: could not launch network script
> Could not initialize device 'tap'

This is a known problem. Please see the bug report here:

https://bugzilla.redhat.com/show_bug.cgi?id=559154

At the end you will find the recommended workaround / fix: add
an entry of "emulator_clear_caps=0" to your /etc/libvirt/qemu.conf
file.

...
> $ cd /net/eldk-build/opt/eldk/
> It says No such file or directory

Well, this is an example. You have to adjust it to your local setup.
The "/net/" notation refers to directories mounted automatically over
NFS using the automounter.

> It seems the host and the VBH cannot communicate. I may have forgot something,
> do you have any idea ?

Well, that is caused by the error reported above: "Could not initialize
device 'tap'". Fix the first problem, and this one will go away, too.

This is a general rule when dealing with computers: fix problems in
the order they occur. Do not look at further issues until you have
fixed the very first problem.

> Concerning the other way (not running Qemu) using chroot, I don't manage to
> do it.
> Here is what I have done :
> 
> $ mount -o loop -t auto /home/alberix/Documents/eldk_build/root-rh-7.3.img /dev/sda8
> It tells me to specify the type of filesystem. So I tried :
> $ mount -t ext3 /home/alberix/Documents/eldk_build/root-rh-7.3.img /dev/sda> 8
> but it tells me the type is wrong (even with ext2) and doing :

root-rh-7.3.img is a complete disk image, with boot sector (MBR),
partition table and all this stuff. It is not only a file system
image. You cannot mount it as simple as you tried.

> The type of root-rh-7.3.img is unknown

Why is it unknown? The documentation says "hard disk image", and
running the "file" command says:

-> file root-rh-7.3.img
root-rh-7.3.img: x86 boot sector; GRand Unified Bootloader, stage1
version 0x3, boot drive 0x80, stage2 address 0x2000, stage2 segment
0x200, GRUB version n.m; partition 1: ID=0x83, active, starthead 1,
startsector 63, 10490382 sectors; partition 2: ID=0x82, starthead 0,
startsector 10490445, 2088450 sectors, code offset 0x48

This is pretty explicit information, isn't it?

Of course you can also try:

-> fdisk -ul root-rh-7.3.img
You must set cylinders.
You can do this from the extra functions menu.

Disk root-rh-7.3.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

          Device Boot      Start         End      Blocks   Id  System
root-rh-7.3.img1   *          63    10490444     5245191   83  Linux
root-rh-7.3.img2        10490445    12578894     1044225   82  Linux swap / Solaris


> and when I try to convert it in a .iso with iat, I got :
> This image is not CD IMAGE

Nobody claimed that it was an ISO image either. The documentation says
"hard disk image".

> I am not able to chroot into the RH-7.3 build environment. 


So from the above "fdisk" output we know that the Linux ext2
partition (Id 83) starts at sector 63, which means an offset
of 63 * 512 = 32256 from the beginning of the image. So let's try:

-> sudo mount -o ro,loop,offset=32256 root-rh-7.3.img /mnt/tmp
-> ls /mnt/tmp/
bin   boot-2008-11-25-1630.tar.gz  dev  home    lib         misc  opt       proc  sbin      tmp  var
boot  boot.OLD                     etc  initrd  lost+found  mnt   poweroff  root  tftpboot  usr  work


As you can see, this works pretty well :-)


Hope this helps.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
God made machine language; all the rest is the work of man.


More information about the eldk mailing list