Tag Info

Hot answers tagged

76

x86 (32-bit a.k.a. i386–i686 and 64-bit a.k.a. amd64. In other words, your workstation, laptop or server.) FAQ: Do I have… 64-bit (x86_64/AMD64/Intel64)? lm Hardware virtualization (VMX/AMD-V)? vmx (Intel), svm (AMD) Accelerated AES (AES-NI)? aes TXT (TPM)? smx a hypervisor (announced as such)? hypervisor Most of the other features are only of interest ...


23

You won't be able to compile everything with icc. Many programs out there use GCC extensions to the C language. However Intel have made a lot of effort to support most of these extensions; for example, recent versions of icc can compile the Linux kernel. Gentoo is indeed your best bet if you like recompiling your software in an unusual way. The icc page on ...


22

ARM On ARM processors, a few features are mentioned in the features: line. Only features directly related to the ARM architecture are mentioned there, not features specific to a silicon manufacturer or system-on-chip. The features are obtained from looking up the CPU id with read_cpuid() and looking it up in the processor type definitions known at compile ...


20

i386 and i686 are both 32-bit. x86_64 is 64-bit example for 64 bit: behrooz@behrooz:~$ uname -a Linux behrooz 2.6.32-5-amd64 #1 SMP Mon Mar 7 21:35:22 UTC 2011 **x86_64** GNU/Linux


20

That is not a Linux problem, but a BIOS problem, which affects only quite old systems (the first limit was about 504MiB; logical CHS addressing allowed for up to about 8GiB). The BIOS must be capable of using LBA (INT 13h Extensions, defined 1998 with virtually unlimited address space (64 bit)) for Linux to boot from behind 8GiB. There are several versions ...


19

I must disclose that I have little experience using multilib-build.eclass-style multilib in Gentoo. ABI_X86 is a USE_EXPAND variable; setting ABI_X86="32 64" or USE="abi_x86_32 abi_x86_64" are equivalent. The default setting of ABI_X86, as of this writing (2013-09-09), for the default/linux/amd64/13.0 profile seems to be just ABI_X86=64. This variable ...


18

ARM is huge for linux. Aside from the Rasberry Pi and other hobbyist ARM SoC you have every Android phone and tablet and many of the Chromebooks running Linux on ARM. I couldn't find any hard numbers on total devices in use, but total android activations number somewhere north of 1 billion. The Chromebooks are Amazon's best selling laptops, though not ...


16

lscpu is telling you that your architecture is i686 (an Intel 32-bit CPU), and that your CPU supports both 32-bit and 64-bit operating modes. You won't be able to install x64 built applications since they're built specifically for x64 architectures. Your particular CPU can handle either the i386 or i686 built packages. There are a number of ways to verify ...


15

Execute: grep flags /proc/cpuinfo Find 'lm' flag. If it's present, it means your CPU is 64bit and it supports 64bit OS. 'lm' stands for long mode. Alternatively, execute: grep flags /proc/cpuinfo | grep " lm " Note the spaces in " lm ". If it gives any output at all, your CPU is 64bit. Update: You can use the following in terminal too: lshw -C ...


14

A 32-bit address space means that you have space for 4GB of addresses. Ideally the kernel likes to be able to map all physical memory, all the memory of the current task, and all of its own memory. If physical memory alone takes up all of the available 4GB, that won't work. So physical memory is divided into low memory, which is mapped all the time, and high ...


13

@behrooz is correct. Unfortunately uname requires you to know architectures. Actually, I was looking for a list of architectures and I found this article that answers your question. In regards to uname -m: x86_64 GNU/Linux indicates that you've a 64bit Linux kernel running. If you use see i386/i486/i586/i686 it is a 32 bit kernel. To determine if the ...


12

Type grep lm /proc/cpuinfo (lm stands for long mode) Or just try booting with a 64-bit OS: if you do not have 64-bit support, it will say so and not boot. lm: Long Mode (x86-64: amd64, also known as Intel 64, i.e. 64-bit capable)


12

There's a partial list of platforms in the Linux Kernel FAQ, under the platforms section titled: What Platforms Does Linux Support?. excerpt Ports are currently available for: Compaq Alpha AXP Sun SPARC and UltraSPARC Motorola 68000 PowerPC PowerPC64 ARM Hitachi SuperH IBM zSeries and S/390 MIPS HP PA-RISC Intel IA-64 DEC ...


11

32-bit x86 CPUs (since the Pentuim Pro) support up to 64 GiB RAM (using PAE). (The "CONFIG_HIGHMEM64G" kernel option needs to be set to actually use it). Each application can only see 4 GiB at a time (and some of that 4GiB must be used for other things, the exact amount depending on the "Memory split" kernel setting) 64-bit operating systems have some other ...


10

It would certainly be an interesting experience. Recompiling an entire Linux distro using an alternative compiler would not really be straightforward however. Many essential packages depend on GCC and other GNU toolchain utilities. It would be feasible to use an alternative compiler for those packages that don't require GCC to create a hybrid. It might be ...


10

I think the easiest way is by: lscpu|grep "CPU op-mode"


8

From qemu's help: Linux/Multiboot boot specific: -kernel bzImage use 'bzImage' as kernel image -append cmdline use 'cmdline' as kernel command line -initrd file use 'file' as initial ram disk -dtb file use 'file' as device tree image A quick test here using Arch's kernel/initrd (qemu -kernel /boot/vmlinuz-linux -initrd /boot/initramfs-linux.img) ...


7

It's simple! Use arch command.


6

All your ram is accessible even with a 32bit kernel. The main difference is probably that any application cannot address more than 3gb of memory. I don't know if you really use such applications (usually databases, or graphics applications), otherwise you may ignore the problem. Please note that 64bits applications requires more memory (because registers and ...


6

The -march flag permits the compiler to use instructions that are not supported by other CPUs. There are a few instructions that are legal to use with -march=athlon64 that your i7 does not support. These are the 3DNow! and Enhanced 3DNow! instructions that weren't included in MMX or integer SSE. If the code uses instructions like PFPNACC it will fault on ...


6

I am surprised no-one else found this, but there is a Wikipedia page dedicated to the architectures supported by Linux. There are too many to list here, but I will list the Linux architectures officially supported by Debian, since this is a good indication of what is commonly used: i386: x86 architecture designed for Intel/AMD 32-bit PCs. Also compatible ...


5

Here are two 8086 emulators: i8086emu - A cross-platform emulator for the Intel 8086 microprocessor. It has support for dynamically loadable device plugins and some peripherals like a PIT, PIC, 8-segment-displays, buttons and leds. i8086emu comes with an ncurses and an GTK-2 gui. fake86 - An 8086 PC emulator written in C. It seems to have less device ...


5

If the images are too large for a floppy, the same Arch Linux wiki has the instructions. If your flash image is too large for a floppy, go to the FreeDos bootdisk website, and download the 10Mb hard-disk image. This image is a full disk image, including partitions, so adding your flash utility will be a little trickier: # modprobe loop # losetup /dev/loop0 ...


5

Supported platforms: Alpha, ARC, ARM, AVR32, Blackfin, C6x, ETRAX CRIS, FR-V, H8/300, Hexagon, Itanium, M32R, m68k, META, Microblaze, MIPS, MN103, OpenRISC, PA-RISC, PowerPC, s390, S+core, SuperH, SPARC, TILE64, Unicore32, x86, Xtensa More information can be found here: http://en.wikipedia.org/wiki/Linux


4

Basically, i686 is for Pentium Pro/II and later, while i386 covers 386 and 486 CPUs as well. From http://forums.fedoraforum.org/showthread.php?t=198771: i want to know that what is the meaning and difference between i386 and i686 specified at the end of each package..? Compiled for different CPU architectures. i386 should run fine on ...


4

"Linux", strictly speaking, is an operating system kernel used by both Android and the unix-like operating system referred to colloquially as linux, and sometimes more formally as GNU/Linux which we know via distributions such as ubuntu and debian. Linux, the operating system kernel, is written in C and must be compiled to native machine code. I think ...


4

If your kernel is a 32 bit linux kernel, you won't be able to run 64 bit programs, even if your processor supports it. Install a 64 bit kernel (and whole OS of course) to run 64 bit


4

The segmentation registers are a legacy from the early days of the x86 processors, when the offset wasn't large enough to address all of the memory the processor could address. The original 8086 had a 20-bit address space, but could only use a 16-bit offset. You had to use the segment registers to specify which 64KB of the 1024KB address space you wanted. ...


4

In your ld.so.preload, you want to specify "$LIB" in your path rather than an explicit "lib" or "lib64". Thus, on a Redhat-style distro, "/usr/alternates/$LIB/libfoo.so" becomes "/usr/alternates/lib/libfoo.so" for a 32-bit process and "/usr/alternates/lib64/libfoo.so" for a 64-bit process. On an Debian-style distro, "/usr/alternates/$LIB/libfoo.so" becomes ...


3

Look, your CPU family cpu family : 6, which matches the description in CONFIG_MCORE2: Newer ones have 6 and older ones 15 That's the right config to choose. And your memory issue, as you disabled HIGHMEM, your kernel can only use 896M memory space.



Only top voted, non community-wiki answers of a minimum length are eligible