Building SnapGear for x86

Hi, I'm trying to build the SnapGear Linux distribution and have a few questions ...

I have an AMD Elan SC520 based PC?104 board, which is the most suitable option to choose for Vendor/Board in the make xconfig? I've made a first attempt using the VIA platform but the build failed because it could not find "as86". I assume this is the assembler, I would have thought it would use the "i386-linux-as" executable that was included in the toolchain?

Any suggestions?

Thanks!

Mark

Reply to
Mark
Loading thread data ...

Hi Mark,

Yup. Select the VIA target, and also select "Customize Kernel Settings" and then configure the kernel options similar to the "SecureEdge 2580" (which is one of our hardware devices that uses a Elan SC520 CPU). you'll need to configure your own ram/flash/driver configs.

yes, it should be using that assembler. are you using the latest i386-linux-20030930 toolchain ?

How did you start the build, and where abouts did it fail to find as86 ?

Regards,

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Damion de Soto - Software Engineer  email:     damion@snapgear.com
 Click to see the full signature
Reply to
Damion de Soto

is one

your

Yup I have the most recent i386 toolchain from snapgear.org. I did the build following the instructions in the README. It looks like it fails trying to build Lilo (build output follows). For now I downloaded as86 and ld86 from the web and it seems to work, but haven't yet figured out how to actually run the snapgear images on my target (not sure how to install Lilo if that is what is req'd).

partition.o(.text+0x56e): In function `part_verify': /home/mark/snapgear/user/lilo/partition.c:93: the `llseek' function may be dangerous; use `lseek64' instead. i386-linux-gcc -E -DLCF_IGNORECASE -DHAS_BOOT_H -DLCF_M386 -DLCF_READONLY

-DLCF_VARSETUP -DCODE_START_1=136 -DCODE_START_2=14 second.S -o temp2.s i386-linux-gcc -E -C -traditional -DLILO_ASM -o common.s common.h as86 -0 -a -w -l temp2.lis -o temp2.o temp2.s make[2]: as86: Command not found make[2]: *** [temp2.o] Error 127 make[2]: Leaving directory `/home/mark/snapgear/user/lilo' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/mark/snapgear/user' make: *** [subdirs] Error 1

Thanks!

Reply to
mark

Hi mark

goodo.

ahh yes, i see. it looks like lilo's Makefile is broken. we don't use lilo on x86 here, so we'd rarely have that problem. It's only using the host AS86 and LD86 to build some extra binary files which you probabaly won't use anyway.

what bootloader is on your board already ? or are you just running from a disk-based system ? the snapgear build will produce a few output files: the kernel itself, the romfs filesystem, and then a couple of different compressed and non-compressed versions of these and some joined together. we program ours straight into flash, and then our bootloader uncompresses the images into ram, and jumps to appropriate locations. if you're just running from hard drive, then you'll want to create everything similar to a standard linux desktop machine instead.

regards,

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Damion de Soto - Software Engineer  email:     damion@snapgear.com
 Click to see the full signature
Reply to
Damion de Soto

Gentlemen,

This thread is encouraging to me. About a year ago, I purchased a TS-5500 from Technology systems. The version of linux on the board (64Mb Compact Flash) is call TS-Linux 3.0. It has an AMD elan 133MHz embedded processor on the board, along with pcmcia, Compact Flash, 2 serial ports RS485(on one serial port),USB, Digital I/0 and 12 bit analog IO.

I was certainly like to work with folks with similar hardware (elan) to build up an embedded distribution completely from sources, or a distro with 100% sourcecode availability.

Strange thing is the TSLinux is also non a ethernet to serial converter I got form Cyclades.

Any discussion and ideas, particularly on getting a 2.6 based Linux kernel on this board, has my fullest attention. I'd even purchase a new board from somebody new, as long as 100% sourcecode for development is available.

James

Reply to
James

you

disk-based

compressed

images

similar

Damion, thanks alot for posting this info. My build generated a bzImage and romfs.tar.gz. Is romfs meant to be simply extracted onto the flashdisk? Or is it meant to be a ramdisk? I spent most of the day trying to install GRUB on my machine (unsuccessful).

It should be easy to just run the file system out of the flash like a hard disk. Under normal operation how much writing does Linux do to the file system? Especially to areas like /proc? Is this something to be concerned about when using flash?

Thanks!

Mark

Reply to
mark

Hi mark

You can unextract it, or just copy the contents of the romfs dir.

Yes. although, you don't need to worry about /proc (since it's in memory). we run /var as a ram filesystem, and also run our config directory in ram, and write it out to flash when necessary. It really depends what applications you're running as to how often disk/flash writes occur. /var is your main concern though.

regards,

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Damion de Soto - Software Engineer  email:     damion@snapgear.com
 Click to see the full signature
Reply to
Damion de Soto

Damion, sorry to keep bugging you about this ...

I must be missing something with the kernel build. I've specifically set it to "Elan" (for AMD Elan). But when I try to boot the kernel it panics with "Kernel compiled for Pentium+, requires TSC feature!". Any thoughts?

Mark

Reply to
mark

Mark,

You probably want to turn on: CONFIG_X86_TSC_DISABLE Since i guess the Elan doesn't have one.

regards,

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Damion de Soto - Software Engineer  email:     damion@snapgear.com
 Click to see the full signature
Reply to
Damion de Soto

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.