Linux 64bit x86 64

difference between i386:x64-32 vs i386 vs i386:x86_64

Can someone explain the difference between the three architectures? Actually when I built a 64-bit application in Linux, I got a link error saying:

skipping incompatible library.a when searching for library.a 
a.o: file format elf32-x86-64 architecture: i386:x64-32, flags 0x00000011: HAS_RELOC, HAS_SYMS start address 0x00000000 

Note that static libraries are generally far more trouble than they are worth. Use dynamic libraries, with an $ -relative -rpath if you really need to and don’t need setuid or any other capabilities .

2 Answers 2

There are 3 common ABIs usable on standard Intel-compatible machines (not Itanium).

  • The classic 32-bit architecture, often called «x86» for short, which has triples like i486-linux-gnu . Registers and pointers are both 32 bits.
  • The 64-bit extension originally from AMD, often called «amd64» for short, which has GNU triple of x86_64-linux-gnu . Registers and pointers are both 64 bits.
  • The new «x32» ABI, with a triple of x86_64-linux-gnux32 . Registers are 64 bits, but pointers are only 32 bits, saving a lot of memory in pointer-heavy workflows. It also ensures all the other 64-bit only processor features are available.

Each of the above has its on system call interface, own ld.so , own complete set of libraries, etc. But it is possible to run all 3 on the same kernel.

On Linux, their loaders are:

% objdump -f /lib/ld-linux.so.2 /lib64/ld-linux-x86-64.so.2 /libx32/ld-linux-x32.so.2 /lib/ld-linux.so.2: file format elf32-i386 architecture: i386, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED start address 0x00000a90 /lib64/ld-linux-x86-64.so.2: file format elf64-x86-64 architecture: i386:x86-64, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED start address 0x0000000000000c90 /libx32/ld-linux-x32.so.2: file format elf32-x86-64 architecture: i386:x64-32, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED start address 0x00000960 

Now, if you’re getting the message about «skipping incompatible library», that means something is messed up with your configuration. Make sure you don’t have bad variables in the environment or passed on the command line, or files installed outside of your package manager’s control.

Читайте также:  Via audio drivers linux

Источник

Скачать Ubuntu Linux

На странице можно получить ссылки и информацию для скачивания последних версий Ubuntu.

Релизы дистрибутива делятся на два типа: промежуточные и LTS (Long Term Support).

Длительная поддержка (LTS)

Это версии с длительным периодом поддержки, выходящие раз в два года, отличаются высокой стабильностью и гарантированной совместимостью с большинством программ от сторонних разработчиков.

Если желаете комфортную рабочую среду с принципом — раз поставил и забыл, то эти версии дистрибутива будут правильным выбором. Так как их поддержка составляет пять лет и по истечению ещё пятилетний период с выпуском патчей обновлений безопасности.

Скачать Ubuntu 22.04.1 LTS

Это самая последняя версия, включающая в себя все новые и передовые технологии работы с компьютером.

Для скачивания Ubuntu 22.04.1 через торрент или напрямую можно кликнуть по нужной ссылке из таблицы ниже.

По прямой ссылке Через Торрент
64-бит 64-бит
Мир Десктоп amd64 amd64
Россия Десктоп amd64 amd64

Архитектуры образов

Многие путают такие названия, как i386 и amd64 в именовании установочных iso-файлов, поэтому разберём их обозначение.

i386 (синонимы: IA-32, x86, i386, i486, i586, i686) — это образ предназначенный для 32-битных платформ, но также может быть поставлен и на 64-битные системы. В основном нужен для устаревших и маломощных компьютеров.

amd64 (синонимы: Intel 64, EM64T, IA-32e, x86_64, x86-64, x64) — это означает, что образ собран для 64-битных платформ. Архитектура процессоров впервые была разработана компанией AMD, поэтому многие, в том числе и Ubuntu, продолжают использовать эту исторически сложившуюся терминологию.

Стоит отметить такой важный момент: i386 поддерживает не более 4 ГБ оперативной памяти, а amd64 — 16ТБ.

К радости, использующих старое оборудование, Убунту всё ещё поддерживает 32-х разрядные системы. Этим дистрибутивом является 16.04.6. Чья поддержка всё ещё актуальна до 2024 года.

Скачать Ubuntu 16.04.7 и 16.04.6 (для 32-х)

Это предпоследняя стабильная версия, которая будет обновляться до апреля 2021г. Текущая версия последний дистрибутив Ubuntu с десктоп оболочкой Unity. Следующий релиз идёт уже с переделанным GNOME Shell.

Для скачивания Ubuntu 16.04.7 LTS через торрент или напрямую можно кликнуть по нужной ссылке из таблицы ниже.

По прямой ссылке Через Торрент
32-бит 64-бит 32-бит 64-бит
Мир Десктоп i386 amd64 i386 amd64
Россия Десктоп i386 amd64 i386 amd64
Читайте также:  Read only files system linux

Популярное

  • 20+ альтернатив рабочему столу Unity
  • Лучшие нативные игры под Ubuntu / Linux
  • 15+ советов по настройке Ubuntu 11.10
  • Подборка 5 лучших торрент клиентов для Ubuntu

Источник

Как узнать разрядность Linux

Разрядность операционной системы определяет набор инструкций процессора, которые будут использоваться для работы с данными и памятью компьютера. Существует две самые популярные разрядности, это i386 или 32 битная разрядность и x86_64 или 64 битная разрядность. Первая уже устаревшая и поддерживает работу с не больше чем 4 гигабайта оперативной памяти.

Вторая же более современная и сейчас используется практически везде. Все современные процессоры поддерживают обе архитектуры, однако многие дистрибутивы Linux уже отказались от поддержки i386 в пользу x86_64. В этой небольшой статье мы рассмотрим как узнать разрядность Linux.

Как посмотреть разрядность Linux

Самый простой способ узнать разрядность операционной системы Linux — это воспользоваться утилитой arch. Она просто выводит разрядность и больше ничего:

Команда uname выводит архитектуру ядра Linux если передать ей опцию -m, архитектура ядра соответствует архитектуре системы, поэтому этот метод можно использовать:

Команда file позволяет просматривать информацию о файлах в файловой системе. Для исполняемых файлов отображается их архитектура. Если вы посмотрите архитектуру какого-либо важного системного файла, то узнаете и разрядность системы. Например:

Вы можете узнать разрядность системы и в графическом интерфейсе. Например, в Ubuntu, для этого надо открыть утилиту Настройки, а затем раздел О системе:

Тут есть пункт Тип ОС, в котором указана разрядность системы. В данном случае, это 64 бит. Обратите внимание, что то, что система имеет архитектуру 64 бит не означает, что она не может запускать 32 битные программы и библиотеки. Эта архитектура сохраняет обратную совместимость и процессоры всё ещё могут выполнять 32 битные программы. Для этого достаточно установить пакет совместимости и необходимые 32 битные библиотеки. Но в обратную сторону это не работает, 32 битные системы не могут выполнять 64 битные программы. Во всяком случае теперь вы знаете как посмотреть разрядность системы Linux.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

What is the difference between x86_64 amd64 and 64 bit?

I use a x86_64 bit Ubuntu, but whenever I try to do a live boot of any other 64 bit images like the GNOME 3.16 which was released yesterday, it does not work? Also some times when I try a virtual machine of a 64 bit image, it does not work either. What is the reason for the same? What is the difference between x86_64 amd64 and 64 bit? My laptop model is an Hp Pavillion dv4 1506tx. The processor is 2.20 GHz Intel Core 2 Duo Processor T6600

Читайте также:  Cpu frequency scaling linux

When you try to run a virtual machine, what error message do you see? Your CPU lacks some hardware (VT-x) that most 64-bit CPUs have, so 64-bit VMs may not run or may run only after editing a configuration file.

First of all i don’t have an option in my virtual box to create a 64bit VM. All i have is 32 bits. Even though my Os is 64 bit. And if I try to install it says incorrect Kernel.

Also if my processor is 64bit does it still need visualization support to run a 64bit os as virtual machine ? And why does a normal 64 bit doest work in mine even to boot as live?

This kernel requires an x86_64 cpu, but only detected an i686 CPU. Unable to boot — please use a kernel appropriate for your cpu. This is the error that comes in virtualbox when i try to install a 64 bit vm.

3 Answers 3

This may not solve exact problem, but I’ll clarify the difference between x86_64, amd64 and 64-bit.

Every micro-processor implements an instruction set (also called instruction set architecture or ISA in short).

64-bit ISA or 64-bit processor that the length of address bus is 64 bits. Intel/AMD have variable length instructions — they vary from 1byte to 15 bytes. So, instruction length does not determine what type(32/64-bit) processor it is.

x86_64 is name of specific 64-bit ISA. This instruction set was released in 1999 by AMD (Advanced Micro Devices). AMD later rebranded it to amd64.

Other 64-bit ISA different from x86_64 is IA-64 (released by Intel in 1999).

Источник

Оцените статью
Adblock
detector