cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
aaron_eda
Participant
Participant
15,615 Views
Registered: ‎05-07-2009

errors about building linux kernel

Jump to solution

Hi, everyone

Today i build linux kernel for ppc440, i refer the steps in this tutorial:

http://www.aclevername.com/articles/linux-xilinx-tutorial/index.html

i choose ELDK 4.2 as my cross-development tool and linux-2.6-xlnx as my linux kernel source.

 

unfortunately, after i configure linux using "make menuconfig", i build linux using "make  simpleImage.virtex440-mine",

there are two errors as follow:

[wjq@localhost xilinx-linux]$ make menuconfig
scripts/kconfig/mconf arch/powerpc/Kconfig
#
# configuration written to .config
#


*** End of Linux kernel configuration.
*** Execute 'make' to build the kernel or try 'make help'.

[wjq@localhost xilinx-linux]$ nice make simpleImage.virtex440-mine
scripts/kconfig/conf -s arch/powerpc/Kconfig

*** Error during update of the kernel configuration.

make[2]: *** [silentoldconfig] Error 1
make[1]: *** [silentoldconfig] Error 2
make: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'.  Stop.

How should  i solve this problem?

thanks!

 

0 Kudos
1 Solution

Accepted Solutions
chaplin_del
Xilinx Employee
Xilinx Employee
18,206 Views
Registered: ‎08-07-2007

I shall assume that you would like the CF card to be your root file system.

 

First, you will need to make sure that your systemace CF card has a good partition structure to it.  SystemACE can be used for configuration of the FPGA as well as a linux file system, so I will assume that you want 2 partitions – a FAT16 filesystem for the ACE controller, and a linux partition for your filesystem.

 

My flash drive is mounted as /dev/hdc on my linux box, ensure that you get this right, as you don’t want to overwrite any other drives!!!

 

Firstly start fdisk to manage partitions on your CF card – a lot of these commands will require you to be root:

 

 

sudo fdisk /dev/sdc

Command (m for help): p

 

The ‘p’ command will show the current layout of your drive (check to make sure it is the right one!).  Delete any partitions that are there if you like using the “d” command, as I’m assuming a blank device:

 

Disk /dev/sdc: 521 MB, 521773056 bytes

16 heads, 63 sectors/track, 1011 cylinders

Units = cylinders of 1008 * 512 = 516096 bytes

Disk identifier: 0x00000000

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1         195       98248+   6  FAT16

/dev/sdc2             196         390       98280   82  Linux swap / Solaris

/dev/sdc3   *         391        1011      312984   83  Linux

 

Command (m for help):d

Partition number (1-4): 1

Command (m for help):d

Partition number (1-4): 2

Command (m for help):d

Selected partition 3

 

Create a new primary partition for the ACE controller – I shall make this 100 Meg, you may want to make this more or less:

 

Command (m for help): n

Command action e extended p primary partition (1-4): p

Partition number (1-4): 1

First cylinder (1-1011, default 1):  (press return to use default)

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-1011, default 1011): +100M

 

Now create a primary partition for the linux filesystem, using the rest of the space on the device.

 

Command (m for help): n

Command action e extended p primary partition (1-4): p

Partition number (1-4): 1

First cylinder (196-1011, default 196): (press return to use default)

Using default value 196

Last cylinder or +size or +sizeM or +sizeK (196-1011, default 1011): (press return to use default)

Using default value 1011

 

Press p to review the changes that you have made to the partition table – they should look similar to below:

 

Disk /dev/sdc: 521 MB, 521773056 bytes

16 heads, 63 sectors/track, 1011 cylinders

Units = cylinders of 1008 * 512 = 516096 bytes

Disk identifier: 0x00000000

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1         195       98248+  83  Linux

/dev/sdc2             196        1011      411264   83  Linux

 

If you are happy with the results, continue to set the type of partition 1 to FAT16:

 

Command (m for help): t

Partition number (1-4): 1

Hex code (type L to list codes): 6

Changed system type of partition 1 to 6 (FAT16)

 

Press p again to review your settings.  If all looks well, type w to write the changes to the disk and exit fdisk

 

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table

Syncing disks.

 

Now we need to format the partitions to make them useable.  Format partition 1 as fat, and 2 as ext3:

 

sudo mkfs.msdos /dev/sdc1

sudo mkfs.ext3 /dev/sdc2

 

For my root filesystem, I downloaded the ramdisk image from the Xilinx wiki, mounted it, and the CF card, and copied the contents across:

 

sudo mount /dev/sdc2 /mnt

cd

mkdir ramdisk

cd ramdisk

wget http://xilinx.wikidot.com/local--files/start/ramdisk.image.gz

gunzip ramdisk.image.gz

mkdir mnt

sudo mount –o loop ramdisk.image mnt

cd mnt

sudo cp –r . /mnt

cd ..

sudo umount /mnt

sudo umount mnt

 

Everything should now be on the compact flash card – on with the kernel configuration.

 

In the kernel, make sure that the device driver -> block drivers -> system ace is enabled.

 

In the dts file, change your root= command to point to the systemace partition instead of a ramdisk.  If your linux partition is partition 2 (as above) set the commandline to

 

root=/dev/xsa2 rw

 

Rebuild the kernel, but instead of using simpleImage.initrd.<yourdts file>, use simpleImage.<yourdts file>

 

Eg:

 

make simpleImage.virtex440-kris

 

This should build the kernel, but without the ramdisk built in.

 

Boot your board in the usual way, with your compact flash card plugged in, and you should be good to go.  If you have problems, let me know.

 

Best regards

Kris Chaplin
Xilinx UK

View solution in original post

14 Replies
linnj
Xilinx Employee
Xilinx Employee
15,577 Views
Registered: ‎09-10-2008

I don't see ARCH=powerpc on the command line, are you using it when you build the kernel?

 

Did you use our default kernel config as I don't see that either (virtex5_defconfig).

 

-- John

0 Kudos
aaron_eda
Participant
Participant
15,566 Views
Registered: ‎05-07-2009

thank you, John.

i have solved this problem.  In fact, when i configured(using"make 44x/virtex5_defconfig" ) and built (using"make simpleImage.virtex440-ml507.elf") the linux kenerl using root account, there are no errors during this process.

 

but there is a another problem after i download bitstream bit file to my custom board in EDK and dow elf file by XMD.

Information shows on hyperterminal  as follows after i execute command "run" in XMD :

 ***************************************

Linux/PowerPC load: console=ttyUL0 root=/dev/ram                                               
Finalizing device tree... flat tree at 0x5a0300                                              
Using Xilinx Virtex440 machine description                                         
Linux version 2.6.29 (root@localhost.localdomain) (gcc version 4.2.2) #1 PREEMPT                                                                               
 Mon May 25 22:16:10 CST 2009                            
Zone PFN ranges:               
  DMA      0x00000000 -> 0x00020000                                  
  Normal   0x00020000 -> 0x00020000                                  
Movable zone start PFN for each node                                   
early_node_map[1] active PFN ranges                                  
    0: 0x00000000 -> 0x00020000                              
MMU: Allocated 1088 bytes of context maps for 255 contexts                                                         
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048                                                                          
Kernel command line: console=ttyUL0 root=/dev/ram                                                
Xilinx intc at 0x81800000 mapped to 0xfdfff000                                             
PID hash table entries: 2048 (order: 11, 8192 bytes)                                                   
clocksource: timebase mult[d55555] shift[22] registered                                                      
Console: colour dummy device 80x25                                 
console [ttyUL0] enabled                       
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)                                                              
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)                                                             
Memory: 516096k/524288k available (3168k kernel code, 7996k reserved, 116k data,                                                                               
 134k bss, 172k init)                    
Calibrating delay loop... 598.01 BogoMIPS (lpj=1196032)                                                      
Mount-cache hash table entries: 512                                  
net_namespace: 880 bytes                       
NET: Registered protocol family 16                                 
bio: create slab <bio-0> at 0                            
XGpio: /plb@0/gpio@81400000: registered                                      
NET: Registered protocol family 2                                
IP route cache hash table entries: 16384 (order: 4, 65536 bytes)                                                               
TCP established hash table entries: 65536 (order: 7, 524288 bytes)                                                                 
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)                                                          
TCP: Hash tables configured (established 65536 bind 65536)                                                         
TCP reno registered                  
NET: Registered protocol family 1                                
msgmni has been set to 1008
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
84000000.serial: ttyUL0 at MMIO 0x84000003 (irq = 16) is a uartlite
brd: module loaded
loop: module loaded
xilinx_emaclite 81000000.ethernet: Device Tree Probing 'ethernet'
xilinx_emaclite 81000000.ethernet: MAC address is now  2: 0: 0: 0: 0: 0
xilinx_emaclite 81000000.ethernet: using fifo mode.
eth0 (): not using net_device_ops yet
xilinx_emaclite 81000000.ethernet: Xilinx EMACLite at 0x81000000 mapped to 0xE10
40000, irq=17
mice: PS/2 mouse device common for all mice
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
List of all partitions:
No filesystem could mount root, tried:  ext3 ext2 cramfs vfat msdos romfs
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
Rebooting in 180 seconds..

******************************************

 

I can not do anything in hyperterminal. Is there something wrong with my elf file?

what should i do next?

 

It looks like no file system in my elf file. How should I mount a file system?

 

thanks!

 

 

 

 

 

 

 

0 Kudos
omeraygor
Observer
Observer
15,559 Views
Registered: ‎10-17-2008
i am using ml405.


make ARCH=powerpc simpleImage.virtex405-ml405

simpleImage.virtex405-ml405.elf does not include file system. (only kernel not file system) you have to add file system to ram. then it works.

but i suggest you... 

  make ARCH=powerpc simpleImage.initrd.virtex405-ml405

simpleImage.initrd.virtex405-ml405.elf include file system.   kernel + filesystem. and file system type is ext2.


try this...

make ARCH=powerpc simpleImage.initrd.virtex440-ml507

omer aygor...
aaron_eda
Participant
Participant
15,514 Views
Registered: ‎05-07-2009

thank you!

According to your message, I get a big progress.

But there is a another problem when i download my elf file through XMD to my custom board.

the information shows on hyperterminal as follows:

*********************************

zImage starting: loaded at 0x00400000 (sp: 0x00859eb0) overruns:0 carrier:0                                
Allocating 0x35d874 bytes for kernel ...ollisions:0 txqueuelen:0               
gunzipping (0x00000000 <- 0x0040d000:0x005923cd)...done 0x33bf78 bytes                                            

# ping 192.168.2.16   
Attached initrd image at 0x00593000-0x008580b7): 56 data bytes                             
initrd head: 0x1f8b0808sendto: Network is unre

Linux version 2.6.29 (root@localhost.localdomain) (gcc version 4.2.2) #1 PREEMPT                                              
          TX packets:0 errors:0
 Mon May 25 22:16:10 CST 2009                            
Found initrd at 0xc0593000:0xc08580b7      collisions:0 txqueuelen:0     
Zone PFN ranges:           
  
  DMA      0x00000000 -> 0x000200000 (0.0 B)                         
  Normal   0x00020000 -> 0x00020000th0 192.168.2.45                  
Movable zone start PFN for each node    Link encap:Ethernet  HWaddr 02:0
early_node_map[1] active PFN ranges                               
 
    0: 0x00000000 -> 0x00020000Bcast:192.168.2.255  Mask:255.2
MMU: Allocated 1088 bytes of contex                                 
PID hash table entries: 2048 (order: 11, 8192 bytes)                           
          RX bytes:0 (0
clocksource: timebase mult[d55555] shift[22] registered                
          Interrupt:17 Memory:8100000
Console: colour dummy device 80x25                     

lo       
console [ttyUL0] enabled                       
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)                                     
          UP LOOPBACK RU
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)            
          RX packets:0 errors:0 dropped:0 overru
Memory: 513152k/524288k available (3168k kernel                       
                     
XGpio: /plb@0/gpio@81400000: registered                                      
NET: Registered protocol family 2   
# ifconfig eth0            
IP route cache hash table entries: 16384 (order: 4, 65536 bytes)                                               
          inet
TCP established hash table entries: 65536 (order: 7, 524288 bytes)                                                               
 
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)                                      
          RX packet
TCP: Hash tables configured (established 65536                                             
io scheduler noop registered   
brctl        dhcprelay
io scheduler anticipatory registered     telnetd                       
io scheduler deadline registered              
chpasswd     dns
io scheduler cfq registered (default)tfont      udhcpd                   
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabledt       fakeidentd   loadfont     rdev         setlogcon
84000000.serial: ttyUL0 at MMIO 0x84000003 (irq = 16) is a uartlited        fbse
xilinx_emaclite 81000000.ethernet: using fifo mode.
eth0 (): not using net_device_ops yet
xilinx_emaclite 81000000.ethernet: Xilinx EMACLite at 0x81000000 mapped to 0xE10
40000, irq=17
mice: PS/2 mouse device common for all mice
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem) readonly on device 1:0.
Freeing unused kernel memory: 172k`Running rcS...
Starting system loggers
Configuring loopback interface
Starting inetd
sh: can't access tty; job control turned off
# ls
bin      dev      etc      linuxrc  proc     sbin     usr
# cd usr
# ls
bin   sbin
# mkdir mydir
mkdir: cannot create directory 'mydir': Read-only file system

********************************************

I try to make a new directory ,but this is a "Read-only file system".

I hope somebody would help me solve two problems  as follows:

1. how can i add and execuate my own applications in this Read-only  embedded linux OS?

2. my elf file is made up of linux kernel configuration and ramdisk.image.gz(download from this forum). How can i generate a new root file system like ramdisk.image.gz that is writable?

 

thanks!!

 

 

0 Kudos
chaplin_del
Xilinx Employee
Xilinx Employee
15,499 Views
Registered: ‎08-07-2007

 

I try to make a new directory ,but this is a "Read-only file system".

I hope somebody would help me solve two problems  as follows:

1. how can i add and execuate my own applications in this Read-only  embedded linux OS?

2. my elf file is made up of linux kernel configuration and ramdisk.image.gz(download from this forum). How can i generate a new root file system like ramdisk.image.gz that is writable?

 

thanks!!

 

 


Hello Aaron,

 

Great to see that you are making some good progress.  The reason that you are unable to write to the ramdisk is that by default it is set to read-only.  To change this behaviour, in the kernel arguments, add the keyword "rw" after the initfs command - for example

 

initrd=/dev/ram rw

 

This will allow you to write to the filesystem.  However, of course, as this is a ramdisk, any changes that you make to it will be lost upon a reboot of the system.  You can change this command in your dts file directly, or alternatively,  add it to the commandline via RS232 when the system is booting.

 

On your host system, you can modify the contents of the ramdisk image to add/remove files from it.  The image is compressed, so you can follow these steps to add a file to it:

 

(a) Uncompress the ramdisk image:

gunzip ramdisk.image.gz

(b) Mount it (needs superuser priviliges) to a directory that already exists

mount -o loop ramdisk.image /mnt/image

(c) You can now add or remove files from the ramdisk image, and add any of your programs - take a browse at /mnt/image, or wherever you mounted the files

(d) When you have finished, unmount the filesystem:

umount /mnt/image

(e) re-compress the image

gzip -9 ramdisk.image

 

 

You should now have a modified ramdisk.image.gz that you can place back in your arch/powerpc/boot directory to rebuild the kernel with.

 

Hope that helps - let me know if it works for you.

 

Best regards

 

Kris

Kris Chaplin
Xilinx UK
aaron_eda
Participant
Participant
15,407 Views
Registered: ‎05-07-2009

Hello Chaplin,
Thank you very much for helping me to bulid a writable filesystem successfully.
According to your simple but effective suggestion, I did following work. And, I really built a
writable filesystem.
 (a) change the default setting of ramdisk. firstly, I modify my dts file directly. I search the
 key words "initrd=/dev/ram rw" ,unfortunately, there is no this key words in my dts file. But a
 find somethings like it:
   chosen {
  bootargs = "console=ttyUL0 root=/dev/ram";
  linux,stdout-path = "
/plb@0/serial@84000000";
 }
;
 Then I change the second line from "bootargs = "console=ttyUL0 root=/dev/ram";" to
 "bootargs = "console=ttyUL0 root=/dev/ram rw ";".Just add "rw" to this line and save change.
 
 (b) I regenerate elf file using this new dts file in ELDK4.2.
 (c) Download elf file in XMD, and the information shows on hyperterminal as follows:
**************
zImage starting: loaded at 0x00400000 (sp: 0x00867eb0)                                                     
Allocating 0x379ab4 bytes for kernel ...                                       
gunzipping (0x00000000 <- 0x0040d000:0x005a01ea)...done 0x357f78 bytes                                                                     
Attached initrd image at 0x005a1000-0x008660b7                                             
initrd head: 0x1f8b0808                      

Linux/PowerPC load: console=ttyUL0 root=/dev/ram rw                                                  
Finalizing device tree... flat tree at 0x874300                                              
Using Xilinx Virtex440 machine description                                         
Linux version 2.6.29 (root@localhost.localdomain) (gcc version 4.2.2) #1 PREEMPT  
     ......
# ls
bin      dev      etc      linuxrc  proc     sbin     usr
# mkdir mydir
# ls
bin      dev      etc      linuxrc  mydir    proc     sbin     usr
# cd mydir
#
**********************
Excitedly, I can make a new directroy in this filesystem. So I think that this filesystem is writable.

I also try to add "rw" to the commandline via RS232 when the system is booting. But i failed to do this operation.

 

As you said, any changes that I make to it will be lost upon a reboot of the system as this is a ramdisk. So I want to

build a filesystem which can hold any changes when I reboot the system.

 

There is a 512MB CF card on my board. Can I build a filesystem in CF card? How to implement this
idea?

I hope somebody would help me. Thank you!!    

0 Kudos
chaplin_del
Xilinx Employee
Xilinx Employee
15,405 Views
Registered: ‎08-07-2007

Great to hear that you are making good progress.  Apologies - root=/dev/ram rw was what I meant - initrd was a typo.

 

Firstly, you will need to get systemace as a peripheral in your XPS project.  This can be done by re-running the base system builder and enabling it, or alternatively adding it by hand.  Make sure that you enable interrupts to be connected when you build the core.

 

Would you want the systemace card to be the root filesystem instead of the ramdisk image, or would this be a separate mount point within your ramdisk filestructure?

 

Best regards

 

Kris

Kris Chaplin
Xilinx UK
0 Kudos
chaplin_del
Xilinx Employee
Xilinx Employee
18,207 Views
Registered: ‎08-07-2007

I shall assume that you would like the CF card to be your root file system.

 

First, you will need to make sure that your systemace CF card has a good partition structure to it.  SystemACE can be used for configuration of the FPGA as well as a linux file system, so I will assume that you want 2 partitions – a FAT16 filesystem for the ACE controller, and a linux partition for your filesystem.

 

My flash drive is mounted as /dev/hdc on my linux box, ensure that you get this right, as you don’t want to overwrite any other drives!!!

 

Firstly start fdisk to manage partitions on your CF card – a lot of these commands will require you to be root:

 

 

sudo fdisk /dev/sdc

Command (m for help): p

 

The ‘p’ command will show the current layout of your drive (check to make sure it is the right one!).  Delete any partitions that are there if you like using the “d” command, as I’m assuming a blank device:

 

Disk /dev/sdc: 521 MB, 521773056 bytes

16 heads, 63 sectors/track, 1011 cylinders

Units = cylinders of 1008 * 512 = 516096 bytes

Disk identifier: 0x00000000

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1         195       98248+   6  FAT16

/dev/sdc2             196         390       98280   82  Linux swap / Solaris

/dev/sdc3   *         391        1011      312984   83  Linux

 

Command (m for help):d

Partition number (1-4): 1

Command (m for help):d

Partition number (1-4): 2

Command (m for help):d

Selected partition 3

 

Create a new primary partition for the ACE controller – I shall make this 100 Meg, you may want to make this more or less:

 

Command (m for help): n

Command action e extended p primary partition (1-4): p

Partition number (1-4): 1

First cylinder (1-1011, default 1):  (press return to use default)

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-1011, default 1011): +100M

 

Now create a primary partition for the linux filesystem, using the rest of the space on the device.

 

Command (m for help): n

Command action e extended p primary partition (1-4): p

Partition number (1-4): 1

First cylinder (196-1011, default 196): (press return to use default)

Using default value 196

Last cylinder or +size or +sizeM or +sizeK (196-1011, default 1011): (press return to use default)

Using default value 1011

 

Press p to review the changes that you have made to the partition table – they should look similar to below:

 

Disk /dev/sdc: 521 MB, 521773056 bytes

16 heads, 63 sectors/track, 1011 cylinders

Units = cylinders of 1008 * 512 = 516096 bytes

Disk identifier: 0x00000000

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1         195       98248+  83  Linux

/dev/sdc2             196        1011      411264   83  Linux

 

If you are happy with the results, continue to set the type of partition 1 to FAT16:

 

Command (m for help): t

Partition number (1-4): 1

Hex code (type L to list codes): 6

Changed system type of partition 1 to 6 (FAT16)

 

Press p again to review your settings.  If all looks well, type w to write the changes to the disk and exit fdisk

 

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table

Syncing disks.

 

Now we need to format the partitions to make them useable.  Format partition 1 as fat, and 2 as ext3:

 

sudo mkfs.msdos /dev/sdc1

sudo mkfs.ext3 /dev/sdc2

 

For my root filesystem, I downloaded the ramdisk image from the Xilinx wiki, mounted it, and the CF card, and copied the contents across:

 

sudo mount /dev/sdc2 /mnt

cd

mkdir ramdisk

cd ramdisk

wget http://xilinx.wikidot.com/local--files/start/ramdisk.image.gz

gunzip ramdisk.image.gz

mkdir mnt

sudo mount –o loop ramdisk.image mnt

cd mnt

sudo cp –r . /mnt

cd ..

sudo umount /mnt

sudo umount mnt

 

Everything should now be on the compact flash card – on with the kernel configuration.

 

In the kernel, make sure that the device driver -> block drivers -> system ace is enabled.

 

In the dts file, change your root= command to point to the systemace partition instead of a ramdisk.  If your linux partition is partition 2 (as above) set the commandline to

 

root=/dev/xsa2 rw

 

Rebuild the kernel, but instead of using simpleImage.initrd.<yourdts file>, use simpleImage.<yourdts file>

 

Eg:

 

make simpleImage.virtex440-kris

 

This should build the kernel, but without the ramdisk built in.

 

Boot your board in the usual way, with your compact flash card plugged in, and you should be good to go.  If you have problems, let me know.

 

Best regards

Kris Chaplin
Xilinx UK

View solution in original post

aaron_eda
Participant
Participant
15,266 Views
Registered: ‎05-07-2009

Thank you very much for your zealous help!

According your information, I had built a root file system on my CF card successfully.

  

Best regards!

 

0 Kudos
garazigara
Participant
Participant
7,348 Views
Registered: ‎11-13-2008

Hi,

 

We`re working in embedded design project for the ML507 board. I choose ELDK 4.2 as my cross-development tool and linux-2.6-xlnx as my linux kernel source. I refer the steps in the following link: http://xilinx.wikidot.com/powerpc-linux


 I've got problems when I try to configure the kernel. I type make ARCH=powerpc 44x/virtex5_defconfig in EDK shell or in Cooperative Linux Console but the following error appears:

 

NO RULE TO MAKE TARGET '44x/virtex_defconfig'.Stop.

 

We type make command once we have placed in  C:\Documents and Settings\gjuez\Escritorio\linux-2.6-xlnx.git-HEAD\linux-2.6-xlnx.git\arch\powerpc\boot (the directory where makefile is placed)

 

 Best regards,

 

Garazi

0 Kudos
linnj
Xilinx Employee
Xilinx Employee
7,328 Views
Registered: ‎09-10-2008

I thought I had responded to this already, but I don't see the response, sorry for the delay.

 

I think you would be better to start a new thread rather than to continue on a thread that looks to be complete. 

 

NO RULE TO MAKE TARGET '44x/virtex_defconfig'.Stop

 

This shows that you probably didn't type "virtex5_defconfig" as the error says you typed "virtex_defconfig" and there's no such config file.

 

Thanks.

0 Kudos
garazigara
Participant
Participant
7,309 Views
Registered: ‎11-13-2008

Hi,

 

Thanks for your response.

 

We've already solved it.  We had problems with directories and that´s why it didn´t work.

 

But, now we' ve got a different problem and we can´t solve it. 

 

 

After typing make ARCH= 44x/virtex5_defconfig, the following command is typed:

 

make ARCH=powerpc simpleImage.virtex440-ml507

 

And this error appears:

 

gjuez@ubuntu:/opt/SoftDev/Xilinx/linux-2.6.31/linux-2.6-xlnx.git$ sudo make ARCH=powerpc simpleImage.virtex440-ml507
scripts/kconfig/conf -s arch/powerpc/Kconfig
*** 2.6 kernels no longer build correctly with old versions of binutils.
*** Please upgrade your binutils to 2.12.1 or newer
make: *** [checkbin] Error 1

 

Any idea? We have ELDK 4.2 already installed.

 

 Thanks in advance,

 

Best regards,

 

Garazi

 

0 Kudos
linnj
Xilinx Employee
Xilinx Employee
7,307 Views
Registered: ‎09-10-2008

My guess is that you don't have the tools setup right.

 

I'm assuming you didn't build any other architecture kernel in that tree (like MicroBlaze), otherwise a make ARCH=powerpc mrproper needs to be done, but I don't think that's your problem.

 

Check your CROSS_COMPILE environment var and your PATH to make sure the right tools are being used.  Invoke the compiler to make sure the right one runs with the value of CROSS_COMPILE.

 

I use ppc_4xx- for CROSS_COMPILE with ELDK 4.1.

 

Hope that helps.

0 Kudos
garazigara
Participant
Participant
7,226 Views
Registered: ‎11-13-2008

Thanks for your reply John.

 

Finally we've got to build linux kernel. The problem was that the tools were not setup right, so, we had to install ELDK 4.1 instead of ELDK 4.2 and it worked.

 

We've made our own application as well and include it in home directory of the filesystem. So, now, every application made for XPS standalone are not available? For instance,  we had made an application for sending and receiving via Ethernet. But, I suppose that now we have to delete it and we have just to  work with a bootloop or bootloader in our project. Is it true?

 

Regards,

 

Garazi

 

 

0 Kudos