Skip to contentSkip to conversation

regarding lspci

DISCUSSION rahul 5 participants 7 messages Jul 11, 2006 – Jul 12, 2006 Library code

lore
Share & tools
lore

rahul

author
#0 lore raw

Hi All

My target system is powerpc , linux-2.6.11.
when i give the lspci in my target system , it says "can't find the command".
I have seen in the ramdisk directory, i could not see the lspci utility or pci utilities. Even in the busybox i could not find the utility. In linux i have enabled the pci support.

How to get the utility to busybox. I have searched in the net but could not succeed. Can anyone please help me in this regard. plz correct me if i am missing some basic configuration .

Thanks & Regards
Rahul

#1 lore raw

Rahul,

you need to download the pciutils (e.g. 2.1.11) tarball, and cross compile it for PPC.

However, i had to patch the configure script to make it cross-compilable. Here is the patch

---------------------------8-<-----------------------------------------------

lib/configure 2006-05-29 11:08:00.000000000 +0200 renamed from lib/configure 2003-01-04 13:29:23.000000000 +0100 +14 -11
diff -Nurd pciutils-2.1.11.ori/lib/configure pciutils-2.1.11/lib/configure
@@ -12,17 +12,20 @@
 echo_n "Configuring libpci for your system..."
 sharedir=${1:-/usr/share}
 version=${2:-0.0}
-sys=`uname -s`
-rel=`uname -r`
-if [ "$sys" = "AIX" -a -x /usr/bin/oslevel -a -x /usr/sbin/lsattr ]
-then
-       rel=`/usr/bin/oslevel`
-       proc=`/usr/sbin/lsdev -C -c processor -S available -F name | head -1`
-       cpu=`/usr/sbin/lsattr -F value -l $proc -a type | sed 's/_.*//'`
-else
-       cpu=`uname -m | sed 's/^i.86$/i386/;s/^sun4u$/sparc64/'`
-fi
-echo " $sys/$cpu $rel"
+sys=Linux
+rel=2.6.13
+cpu=ppc
+#sys=`uname -s`
+#rel=`uname -r`
+#if [ "$sys" = "AIX" -a -x /usr/bin/oslevel -a -x /usr/sbin/lsattr ]
+#then
+#      rel=`/usr/bin/oslevel`
+#      proc=`/usr/sbin/lsdev -C -c processor -S available -F name | head -1`
+#      cpu=`/usr/sbin/lsattr -F value -l $proc -a type | sed 's/_.*//'`
+#else
+#      cpu=`uname -m | sed 's/^i.86$/i386/;s/^sun4u$/sparc64/'`
+#fi
+#echo " $sys/$cpu $rel"
 
 c=config.h
 echo >$c "#define ARCH_`echo $cpu | tr 'a-z' 'A-Z'`"

---------------------------8-<-----------------------------------------------

For the build, i called
export CROSS=$(CROSS_COMPILE)
make HOST=$(ARCH)

However, depending on your environment, it might by slightly different in your case.

Quoted 21 lines · rahul

Hi All

My target system is powerpc , linux-2.6.11.
when i give the lspci in my target system , it says "can't find the command".
I have seen in the ramdisk directory, i could not see the lspci utility or pci utilities. Even in the busybox i could not find the utility. In linux i have enabled the pci support.

How to get the utility to busybox. I have searched in the net but could not succeed.
Can anyone please help me in this regard. plz correct me if i am missing some basic configuration .

Thanks & Regards
Rahul
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Signature · 15 lines
Mit freundlichen Gruessen / Best regards

Claus Gindhart
SW R&D
Kontron Modular Computers
phone :++49 (0)8341-803-374
ailto:[email protected]
http://www.kontron.com

-----BEGIN GEEK CODE BLOCK-----
  Version: 3.1
  GU d- s++:>++:+ a+ C++$ !U !P L++>$ E-- W+(-) N- o?
  K? w !O !M V !PS PE- Y+ PGP+ t 5? X R* tv- b+ DI+++
  D-- G e++> h--- !r x+++
------END GEEK CODE BLOCK------
author
#2 lore raw

Hi Claus.Gindhart

I am facing some problem in applying the patch.

I have copied the pacth to a file "patch-pciutils"

[root@localhost pciutils-2.1.11]# file patch-pciutils
patch-pciutils: 'diff' output text
[root@localhost pciutils-2.1.11]#
when i gave the command :
[root@localhost pciutils-2.1.11]# patch -p1 patch-pciutils
.
.
Nothing happens even after 3/4 minutes...so i am stopping it by ctrl+c. None of the files are edited.

In the patch u sent , let me know wether it is complete one or configure file is left as it is after the lines c=config.h
echo >$c "#define ARCH_echo $cpu | tr 'a-z' 'A-Z'"

Thanks & Regards
Rahul

Quoted 76 lines · Claus Gindhart

Rahul,

you need to download the pciutils (e.g. 2.1.11) tarball, and cross compile it for PPC.

However, i had to patch the configure script to make it cross-compilable. Here is the patch

---------------------------8-<----------------------------------------------- diff -Nurd pciutils-2.1.11.ori/lib/configure pciutils-2.1.11/lib/configure

lib/configure 2006-05-29 11:08:00.000000000 +0200 renamed from lib/configure 2003-01-04 13:29:23.000000000 +0100 +0 -0
@@ -12,17 +12,20 @@

echo_n "Configuring libpci for your system..."
sharedir=${1:-/usr/share}
version=${2:-0.0}

lib/configure 2006-05-29 11:08:00.000000000 +0200 renamed from lib/configure 2003-01-04 13:29:23.000000000 +0100 +14 -11
-sys=`uname -s`
-rel=`uname -r`
-if [ "$sys" = "AIX" -a -x /usr/bin/oslevel -a -x /usr/sbin/lsattr ]
-then
-       rel=`/usr/bin/oslevel`
-       proc=`/usr/sbin/lsdev -C -c processor -S available -F name | head -1`
-       cpu=`/usr/sbin/lsattr -F value -l $proc -a type | sed 's/_.*//'`
-else
-       cpu=`uname -m | sed 's/^i.86$/i386/;s/^sun4u$/sparc64/'`
-fi
-echo " $sys/$cpu $rel"
+sys=Linux
+rel=2.6.13
+cpu=ppc
+#sys=`uname -s`
+#rel=`uname -r`
+#if [ "$sys" = "AIX" -a -x /usr/bin/oslevel -a -x /usr/sbin/lsattr ]
+#then
+#      rel=`/usr/bin/oslevel`
+#      proc=`/usr/sbin/lsdev -C -c processor -S available -F name | head -1`
+#      cpu=`/usr/sbin/lsattr -F value -l $proc -a type | sed 's/_.*//'`
+#else
+#      cpu=`uname -m | sed 's/^i.86$/i386/;s/^sun4u$/sparc64/'`
+#fi
+#echo " $sys/$cpu $rel"

c=config.h
echo >$c "#define ARCH_echo $cpu | tr 'a-z' 'A-Z'" ---------------------------8-<-----------------------------------------------

For the build, i called
export CROSS=$(CROSS_COMPILE)
make HOST=$(ARCH)

However, depending on your environment, it might by slightly different in your case.

Quoted 19 lines · rahul

Hi All

My target system is powerpc , linux-2.6.11.
when i give the lspci in my target system , it says "can't find the command".
I have seen in the ramdisk directory, i could not see the lspci utility or pci utilities. Even in the busybox i could not find the utility. In linux i have enabled the pci support.

How to get the utility to busybox. I have searched in the net but could not succeed. Can anyone please help me in this regard. plz correct me if i am missing some basic configuration .

Thanks & Regards
Rahul
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

#6 lore raw
In reply to rahul

It seems that busybox doesn't support lspci command.

Quoted 16 lines · rahul

Hi All

My target system is powerpc , linux-2.6.11.
when i give the lspci in my target system , it says "can't find the command".
I have seen in the ramdisk directory, i could not see the lspci utility or pci utilities. Even in the busybox i could not find the utility. In linux i have enabled the pci support.

How to get the utility to busybox. I have searched in the net but could not succeed. Can anyone please help me in this regard. plz correct me if i am missing some basic configuration .

Thanks & Regards
Rahul
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

#3 lore raw
In reply to rahul

Hi Rahul,

Maybe, its better, if you do the modification by hand. This has the advantage, that you know, what happens.

Just, search for the following lines --------------8-<----------------------
sys=uname -s
rel=uname -r
if [ "$sys" = "AIX" -a -x /usr/bin/oslevel -a -x /usr/sbin/lsattr ] then

      rel=`/usr/bin/oslevel`
      proc=`/usr/sbin/lsdev -C -c processor -S available -F name | head -1`
      cpu=`/usr/sbin/lsattr -F value -l $proc -a type | sed 's/_.*//'`
else
      cpu=`uname -m | sed 's/^i.86$/i386/;s/^sun4u$/sparc64/'`

fi
echo " $sys/$cpu $rel"
--------------8-<----------------------

Comment them out; they can not work, when cross compiling, because they try to detect Kernel version and architecture by using host tools

Then, add the following lines

--------------8-<----------------------
sys=Linux
rel=2.6.13 (or whatever Kernel version you have)
cpu=ppc
--------------8-<----------------------

Signature · 15 lines
Mit freundlichen Gruessen / Best regards

Claus Gindhart
SW R&D
Kontron Modular Computers
phone :++49 (0)8341-803-374
mailto:[email protected]
http://www.kontron.com

-----BEGIN GEEK CODE BLOCK-----
  Version: 3.1
  GU d- s++:>++:+ a+ C++$ !U !P L++>$ E-- W+(-) N- o?
  K? w !O !M V !PS PE- Y+ PGP+ t 5? X R* tv- b+ DI+++
  D-- G e++> h--- !r x+++
------END GEEK CODE BLOCK------
#5 lore raw
In reply to rahul

Hello.

Quoted 4 lines · rahul

I am facing some problem in applying the patch.

I have copied the pacth to a file "patch-pciutils"

Quoted 9 lines

[root@localhost pciutils-2.1.11]# file patch-pciutils
patch-pciutils: 'diff' output text
[root@localhost pciutils-2.1.11]#
when i gave the command :
[root@localhost pciutils-2.1.11]# patch -p1 patch-pciutils
.
.
Nothing happens even after 3/4 minutes...so i am stopping it by ctrl+c. None of the files are edited.

No wonder, patch(1) expects the patch to be fed thru stdin, so you should
have typed:

patch -p1 < patch-pciutils

Quoted 2 lines

Thanks & Regards
Rahul

WBR, Sergei

#4 lore raw
In reply to Claus Gindhart

Hi Claus.Gindhart

Thanks for patch.
I have tried the same and could do it.
I have modified the lib/configure file manually and gave the following command #make CC=powerpc-linux-gcc
I could get the lspci, setpci commands.
Need to test this with my target board. Let you know after testing.

But when i tried with applying patch directly.. i got the following error:
[root@localhost pciutils-2.1.11]# patch -p1 < patch-pciutils patching file lib/configure
Hunk #1 FAILED at 12.
1 out of 1 hunk FAILED -- saving rejects to file lib/configure.rej [root@localhost pciutils-2.1.11]#
I have just copy pasted the patch from my mail and tried.

Thanks & Regards
Sudheer

Quoted 33 lines · Claus Gindhart

Hi Rahul,

Maybe, its better, if you do the modification by hand. This has the advantage, that you know, what happens.

Just, search for the following lines --------------8-<----------------------
sys=uname -s
rel=uname -r
if [ "$sys" = "AIX" -a -x /usr/bin/oslevel -a -x /usr/sbin/lsattr ] then

     rel=`/usr/bin/oslevel`
     proc=`/usr/sbin/lsdev -C -c processor -S available -F name | head -1`
     cpu=`/usr/sbin/lsattr -F value -l $proc -a type | sed 's/_.*//'`
else
     cpu=`uname -m | sed 's/^i.86$/i386/;s/^sun4u$/sparc64/'`

fi
echo " $sys/$cpu $rel"
--------------8-<----------------------

Comment them out; they can not work, when cross compiling, because they try to detect Kernel version and architecture by using host tools

Then, add the following lines

--------------8-<----------------------
sys=Linux
rel=2.6.13 (or whatever Kernel version you have)
cpu=ppc
--------------8-<----------------------