Bug 56110
Summary: | source for ia32 2.4.9-12 and ia64 are not the same | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Joubert Berger <joubert> |
Component: | kernel | Assignee: | Arjan van de Ven <arjanv> |
Status: | CLOSED NOTABUG | QA Contact: | Brock Organ <borgan> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.1 | ||
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | ia64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2001-11-12 21:23:38 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Joubert Berger
2001-11-12 21:23:32 UTC
This is not a bug unfortionatly; the ia64 kernel tree has several patches to generic code that are ia64 specific (they might not look like that but they are).... both kernels are generated from the same src.rpm where in the .spec file you can see which patches are %ifarch ia64 .... Likewise, i386 is the only architecture with the new pci dma api for now; we're working on making that work for ia64 and others too but right now it does't work yet. Let me see if I can explain a little better. I downloaded the following two source RPMS. ftp://updates.redhat.com/7.1/en/os/ia64/kernel-source-2.4.9-12.ia64.rpm ftp://updates.redhat.com/7.1/en/os/i386/kernel-source-2.4.9-12.i386.rpm When I comparted the source files I noticed differences. Have a look at drivers/block/cciss.c. from the above two rpms. From the spec for the i386 rpm I see two cciss patches being applied. But, nothing ia64 specific. Also, you mention that both kernels are created from the same src.rpm file but I can't find this src.rpm that contains both the ia64 and i386 sources in one RPM. If you have the 2.4.9-12 src.rpm you can get the sources for i386 by doing rpm -bp --target=i386 kernel-2.4.9-12.src.rpm and for ia64 rpm -bp --target=ia64 kernel-2.4.9-12.src.rpm (or maybe --target ia64, without the '=' as that seems to change depending on exact RPM version) When I execute "rpm -tp --target=ia64 kernel-2.4.9-12.src.rpm" I get the following error: [root@pong /tmp]# rpm -tp --target=ia64 kernel-2.4.9-12.src.rpm Building target platforms: ia64 Building for target ia64 error: Name field must be present in package: (main package) error: Version field must be present in package: (main package) error: Release field must be present in package: (main package) error: Summary field must be present in package: (main package) error: Group field must be present in package: (main package) error: License field must be present in package: (main package) -bp not -tp When I use: rpm -bp --target=ia64 kernel-2.4.9-12.src.rpm I get the error: error: File /tmp/kernel-2.4.9-12.src.rpm does not appear to be a specfile. The man pages says: The argument used is -b if a spec file is being used to build the package and -t if RPM should look inside of a gzipped (or compressed) tar file for the spec file to use. After the first argument, the next argument (O) specifies the stages of building and packaging to be done and is one of: That is why I used -tp. Oh duh indeed ;( (I normally build from spec files) so you can do it on the spec file that gets put in /usr/src/redhat/SPECS after you've "rpm -i kernel-2.4.9-12.src.rpm"'d it. The end effect will be the kernel tree as used for building the i386 and the ia64 kernel respectively, and that tree also gets used for creating the kernel-source rpm. And indeed, there are differences. More than I'd like, but that's something the ia64 architecture maintainer is trying to get fixed.(he works for HP as well) OK, thanks. I now have a clear picture of everything. Thanks for the help. I figured out why at least drivers/block/cciss.c is different between x86 and ia86. It turns out that the linux-2.4.9-blockhighmem.patch does not get applied to the ia64 kernel. So, we can consider this closed. Thanks for all the help. |