Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

[SOLVED]Building stretch why x86 not x86_64

Here you can discuss every aspect of Debian. Note: not for support requests!
Post Reply
Message
Author
rac8006
Posts: 28
Joined: 2016-05-02 15:33

[SOLVED]Building stretch why x86 not x86_64

#1 Post by rac8006 »

Not sure if this is the proper forum for this question.
I installed debian Linux 4.9.0-8-amd64. I installed the kernel source 4.9 version 4.9.114-3. Basically I just copied the config file from /boo to the source build folder.
then did a make. The make worked file. But all of the files were located in x86 not x86_64. Though the files in are in the x86 directory. Using the file command on the object
files in the x86 directory are 64 bit files. I checked the make menuconfig and the 64 bit build is set.
Why did the files end up in x86 rather than x86_64? The size of the /boot/vmlinuz-4.9.0-8-amd64 and the bzImage just built are the exact same size. But a sum -r on the files are
different. I expect it is because of some compile time stored in the image.
Last edited by rac8006 on 2019-04-20 13:30, edited 4 times in total.

Bulkley
Posts: 6386
Joined: 2006-02-11 18:35
Has thanked: 2 times
Been thanked: 39 times

Re: Building stretch

#2 Post by Bulkley »

I'm not sure why you are going to all that trouble. I'm running Stretch and using kernel 4.19.0-0.bpo-amd64. It came down with a normal update.

Code: Select all

apt-get update && apt-get upgrade

rac8006
Posts: 28
Joined: 2016-05-02 15:33

Re: Building stretch

#3 Post by rac8006 »

It is no trouble. I googled debian linux download and the only choice I was presented with was i386 or amd64. I downloaded amd64 and installed it to a new disk drive.
I was version 4.9.8. I then downloaded the kernel source to match.
My main question is. Why dows the 64 bit build store its files in arch/x86 rather than arch/x86_64?

User avatar
Head_on_a_Stick
Posts: 14114
Joined: 2014-06-01 17:46
Location: London, England
Has thanked: 81 times
Been thanked: 133 times

Re: Building stretch

#4 Post by Head_on_a_Stick »

rac8006 wrote:I googled debian linux download and the only choice I was presented with was i386 or amd64
The i386 image is for all 32-bit x86 machines and the amd64 image is for all 64-bit x86 machines (including Intel's garbage), you don't need to compile a kernel yourself at all.
Last edited by Head_on_a_Stick on 2019-04-19 22:25, edited 1 time in total.
deadbang

rac8006
Posts: 28
Joined: 2016-05-02 15:33

Re: Building stretch

#5 Post by rac8006 »

I understand that you don't need to compile a kernel. But why do I need to run a kernel with all of the drivers installed. Most of them I don't need or use. As for the x86 and x86_64. I am using an x86_64 machine.
again why is the build code in the x86 directory when the build was for x86_64?

User avatar
RU55EL
Posts: 546
Joined: 2014-04-07 03:42
Location: /home/russel

Re: Building stretch

#6 Post by RU55EL »

rac8006 wrote:[...] As for the x86 and x86_64. I am using an x86_64 machine.
again why is the build code in the x86 directory when the build was for x86_64?
Again, as HOAS told you, i386 is the standard representation for 32 bit architecture and x86 is the standard for 64 bit.

For example:

debian-9.8.0-i386-netinst.iso is the 32 bit Debian net install download image.

and

debian-9.8.0-amd64-netinst.iso is 64 bit.

If you would like to customize Linux to eliminate software you don't want you should check out Gentoo.

P.S. There is no x86_32 either.

rac8006
Posts: 28
Joined: 2016-05-02 15:33

Re: Building stretch why x86 not x86_64

#7 Post by rac8006 »

I am aware that i386 is the 32 bit. I also understand that there is no x86_32 and there is no i386 either. Which if I understand, that means that
both the 32bit and 64bit compiled code is stored in the same folder x86?

I know that if I build the arm64 the code ends up in the arch/arm64. If I build 32 bit arm the code ends up int arch/arm. That arch/ia64 is the itanium directory.
I'm not an expert on Linux. But I have built kernels for different architectures in the past. Which is why I thought that amd64 code would end up in arch/x6_64.
My main experience is with SVR4 and Unixware 2 and 7.

Thanks for your help.

PS just found in the Makefile that i386 and amd64 both use the x86 directory.
Last edited by rac8006 on 2019-04-20 12:26, edited 2 times in total.

User avatar
Head_on_a_Stick
Posts: 14114
Joined: 2014-06-01 17:46
Location: London, England
Has thanked: 81 times
Been thanked: 133 times

Re: Building stretch

#8 Post by Head_on_a_Stick »

rac8006 wrote:just found in the Makefile that i386 and amd64 both use the x86 directory.
Please mark the thread [SOLVED].

Changing the thread title to something more descriptive would make it more useful to the community.

And have you seen https://www.debian.org/releases/stable/ ... 06.html.en & https://kernel-team.pages.debian.net/kernel-handbook/?
deadbang

rac8006
Posts: 28
Joined: 2016-05-02 15:33

Re: Building stretch why x86 not x86_64

#9 Post by rac8006 »

I would mark it solved if I knew how?

User avatar
Head_on_a_Stick
Posts: 14114
Joined: 2014-06-01 17:46
Location: London, England
Has thanked: 81 times
Been thanked: 133 times

Re: Building stretch why x86 not x86_64

#10 Post by Head_on_a_Stick »

Edit the title (in the first post in the thread) and prepend [SOLVED].
deadbang

Post Reply