Amd geode lx800 linux

Arch Linux

You are not logged in.

#1 2012-08-14 17:56:54

[SOLVED] Arch and AMD Geode LX 800 processor

I am trying to install archlinux on mini pc with amd geode lx 800 processor, which is acording to wikipedia x86 compatible. Having a lot of faith in linux kernel i installed archlinux x86_64 on compact flash, tested it on my laptop and it worked perfectly. But when i boot from ssd on the mini pc, nothing happens. All the logs from the boot on mini pc are empty. So i started to think that there is something up with kernel and processor. What could be causing the issue? Should i use x86_32 and where to find it? Should i use i586 as some have suggested?

PS: i can’t really see what is going on on mini pc, because it only has EGA connector and all my displays are VGA

Last edited by rokowsky (2012-08-17 11:23:35)

#2 2012-08-16 12:45:38

Re: [SOLVED] Arch and AMD Geode LX 800 processor

You won’t find x86_32 binaries, because they don’t exist. 386-compatible binaries have been dubbed i386, 486-compatible i486, and Pentium-compatible i586. Arch’s 32-bit x86 binaries are made generally for Pentium Pro compatible CPUs, AKA i686.

The Geode LX is an updated Nat Semi Geode GX2, which was an updated Cyrix MediaGX, which was a highly-integrated derivative of their 6×86, that came out way back in 1997, long before x86_64’s release in 2001, and subsequent supporting CPUs in 2003.

Being that Arch’s standard 32-bit binaries are i686, the Geode LX might not be fully compatible with them, but it aught to run. A few years ago, on a different distro, I had issues with i686-compiled VLC, for instance, but otherwise everything ran OK as i686.

#3 2012-08-16 23:40:14

Re: [SOLVED] Arch and AMD Geode LX 800 processor

I don’t think you’ll have much luck. The Geode LX 800 is an i586 processor. Many years ago I managed to get Arch to take but it was a fluke. I’ve never been able to do it since. Debian and derivatives perform pretty well though. Try Haiku, I’m using that on my Geode box currently.

#4 2012-08-17 07:47:52

Re: [SOLVED] Arch and AMD Geode LX 800 processor

All that should be required is a kernel patched to emulate the nopl instruction in software. The Geode LX has everything required for i686 except that instruction.

Last edited by Gusar (2012-08-17 07:49:10)

#5 2012-08-17 11:20:48

Re: [SOLVED] Arch and AMD Geode LX 800 processor

Thank you for the replies. There was a project to make archlinux-i586, but now it seems to be dead (http://code.google.com/p/archlinux-i586/) and there are patches that emulate nopl (https://bbs.archlinux.org/viewtopic.php?pid=775414) for older versions of kernel, so i would have to use older binutils and glibc and i am not to fond of that solution so i decided to use some other distribution.

For those that might have similar problems, i installed striped debian distribution called voyage linux that is and i quote «best run on a x86 embedded platforms such as PC Engines ALIX/WRAP, Soekris 45xx/48xx and Atom-based boards» — so exacly what i need for my ALIX. Since i only intend to run programs like rtorrent, vsftpd, rsync and lighttpd the voyage will do.

#6 2012-08-17 11:33:57

Re: [SOLVED] Arch and AMD Geode LX 800 processor

so i would have to use older binutils and glibc

I don’t see why that would be required. Those two have been fixed, so you could use the latest versions. Of course there’s the possibility that I’m wrong, so if someone knows for sure what the situation here is, do tell.

Basically, all you’d need is a kernel patch for a still supported kernel, like for example 3.0 LTS. I’ll do a search if that’s available. Not that I have a Geode processor, I’m just curious

#7 2012-11-10 18:15:55

Re: [SOLVED] Arch and AMD Geode LX 800 processor

The Geode LX 800 is an i586 processor.

Which is wrong. Yes, the Geode lacks of the NOPL instruction, but this instruction never was part of Intel’s i686 specification. Unfortunately, it became an unofficial standard. But as it seems, new versions of binutils or gcc or whatever realized that fact and stopped building NOPLs into executables, because ARCH i686 works on the Geode (using arch’s November 2012 iso).

Читайте также:  Как установить сканер bearpaw 2400cu plus для windows 10

Источник

Linux distros for AMD Geode LX800 CPU

Some time ago i was searching for a tiny fanless computer to use as an ecological, always-on server to run services on. Computer-based services are increasingly conquering our homes and workplaces, and it makes sense to me that new devices have to appear to make computers less obtrusive in everyday life (noise, heat dissipation, high power consumption, mechanical breakdowns, …) for 24/7 operation.

At this time, the Atom platforms was just apprearing (the eeepc had just appeared), and the alternatives were among Mini-ITX systems, VIA C7 processors, Geode LX800 CPUs, and ARM platforms. Single Board Computer based products were the gradually appearing, and embedded/mobile platforms were developing as well.

The device had to:

  • be energy-efficient
  • be totally fanless (and possibly, mechanics-less) for zero-dB operation
  • run Linux out of the box with Open Source drivers
  • fit a tight budget (

300€)

  • offer minimal multimedia capabilities (audio support
  • After some LinuxDevices.com browsing and reading some reviews (like this one), i opted for a 500 Mhz i486 AMD Geode processor, to have x86 compatibility and efficient energy consumption (

    3-6W), with 1GB Flash hard drive and 512 MB RAM.

    You will want to look for a lightweight (1 GB/i486/500Mhz !) Linux distribution for the device, get ready to fight a capricious BIOS (especially USB Flash disk booting which doesn’t work without some hiccups) and a surprisingly slow CPU. By elimination:

    • Archlinux and other “modern desktop” distros are not an option (i586+)
    • Source-based distros aren’t either (cross compiling or having a local compilation environment will eat time)
    • For both disk space and graphics performance, adequate graphical distributions would be hard to find
    • DamnSmallLinux did not boot (. )
    • ModernNetbookdistros rely heavily on Intel hardware and are not i486 compatible

    After trying our Ubuntu 8.04 whose apps sometimes throwed “illegal cpu instruction” warnings and no audio support (instead, a continuous buzz), i ended up choosing Debian (lenny) for an excellent compatibility and problem-free installation. For pure network uses, OpenWrt/*BSD/m0n0wall seem like nice choices.

    • audio quality is really fine and i use it to wake me up and play music with my lightweight, ncurses-based webradio player, but the Alsa drivers seem a bit unstable (changing volume when playing audio makes audio crash)
    • don’t expect a rocket, performance is closer to 10 years old computers (but for a fraction of the power consumption of course). At best you will get nostalgic, but forget about torrent downloading with e.g. Aria2 (you won’t get anywhere with 1GB space anyway)
    • no noises, even from the power supply so far
    • the device is a bit warm after a few days (

    30°) but it’s stable

    Here are a few advices:

    • if you can, use an USB CD/DVD drive to boot from. The poor man’s install (USB Flash Disk) i a (psychological) challenge:
      • most distros are published as .iso images; which means USB-based booting is up to you
      • it is always tricky, since not many distros offer .img files or guides
      • USB Flash Disks behave differently when booting, and some won’t work for BIOS compatibility issues
    • other distros and kernel versions might work, but the one that works for me is the 2.6.26-2-486 kernel (the alsa module is snd_cs5535audio
    • not installing xorg is a good incentive to keep things small (1 GB drive…)

    It’s been running for the past months and it’s updating my dyndns domain, waking me up with pycwc, wakes up other computers on demand with WakeOnLan (hibernating), and is increasingly becoming more and more useful for daily needs.

    If anyone has performance optimizations hints for the AMD Geode LX800 platform or good results with other distros, please post some comments.

    Источник

    Amd geode lx800 linux

    Embedded Linux on PC Engines

    Embedded Linux on Alix3d2 board PC Engines

    Main Features of ALIX3D2 Board:

    • CPU: 500 MHz AMD Geode LX800
    • DRAM: 256 MB DDR DRAM
    • Storage: CompactFlash socket, 44 pin IDE header
    • Power: DC jack or passive POE, min. 7V to max. 20V
    • Three front panel LEDs, pushbutton
    • Expansion: 2 miniPCI slots, LPC bus
    • Connectivity: 2 Ethernet channels (Via VT6105M 10/100)
    • I/O: DB9 serial port, dual USB port
    • Board size: 6 x 6″ (152.4 x 152.4 mm) — same as WRAP.1E
    • Firmware: tinyBIOS

    Download and untar the buildroot package, run as non-root by typing «make menuconfig»


    • ./binaries/uclibc/rootfs.i686.ext2 -> image file system
    • ./build_i686/staging_dir/usr/bin/ -> toolcahin set that we’ll gone use to build kernel

    LINUX KERNEL COMPILATION

    #> cd linux-2.6.21.5 #> vi makecustom

    press «i» to insert character, type in lines below:

    export PATH=$PATH: /buildroot-2009.02/build_i686/staging_dir/usr/bin/
    make $1 $2 $3 CROSS_COMPILE=i686-linux-uclibc-

    press «:» follow by presseing «wq» to write and exit the vi editor
    next make the files executables as follow

    #> chmod a+x makecustom

    To start the configuring the kernel source, type in

    This will show you the menu for the linux kernel configuration.

    select the «Processor type and features» -> «processor family» -> check «Geode LX/GX»
    Uncheck the » HPET timer support » since AMD Geode doesn’t have it.

    exit to higehr level, select «Power management option (ACPI/APM)» uncheck » Power management supoort» since the board doesn’t had it.


    exit to higher menu level, select the «Bus options (PCI, PCMCIA, EISA, MCA, ISA)»check » NatSemi SCx200 support» & » NatSemi SCx200 27MHz High-Resolution Timer Suppor»

    INSTALLING KERNEL TO SOURCE FILESYSTEM

    #>mkdir buildroot-2009.02/target/generic/target_skeleton/boot
    #>cp linux-2.6.21.5/arch/i386/boot/bzImage /buildroot-2009.02/target/generic/target_skeleton/boot/.

    #>mkdir /buildroot-2009.02/project_build_i686/uclibc/root/boot
    #>cp /linux-2.6.21.5/arch/i386/boot/bzImage /buildroot-2009.02/project_build_i686/uclibc/root/boot/.

    INSTALLING MODULES TO SOURCE FILESYSTEM

    #> cd linux-2.6.21.5
    #> vi Install_modules

    press «i» to start inserting text, type in word below:

    export PATH=$PATH: /buildroot-2009.02/build_i686/staging_dir/usr/bin

    make modules_install ARCH=i386 CROSS_COMPILE=i686-linux-uclibc- INSTALL_MOD_PATH= /buildroot-2009.02 /target/generic/target_skeleton make modules_install ARCH=i386 CROSS_COMPILE=i686-linux-uclibc- INSTALL_MOD_PATH= /buildroot-2009.02/project_build_i686/uclibc/root

    #> chmod a+x Install_modules

    FINALIZING SOURCE FILESYSTEM

    menu.lst for the grub

    press «i» to start edit, type in lines below

    default 0
    timeout 8
    title Alix3d2 embedded linux Console
    root (hd0,0)
    kernel /boot/bzImage root=/dev/hda1 rw console=ttyS0,38400,8,n,1

    title Alix3d2 embedded linux
    root (hd0,0)
    kernel /boot/bzImage root=/dev/hda1 rw
    press «:» followed by «wq»

    Modified inittab to enable serial comm as main console

    #> cd buildroot-2009.02
    #> vi target/generic/target_skeleton /etc/inittab Press «i» to enable insertig character, scroll down to the part that consist of

    # Put a getty on the serial port
    #ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
    edit it into

    # Put a getty on the serial port
    ttyS0::respawn:/sbin/getty -L ttyS0 38400 vt100

    MOUNTING FILESYSTEM IMAGE TO COMPACT FLASH

    #> su
    #> cfdisk /dev/sdc


    quit cf disk and go to image filesystem directory.

    #> cd buildroot-2009.02/ binaries/uclibc/
    #> mkdir 1
    #> mkdir 2
    mount our image to 1/ directory and compact flash to 2/

    #> mount rootfs.i686.ext2 -o loop 1
    #> mount /dev/sdc1 2

    copy recrusively by retaining files ownership from 1 to 2

    #> cp -ar 1/* 2/.
    #> sync
    You may check the copied files by at directory 2/ by «ls» command.
    unmount both device

    #> umount 1
    #> umount 2

    MAKING COMPACT FLASH BOOTABLE

    select «root» -> click «ok» fill in the device by detected driver ones, in this case «/dev/sdc1»


    select «linux» add linux partition, check the «dev/sdc1» uncheck others

    #> grub
    grub> device (hd0) /dev/sdc
    grub> root (hd0,0)
    grub> kernel /boot/bzImage
    grub> rootnoverify (hd0,0)
    grub> makeactive
    grub> chainloader +1
    grub> setup (hd0)
    grub> quit
    #>

    Prepare your alix board firmly, place the compact flash to its slot, plug the serial cable to your PC

    in my application i run hyperterminal for console application with the setting using baudrate 38400, 8 bit data no parity, 1stp bit and no flow control.


    Now plug the power cord.

    Captured text show as follow:

    PC Engines ALIX.3 v0.99
    640 KB Base Memory

    15360
    31744
    48128
    64512
    80896
    97280
    113664
    130048 KB Extended Memory

    01F0 Master 848A CF Card
    Phys C/H/S 1991/16/63 Log C/H/S 995/32/63
    GRUB Loading stage1.5.

    GRUB loading, please wait.

    Linux version 2.6.21.5 (huntu2@linux-h53q) (gcc version 4.2.4) #4 SMP Sat Jul 3 14:27:17 WIT 2010
    BIOS-provided physical RAM map:
    sanitize start
    sanitize end
    copy_e820_map() start: 0000000000000000 size: 00000000000a0000 end: 00000000000a0000 type: 1
    copy_e820_map() type is E820_RAM
    copy_e820_map() start: 00000000000f0000 size: 0000000000010000 end: 0000000000100000 type: 2
    copy_e820_map() start: 0000000000100000 size: 0000000007f00000 end: 0000000008000000 type: 1
    copy_e820_map() type is E820_RAM
    copy_e820_map() start: 00000000fff00000 size: 0000000000100000 end: 0000000100000000 type: 2
    BIOS-e820: 0000000000000000 — 00000000000a0000 (usable)
    BIOS-e820: 00000000000f0000 — 0000000000100000 (reserved)
    BIOS-e820: 0000000000100000 — 0000000008000000 (usable)
    BIOS-e820: 00000000fff00000 — 0000000100000000 (reserved)
    0MB HIGHMEM available.
    128MB LOWMEM available.
    Zone PFN ranges:
    DMA 0 -> 4096
    Normal 4096 -> 32768
    HighMem 32768 -> 32768
    early_node_map[1] active PFN ranges
    0: 0 -> 32768
    DMI not present or invalid.
    Using APIC driver default
    Allocating PCI resources starting at 10000000 (gap: 08000000:f7f00000)
    Built 1 zonelists. Total pages: 32512
    Kernel command line: root=/dev/hda1 rw console=ttyS0,38400,8,n,1
    No local APIC present or hardware disabled
    Initializing CPU#0
    PID hash table entries: 512 (order: 9, 2048 bytes)
    Detected 431.649 MHz processor.
    Console: colour dummy device 80×25
    Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
    Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
    Memory: 124388k/131072k available (2875k kernel code, 6192k reserved, 1379k data, 248k init, 0k highmem)
    virtual kernel memory layout:
    fixmap : 0xffe1b000 — 0xfffff000 (1936 kB)
    pkmap : 0xff800000 — 0xffc00000 (4096 kB)
    vmalloc : 0xc8800000 — 0xff7fe000 ( 879 MB)
    lowmem : 0xc0000000 — 0xc8000000 ( 128 MB)
    .init : 0xc052f000 — 0xc056d000 ( 248 kB)
    .data : 0xc03cefdb — 0xc0527d7c (1379 kB)
    .text : 0xc0100000 — 0xc03cefdb (2875 kB)
    Checking if this processor honours the WP bit even in supervisor mode. Ok.
    Calibrating delay using timer specific routine.. 864.70 BogoMIPS (lpj=1729412)
    Mount-cache hash table entries: 512
    CPU: L1 I Cache: 64K (32 bytes/line), D cache 64K (32 bytes/line)
    CPU: L2 Cache: 128K (32 bytes/line)
    Compat vDSO mapped to ffffe000.
    Checking ‘hlt’ instruction. OK.
    SMP alternatives: switching to UP code
    Freeing SMP alternatives: 18k freed
    CPU0: AMD Geode(TM) Integrated Processor by AMD PCS stepping 02
    SMP motherboard not detected.
    Local APIC not detected. Using dummy APIC emulation.
    Brought up 1 CPUs
    NET: Registered protocol family 16
    PCI: PCI BIOS revision 2.10 entry at 0xfcd03, last bus=0
    PCI: Using configuration type 1
    Setting up standard PCI resources
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    PCI: Probing PCI hardware
    Time: tsc clocksource has been installed.
    Switched to high resolution mode on CPU 0
    NET: Registered protocol family 2
    IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
    TCP established hash table entries: 4096 (order: 3, 49152 bytes)
    TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
    TCP: Hash tables configured (established 4096 bind 4096)
    TCP reno registered
    microcode: CPU0 not a capable Intel processor
    IA-32 Microcode Update Driver: v1.14a
    scx200: NatSemi SCx200 Driver
    Total HugeTLB memory allocated, 0
    Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
    io scheduler noop registered
    io scheduler anticipatory registered (default)
    io scheduler deadline registered
    io scheduler cfq registered
    Real Time Clock Driver v1.12ac
    AMD Geode RNG detected
    Linux agpgart interface v0.102 (c) Dave Jones
    Hangcheck: starting hangcheck timer 0.9.0 (tick is 180 seconds, margin is 60 seconds).
    Hangcheck: Using get_cycles().
    Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
    serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    floppy0: no floppy controllers found
    RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
    loop: loaded (max 8 devices)
    Intel(R) PRO/1000 Network Driver — version 7.3.20-k2
    Copyright (c) 1999-2006 Intel Corporation.
    e100: Intel(R) PRO/100 Network Driver, 3.5.17-k2-NAPI
    e100: Copyright(c) 1999-2006 Intel Corporation
    via-rhine.c:v1.10-LK1.4.3 2007-03-06 Written by Donald Becker
    eth0: VIA Rhine III (Management Adapter) at 0x11000, 00:0d:b9:16:7f:e4, IRQ 10.
    eth0: MII PHY found at address 1, status 0x7849 advertising 05e1 Link 0000.
    forcedeth.c: Reverse Engineered nForce ethernet driver. Version 0.60.
    netconsole: not configured, aborting
    Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
    ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
    AMD5536: IDE controller at PCI slot 0000:00:0f.2
    AMD5536: chipset revision 1
    AMD5536: not 100% native mode: will probe irqs later
    AMD5536: 0000:00:0f.2 (rev 01) UDMA100 controller
    ide0: BM-DMA at 0xff00-0xff07, BIOS settings: hda:DMA, hdb:pio
    hda: CF Card, CFA DISK drive
    ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
    hda: max request size: 128KiB
    hda: 2006928 sectors (1027 MB) w/1KiB Cache, CHS=1991/16/63, UDMA(33)
    hda: hda1
    3ware Storage Controller device driver for Linux v1.26.02.002.
    Fusion MPT base driver 3.04.04
    Copyright (c) 1999-2007 LSI Logic Corporation
    Fusion MPT SPI Host driver 3.04.04
    ieee1394: raw1394: /dev/raw1394 device initialized
    usbmon: debugfs is not available
    ehci_hcd 0000:00:0f.5: EHCI Host Controller
    ehci_hcd 0000:00:0f.5: new USB bus registered, assigned bus number 1
    ehci_hcd 0000:00:0f.5: irq 15, io mem 0xefffd000
    ehci_hcd 0000:00:0f.5: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
    usb usb1: configuration #1 chosen from 1 choice
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 4 ports detected
    ohci_hcd 0000:00:0f.4: OHCI Host Controller
    ohci_hcd 0000:00:0f.4: new USB bus registered, assigned bus number 2
    ohci_hcd 0000:00:0f.4: irq 15, io mem 0xefffe000
    usb usb2: configuration #1 chosen from 1 choice
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 4 ports detected
    USB Universal Host Controller Interface driver v3.0
    usbcore: registered new interface driver usblp
    drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
    Initializing USB Mass Storage driver.
    usbcore: registered new interface driver usb-storage
    USB Mass Storage support registered.
    usbcore: registered new interface driver usbhid
    drivers/usb/input/hid-core.c: v2.6:USB HID core driver
    i8042.c: No controller found.
    mice: PS/2 mouse device common for all mice
    device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: dm-devel@redhat.com
    geode-aes: GEODE AES engine enabled.
    oprofile: using timer interrupt.
    TCP cubic registered
    NET: Registered protocol family 1
    NET: Registered protocol family 10
    IPv6 over IPv4 tunneling driver
    NET: Registered protocol family 17
    Using IPI Shortcut mode
    EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
    VFS: Mounted root (ext2 filesystem).
    Freeing unused kernel memory: 248k freed
    Initializing random number generator. done.
    Starting network.
    ip: RTNETLINK answers: File exists

    Welcome to Buildroot
    uclibc login:

    The default login were root with no password since it was not configured yet. Congratulations now you had run your linux on ALIX3D board for the first time. Later you may add your own apllication, reconfiguring component to be installed and so much more.

    You can download my image resulted on compact flash here, use winimage to write it to the compact flash.

    Источник

    Читайте также:  Отладчик gdb linux это
    Оцените статью