Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Installing Gentoo Linux on A DiskOnChip/Compact Flash
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
xcable
Guru
Guru


Joined: 15 Aug 2002
Posts: 424
Location: College Station, Texas

PostPosted: Sun Sep 14, 2003 5:10 pm    Post subject: Installing Gentoo Linux on A DiskOnChip/Compact Flash Reply with quote

Embedded Gentoo on a DiskOnChip / Compact Flash

I have created a script to install a Gentoo based Linux system onto a DiskOnChip or Compact Flash. This system now boots using only the DiskOnChip :D . There are still problems :cry: ("Could not get dependency info for "xxxxxx"", during boot, and "7G [ ok ]g xxxx" during init). To create the /dev directory I took a stage1 /dev and bz2 and tar'ed it.

Hope this helps others with embedded setups using a DiskOnChips or a Compact Flashe. Also looking for help in makeing this more refined and fixing the bugs.

Heath H Holcomb
xcable_hhh@yahoo.com

Kernel Configuration for DiskOnChip Access

I use the DiskOnChip 2000

cd /usr/src
make menuconfig
1 - Enable "Memory Technology Device (MTD) support"
2 - Enbale "MTD partitionion suport"
3 - Enbale "Direct char device access to MTD devices"
4 - Enbale "Readonly block device access to MTD devices"
5 - Enbale "FTL (Flash Translation Layer) support"
6 - Enbale "NFTL (NAND Flash Translation Layer) support"
7 - Enbale "Write support for NFTL (BETA)"
Enter the "Self-contained MTD device drivers"
8 - Enable "M-Systems Disk-On-Chip 2000 and Millennium"

exit and save
make dep && make clean bzImage modules modules_install
mount your boot directory
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.xxxx
modify /boot/grub/grub.conf or /etc/lilo
if using lilo run /sbin/lilo
reboot

looking at .config
Code:

#
# Memory Technology Devices (MTD)
#
CONFIG_MTD=y
CONFIG_MTD_PARTITION=y
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK_RO=y
CONFIG_FTL=y
CONFIG_NFTL=y
CONFIG_NFTL_RW=y


Fstab
Here is my fstab for the DiskOnChip :
Code:

/dev/nftl/disc0/part1   /   ext3   defaults   0 0
none   /proc   proc   defaults   0 0
none   /dev/shm   tmpfs   defaults   0 0


Lilo
I use grub for my hard drive based system, so that I will not mistakenly use the /etc/lilo.conf for the harddive (only the DiskOnChip).

Here is my /etc/lilo.conf for the DiskOnChip :

Code:

boot = /dev/nftl/disc0/part1
map =/mnt/diskonchip/boot/System.map
prompt
timeout = 5
default = linux

image = /mnt/diskonchip/boot/vmlinuz-2.4.20-ck6-h3.1
   label = linux
   read-only
   root = /dev/nftl/disc0/part1
   vga = 791

image = /mnt/diskonchip/boot/vmlinuz-2.4.20-ck6-h3.1
   label = linux-init
   read-only
   root = /dev/nftl/disc0/part1
   vga = 791
   append = "init=/bin/bash"


:? I know this looks weird, but after weeks of tyring different settings these are the ones that work.

Requirements
- Working Gentoo system on a hard drive (using the target single board computer with a DiskOnChip or Compact Flash socket).
- Kernel configured for DiskOnChip read and write access (tested on 2.4.20 but anything later should work) - only needed for DiskOnChip setups
- A x86 stage1 /dev directory tar'ed in the same directory as this script.
- Modified fstab in the same directory as this script (will post mine soon).

Updates and Changes from Original Post
:D Update 9.19.2003 - I have decreased the size of the build from 30 MB to 16 MB. The change affects the /usr/lib section (see below).
:D Update 9.21.2003 - Added Lilo, Fstab, and Kernel Configuration for DiskOnChip Access.
:D 9.24.2003 - Added Compact Flash section, and notes (no code yet, maybe iin a few days or next week). Fixed my e-mail address.

Compact Flash Script

Coming soon

DiskOnChip Script
Code:

#!/bin/bash
# This script creates a linux system on the mounted DiskOnChip
# Heath H Holcomb
# xcable_hhh@yahoo.com

# This script is GPL'ed, please send any changes to my e-mail address (see above)..

# This script assumes that you have a full Gentoo Linux development system on the
# SBC (single board comptuer, which has a DiskOnChip socket) running off a hard drive.
# That you have already configured the kernel to work with the DiskOnChip, you have
# partition the DiskOnChip, you have formated the DiskOnChip with a linux fileing
# system (I used ext3), you have the /dev directory tar'ed and the tar file located
# in the same directory as this script.

# This is still a work in  progress.  That are several problem with the DiskOnChip
# Linux system.  But the system does boot and seems to run ok.  There is still a
# problem with the init process about dependencies.

#------------------------------------------------------------------------------start
echo Create-linux-system.sh

# define DiskOnChip location, where the DiskOnChip is mounted
target=/mnt/diskonchip

echo Moving to the DiskOnChip
cd $target
echo Removing previous build
rm -R *

#------------------------------------------------------------------------------fileing system
echo Creating main filesystem
mkdir {bin,boot,etc,home,lib,mnt,opt,proc,root,sbin,share,tmp,usr,var}
mkdir -p {var/log,var/run,usr/bin,usr/sbin,var/lib/init.d/softscripts}
mkdir -p {var/log/everything,var/log/kernel,var/log/cups,var/log/samga}
mkdir -p {usr/lib/gcc-lib/i586-pc-linux-gnu/3.2.2}
mkdir -p {usr/X11R6/lib,usr/share}
touch var/run/utmp

#------------------------------------------------------------------------------/boot
echo Populating /boot
cp -ap /boot/vmlinuz* $target/boot

#------------------------------------------------------------------------------/dev
# /mnt/cerebro-data is a mounted directory where the script and
# tar'ed /dev file (cread-dev.tar.bz2) live, this is specific to my setup.
# Change what you need to accomodate you system

echo Populating /dev
cp /mnt/cerebro-data/create-dev.tar.bz2    $target
tar -xvjpf create-dev.tar.bz2
rm create-dev.tar.bz2

#------------------------------------------------------------------------------/root
# Probably not needed, I leave in commented out.

#echo Populating /root
#cp -apR /root    $target/root

#------------------------------------------------------------------------------/home
echo Populating /home
cp -apR /home    $target/home

#------------------------------------------------------------------------------/etc
# Theses are configuration files that I think I need, some I may not.

echo Poplulating /etc
cp -apR /etc/conf.d             $target/etc
cp -apR /etc/devfs.d             $target/etc
cp -apR /etc/env.d             $target/etc
cp -apR /etc/init.d             $target/etc
cp -apR /etc/metalog            $target/etc
cp -apR /etc/modules.d          $target/etc
cp -apR /etc/opt                $target/etc
cp -apR /etc/rsync             $target/etc
cp -apR /etc/runlevels            $target/etc
cp -apR /etc/skel             $target/etc
cp -apR /etc/fonts             $target/etc
cp -apR /etc/pam.d             $target/etc
cp -apR /etc/X11             $target/etc
cp -apR /etc/security            $target/etc
cp -apR /etc/localtime            $target/etc
cp -ap /etc/adjtime             $target/etc
cp -ap /etc/csh.env            $target/etc
cp -ap /etc/devfsd.conf          $target/etc
cp -ap /etc/DIR_COLORS          $target/etc
cp -ap /etc/dispatch-conf.conf       $target/etc
cp -ap /etc/etc-update.conf          $target/etc
cp -ap /etc/filesystems          $target/etc
cp -ap /mnt/cerebro-data/fstab       $target/etc
cp -ap /etc/gentoo-release          $target/etc
cp -ap /etc/group             $target/etc
cp -ap /etc/hosts             $target/etc
cp -ap /etc/hostname             $target/etc
cp -ap /etc/inittab             $target/etc
cp -ap /etc/inputrc             $target/etc
cp -ap /etc/ld.so.cache          $target/etc
cp -ap /etc/ld.so.conf             $target/etc
cp -ap /etc/login.defs            $target/etc
cp -ap /etc/lilo.conf             $target/etc
cp -ap /etc/modules.autoload       $target/etc
cp -ap /etc/modules.conf          $target/etc
cp -ap /etc/modules.devfs          $target/etc
cp -ap /etc/mtab             $target/etc
cp -ap /etc/networks             $target/etc
cp -ap /etc/nsswitch.conf          $target/etc
cp -ap /etc/passwd             $target/etc
cp -ap /etc/profile             $target/etc
cp -ap /etc/profile.env             $target/etc
cp -ap /etc/protocols             $target/etc
cp -ap /etc/resolv.conf          $target/etc
cp -ap /etc/rc.conf             $target/etc
cp -ap /etc/rmt                $target/etc
cp -ap /etc/rpc                $target/etc
cp -ap /etc/services             $target/etc
cp -ap /etc/securetty            $target/etc
cp -ap /etc/shadow             $target/etc
cp -ap /etc/shells             $target/etc
cp -ap /etc/sysctl.conf          $target/etc
cp -ap /etc/shells             $target/etc

#------------------------------------------------------------------------------/bin
echo Populating /bin
cp -ap /bin/awk             $target/bin
cp -ap /bin/gawk*             $target/bin
cp -ap /bin/bash             $target/bin
cp -ap /bin/cp                $target/bin
cp -ap /bin/cut             $target/bin
cp -ap /bin/env             $target/bin
cp -ap /bin/kill             $target/bin
cp -ap /bin/killall             $target/bin
cp -ap /bin/login             $target/bin
cp -ap /bin/ls                $target/bin
cp -ap /bin/rm                $target/bin
cp -ap /bin/rmdir             $target/bin
cp -ap /bin/touch             $target/bin
cp -ap /bin/tty             $target/bin
cp -ap /bin/echo             $target/bin
cp -ap /bin/mount             $target/bin
cp -ap /bin/mkdir             $target/bin
cp -ap /bin/dd                $target/bin
cp -ap /bin/umount             $target/bin
cp -ap /bin/uname             $target/bin
cp -ap /bin/chmod             $target/bin
cp -ap /bin/cat             $target/bin
cp -ap /bin/dmesg             $target/bin
cp -ap /bin/install             $target/bin
cp -ap /bin/ln                $target/bin
cp -ap /bin/ps               $target/bin
cp -ap /bin/grep             $target/bin
cp -ap /bin/domainname          $target/bin
cp -ap /bin/hostname          $target/bin
cp -ap /bin/mv                $target/bin
cp -ap /bin/sed             $target/bin
#cp -ap /bin/sync            $target/bin
cp -ap /bin/sleep             $target/bin
cp -ap /bin/sort             $target/bin
cp -ap /bin/stat             $target/bin
cp -ap /bin/basename          $target/bin
cp -ap /bin/whoami            $target/bin
cp -ap /bin/gunzip            $target/bin
cp -ap /bin/gzcat            $target/bin
cp -ap /bin/gzip            $target/bin

#------------------------------------------------------------------------------/sbin
echo Populating /sbin
cp -ap /sbin/agetty             $target/sbin
cp -ap /sbin/consoletype          $target/sbin
cp -ap /sbin/dhcpcd             $target/sbin
cp -ap /sbin/depmod          $target/sbin
cp -ap /sbin/devfsd             $target/sbin
cp -ap /sbin/env-update.sh      $target/sbin
cp -ap /sbin/halt             $target/sbin
cp -ap /sbin/ifconfig          $target/sbin
cp -ap /sbin/init             $target/sbin
cp -ap /sbin/ldconfig          $target/sbin
cp -ap /sbin/lilo             $target/sbin
cp -ap /sbin/sulogin          $target/sbin
cp -ap /sbin/shutdown          $target/sbin
cp -ap /sbin/fsck             $target/sbin
cp -ap /sbin/e2fsck          $target/sbin
cp -ap /sbin/fsck.ext2          $target/sbin
cp -ap /sbin/fsck.ext3          $target/sbin
cp -ap /sbin/fsck.reiserfs       $target/sbin
cp -ap /sbin/reiserfsck          $target/sbin
cp -ap /sbin/reboot             $target/sbin
cp -ap /sbin/runscript          $target/sbin
cp -ap /sbin/runlevel          $target/sbin
cp -ap /sbin/modprobe          $target/sbin
cp -ap /sbin/modules-update       $target/sbin
cp -ap /sbin/start-stop-daemon    $target/sbin
cp -ap /sbin/depscan.sh          $target/sbin
cp -ap /sbin/functions.sh       $target/sbin
cp -ap /sbin/runscript.sh       $target/sbin
cp -ap /sbin/rc             $target/sbin
cp -ap /sbin/rc-update          $target/sbin
cp -ap /sbin/update-modules       $target/sbin

#------------------------------------------------------------------------------/lib
# I determined which library files I need using the "ldd" command.
# This should copy the source library file and it's links.

echo Populating /lib
cp -apRd /lib/dev-state       $target/lib
cp -apR /lib/rcscripts/awk    $target/lib
cp -apR /lib/rcscripts/sh    $target/lib
cp -apR /lib/evms          $target/lib
cp -apR /lib/modules       $target/lib
cp -apR /lib/rcscripts      $target/lib
cp -apR /lib/security       $target/lib
cp -ap /lib/libdl*         $target/lib
cp -ap /lib/libc*         $target/lib
cp -ap /lib/libpthread*      $target/lib
cp -ap /lib/ld*            $target/lib
cp -ap /lib/libcrypt*      $target/lib
cp -ap /lib/libpam*         $target/lib
cp -ap /lib/libpam_misc*      $target/lib
cp -ap /lib/librt*         $target/lib
cp -ap /lib/libm*         $target/lib
cp -ap /lib/libnss*         $target/lib
cp -ap /lib/libnsl*         $target/lib
cp -ap /lib/libblkid*         $target/lib
cp -ap /lib/libuuid*         $target/lib
cp -ap /lib/libutil*         $target/lib
cp -ap /lib/libproc*         $target/lib
cp -ap /lib/libext2fs*      $target/lib
cp -ap /lib/libcom_err*      $target/lib
cp -ap /lib/libblkid*         $target/lib
cp -ap /lib/libcrypt*      $target/lib

#------------------------------------------------------------------------------/usr
echo Populating /usr
cp -apR /usr/lib/awk             $target/usr/lib
cp -apR /usr/lib/portage/bin         $target/usr/lib/bin
cp -apR /usr/share/awk             $target/usr/share
cp -ap /usr/bin/awk             $target/usr/bin
cp -ap /usr/bin/chmod             $target/usr/bin
cp -ap /usr/bin/dd                $target/usr/bin
cp -ap /usr/bin/echo             $target/usr/bin
cp -ap /usr/bin/gawk             $target/usr/bin
cp -ap /usr/bin/fbi                $target/usr/bin
cp -ap /usr/bin/hostname          $target/usr/bin
cp -ap /usr/bin/mkdir             $target/usr/bin
cp -ap /usr/bin/uname             $target/usr/bin
cp -ap /usr/bin/install             $target/usr/bin
cp -ap /usr/bin/ln                $target/usr/bin
cp -ap /usr/bin/ld               $target/usr/bin
cp -ap /usr/bin/ldd               $target/usr/bin
cp -ap /usr/bin/users             $target/usr/bin
cp -ap /usr/bin/whoami            $target/usr/bin
cp -ap /usr/bin/rm                $target/usr/bin
cp -ap /usr/sbin/etc-update          $target/usr/sbin
cp -ap /usr/sbin/env-update         $target/usr/sbin
cp -ap /usr/sbin/metalog          $target/usr/sbin
cp -ap /usr/sbin/useradd          $target/usr/sbin
cp -ap /usr/sbin/pam_tally          $target/usr/sbin
cp -ap /usr/sbin/pam_console_apply    $target/usr/sbin
cp -ap /usr/sbin/pam_timestamp_check    $target/usr/sbin
cp -ap /usr/bin/basename          $target/usr/bin
cp -ap /usr/bin/setfont            $target/usr/bin
cp -apR /usr/lib/portage            $target/usr/lib
cp -ap /usr/bin/python*            $target/usr/bin

#------------------------------------------------------------------------------/usr/lib
#Change 9.19.2003 : added ".so" before the "*", with out this
#the script copys some extra tared files in the /usr/lib directory
cp -ap /usr/lib/libpcre.so*         $target/usr/lib
cp -ap /usr/lib/libglib.so*         $target/usr/lib
cp -ap /usr/lib/libcrack.so*         $target/usr/lib
cp -ap /usr/lib/libtiff.so*         $target/usr/lib
cp -ap /usr/lib/libpng.so*         $target/usr/lib
cp -ap /usr/lib/libungif.so*         $target/usr/lib
cp -ap /usr/lib/libjpeg.so*         $target/usr/lib
cp -ap /usr/lib/libm.so*            $target/usr/lib
cp -ap /usr/lib/libc.so*            $target/usr/lib
cp -ap /usr/lib/libz.so*            $target/usr/lib
cp -ap /usr/lib/libX11.so*         $target/usr/lib
cp -ap /usr/share/consolefonts      $target/usr/share

#cp -apR /usr/lib/gcc-lib/i586-pc-linux-gnu/3.2.2/libstdc++*   $target/

#------------------------------------------------------------------------------/var
echo Populating /var
cp -apR /var/lib/init.d             $target/var
cp -apR /var/log               $target/var
cp -apR /var/lib/init.d/softscripts    $target/var/lib/init.d/softscripts
cp -apR /var/lib/init.d/started       $target/var/lib/init.d/softscripts

#------------------------------------------------------------------------------ldconfig
echo Running ldconfig
ldconfig -r $target

#------------------------------------------------------------------------------lilo
# lilo is used because grub does not seem to work with DiskOnChips
# This uses the /etc/lilo.conf file for configuration, change this if you
# need to.

echo Running lilo
lilo -b /dev/nftl/disc0/disc

#------------------------------------------------------------------------------exit
echo Finished
exit 0



Last edited by xcable on Wed Sep 24, 2003 5:26 pm; edited 12 times in total
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20067

PostPosted: Sun Sep 14, 2003 7:57 pm    Post subject: Reply with quote

Moved from Installing Gentoo.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
ZerBit
n00b
n00b


Joined: 11 Sep 2003
Posts: 8

PostPosted: Thu Sep 18, 2003 7:09 am    Post subject: questions Reply with quote

Hi,

What is the size of your DiskOnChip?

What is the size of your Gentoo installation?

Why do you have lilo and no grub?

What is the size of X?

Have you stripped the libs?

It´s a good job, perhaps it has a lot of dependence with your gentoo install.

Regards.
Back to top
View user's profile Send private message
xcable
Guru
Guru


Joined: 15 Aug 2002
Posts: 424
Location: College Station, Texas

PostPosted: Thu Sep 18, 2003 1:49 pm    Post subject: answer to questions Reply with quote

Qucik answers:
1 - 32 MB
2 - around 20 MB
3 - no grub
4 - no X
5 - no

More detail:
I am going to try several things to get the size of the install down (hopefully below 10 MB). I'm going to try BusyBox, library striping, compling with -02, using diet libc, removing unused binaries, simplying the init process, etc.. Gurb does not seam to work with DiskOnChips. I did research on the web, and everyone that I found used lilo. I did try Grub, at first, but had problems and did not really try to solve them because I already had lilo working. I'm not using X my target application. I'm using fbi to display images directly to the framebuffer and mplayer to display movies directly to the framebuffer. I don't think X will fit onto the DiskOnChip, but I plan to try in a few weeks. I'm also looking at other small GUIs (microwindows, nano-x, pico X, etc..). I did strip some libs at first but I did not see a huge size difference, so I did not bother. I plan to strip them when I'm optimization for size in the next few weeks or months.

I'm going to post a DiskOnChip format how to in a fews. It will go over the required kernel options, cfdisk, and mke2fs for the DiskOnChip.

Still looking for any help (mostly for Gentoos init process). I'm willing go help get anyone started.

heath h holcomb
Back to top
View user's profile Send private message
ZerBit
n00b
n00b


Joined: 11 Sep 2003
Posts: 8

PostPosted: Thu Sep 18, 2003 3:53 pm    Post subject: Reply with quote

I´m going to do something similar. It´s great :lol:

What is your hardware platform? (i have an EPIA M10000 Ezra)

How could i help you?

Regards
Back to top
View user's profile Send private message
xcable
Guru
Guru


Joined: 15 Aug 2002
Posts: 424
Location: College Station, Texas

PostPosted: Thu Sep 18, 2003 4:27 pm    Post subject: hardware Reply with quote

Right now I using a Bossier board, but I plan on using a Lanner SBC, and a Advantach board.

Basier 4500 K6-2 400 MHz 128 MB
Lanner Geode 233 MHz 32 MB
Advantech PCM-9575 Ezra/Edian

heath holcomb
Back to top
View user's profile Send private message
joshmccormack
n00b
n00b


Joined: 14 Mar 2003
Posts: 5

PostPosted: Fri Oct 03, 2003 4:32 pm    Post subject: Re: hardware Reply with quote

It's been a year since this thread quieted. Have you guys figured out a lot with Gentoo Embedded? Sounds very exciting, I'd love to know more.

Josh

xcable wrote:
Right now I using a Bossier board, but I plan on using a Lanner SBC, and a Advantach board.

Basier 4500 K6-2 400 MHz 128 MB
Lanner Geode 233 MHz 32 MB
Advantech PCM-9575 Ezra/Edian

heath holcomb
Back to top
View user's profile Send private message
xcable
Guru
Guru


Joined: 15 Aug 2002
Posts: 424
Location: College Station, Texas

PostPosted: Fri Oct 03, 2003 5:39 pm    Post subject: a year??? Reply with quote

This how-to has only been up for a about a month.

I'm still working on it. I have not had much time in the last couple of weeks.

heath holcomb
Back to top
View user's profile Send private message
Sapienter
n00b
n00b


Joined: 16 Jul 2003
Posts: 22
Location: Columbus, OH

PostPosted: Tue Oct 07, 2003 10:09 pm    Post subject: Reply with quote

Dollars to donuts he was looking at your "Joined" date. (Aug 2002) I do that a lot when I'm scanning for recent posts in a thread.

I'm trying to apply this to USB key stripped down gentoos for the servers I'm rolling out. We're using cheap hardware and have had some HD reliability issues. Since the servers are probably eventually going to perform firewall/routing/Swan functions, having a wee $20 usb key at each office to boot up off of and quickly restore web access is much better than trying to throw redundancy at all our hardware. I'll post here to let you know how it turns out.
_________________
"The spirit of the law is the least of the things we are prepared to violate."
--from http://www.schlockmercenary.com/
Back to top
View user's profile Send private message
lo4dro
Tux's lil' helper
Tux's lil' helper


Joined: 10 Feb 2003
Posts: 84

PostPosted: Thu Oct 16, 2003 6:36 am    Post subject: Reply with quote

@cable

Hi.

Use you busy-box to make a smaller System?
_________________
--
VDR der besser Reseiver
Back to top
View user's profile Send private message
robert0380
n00b
n00b


Joined: 14 Oct 2003
Posts: 62
Location: Atlanta, GA

PostPosted: Tue Oct 21, 2003 10:19 am    Post subject: Reply with quote

i have got to try this.

i have a Gateway box that came with AOL on a compact flash card.
really nice machine, small. has NIC, modem, IR Keyboard. the flash card is 32MB.
i'd like to get linux on it.


waiting on the Compact Flash script.
_________________
Mars Bitches!
-Black George Bush (David Shapell)
Back to top
View user's profile Send private message
OdinsDream
Veteran
Veteran


Joined: 01 Jun 2002
Posts: 1057

PostPosted: Mon Nov 03, 2003 2:21 am    Post subject: Reply with quote

robert0380 wrote:
i have got to try this.

i have a Gateway box that came with AOL on a compact flash card.
really nice machine, small. has NIC, modem, IR Keyboard. the flash card is 32MB.
i'd like to get linux on it.


waiting on the Compact Flash script.


Where did you get this system? Do you have a link to it, it sounds interesting...
_________________
s/(?<!gnu\/)linux(?! kernel)/GNU\/Linux/gi

Don't blame me. I didn't vote for him.

http://john.simplykiwi.com
Back to top
View user's profile Send private message
robert0380
n00b
n00b


Joined: 14 Oct 2003
Posts: 62
Location: Atlanta, GA

PostPosted: Mon Nov 03, 2003 3:54 pm    Post subject: Reply with quote

i got it off ebay. my friend has a few of em and he managed to get win 98 on it but whre my hard drive pins would be is just solder blobs :( so all i have for storage is a 32MB flash memory card but i might get a bigger one.

i found a link here, apparently it's called a "Web Appliance". Notice the year on that article is back in 2000. I dont think they make em anymore but there are probably enough circulating to where you can get your hands on one.

I would love nothing more than to put linux on it but I'm not familiar with installing Linux on un-common hardware (im just used to getting onto PCs).
_________________
Mars Bitches!
-Black George Bush (David Shapell)
Back to top
View user's profile Send private message
robert0380
n00b
n00b


Joined: 14 Oct 2003
Posts: 62
Location: Atlanta, GA

PostPosted: Mon Nov 03, 2003 4:17 pm    Post subject: Reply with quote

http://msnbc-cnet.com.com/2100-1040_3-248422.html

forgot the link, lol
_________________
Mars Bitches!
-Black George Bush (David Shapell)
Back to top
View user's profile Send private message
bus_drivr
n00b
n00b


Joined: 20 Feb 2003
Posts: 48
Location: Florida

PostPosted: Sun Nov 23, 2003 4:13 pm    Post subject: Reply with quote

2 things to consider:

1) for gcc flags -Os is supposed to give a smaller size application after compiling.
2) -fomit-frame-pointers will also result in smaller size at the cost of debugging

there is an irc channel on irc.freenode.net #gentoo-embedded that might be helpful. Though members are often busy- be patient when waiting on replies.
Back to top
View user's profile Send private message
bus_drivr
n00b
n00b


Joined: 20 Feb 2003
Posts: 48
Location: Florida

PostPosted: Sun Nov 23, 2003 4:29 pm    Post subject: Reply with quote

form the diet libc faq
Q: Compiling software with "diet -Os gcc..." gives error messages about
-malign-loops, -malign-jumps and -malign-functions being obsolete.

A: diet -Os uses some platform dependant gcc options to create tighter
code. Unfortunately, these options have been renamed on gcc 3. You
can fix this by creating a file ~/.diet/gcc containing this line:

-Os -fomit-frame-pointer -falign-functions=0 -falign-jumps=0 -falign-loops=0 -mpreferred-stack-boundary=2

If you get this options not for diet -Os gcc but for diet -Os
i386-linux-gcc, put this in ~/.diet/i386-linux-gcc instead.
Back to top
View user's profile Send private message
my_nick
n00b
n00b


Joined: 07 Jul 2003
Posts: 28
Location: Slovenia

PostPosted: Sun Nov 23, 2003 4:47 pm    Post subject: Reply with quote

Could this work with an iPod?

It can be mounted with sd_mod, ieee1394, ohci1394 and sbp2 modules.

I can create partitions on it (/dev/sda3 and so on)
Back to top
View user's profile Send private message
xcable
Guru
Guru


Joined: 15 Aug 2002
Posts: 424
Location: College Station, Texas

PostPosted: Thu Nov 27, 2003 4:37 pm    Post subject: Reply with quote

I have looked into useing diet libc, and have determined that the benifits would not justify the work required to get it working. My target system will have a 32 MB DiskOnChip or a >=128 MB Compact Flash.

"-Os" and "-fomit-frame-pointer" should be and wil be used.

I'm build this for a x86 embedded SBC with a DiskOnChip or Compact Flash socket, anything else I really don't care about (at least right now).

I have subscribed to the embedded.gentoo listserv, and I looks like it's going to be a while before we see a new gentoo init system. I have deceided to use busy box to replace the system apps, and mini login to handle the login process. this will greatly change my install script.

I have not had very much time to work on it (I'm a new dad), but with the holidays coming up I should have enough time to get it work by the end of the year.

heath holcomb
Back to top
View user's profile Send private message
smukec
n00b
n00b


Joined: 06 Dec 2003
Posts: 59
Location: Slovenia

PostPosted: Thu Jan 22, 2004 10:26 am    Post subject: Reply with quote

I'm trying to inject life to a PC/104 system based on Advantech PCM-3550 and some additional RS232 & I/O ports.

It seems (due to documentation I found on the net) that this board needs i586 code in order to run properly. I found some minimalistic linuxes but they're having problems with the CompactFlash card (seek timeout & similar). Ohers (newer-probably i686 issue) had problems at booting time: LILO reported 'LI 04' - seems to be Sector not found.
I decided to go with gentoo (I'm, running it on my desktop & server). I emerged crosdev-0.3, but having problems(read: no knowledge) using it. I have experience in programming, I also did some cross-compiling for my palm(CygWin on Wins), but totally lacking of such experience under linux.

Can you help?
Back to top
View user's profile Send private message
xcable
Guru
Guru


Joined: 15 Aug 2002
Posts: 424
Location: College Station, Texas

PostPosted: Thu Jan 22, 2004 2:33 pm    Post subject: pc104 Reply with quote

How can I help and why are you using crossdev?

On my installs I put a hard drive on my target SBC (single board computer) and put gentoo on the hard drive. This takes a while (a long while, use distcc if you can) but you get full access to your target hardware, you can compile the programs with custom gcc settings to optimize speed and/or size, and you make sure that the hardware is fully supported under Linux.

Looks like the PCM-3550 is a Geode based SBC. No problem on that hardware because I run gentoo on a Geode based SBC, and yes your c/c++ flags need to be set to i586. The Geode is basicaly a 586 grade processor with 3dnow (I think or is it mmx, just do a proc /cat/cpuinfo from the live cd to double check) support.

After you have you hard drive system fully up then you can put in a compact flash and mount it (just like a hard drive). Lilo and grub should have no problem with the compact flash. Just remember that a compact flash is a flash based memory storage device with a limited number of write cycles per each cell (around a 100,000).

heath holcomb
Back to top
View user's profile Send private message
smukec
n00b
n00b


Joined: 06 Dec 2003
Posts: 59
Location: Slovenia

PostPosted: Thu Jan 22, 2004 3:04 pm    Post subject: Re: pc104 Reply with quote

xcable wrote:
How can I help and why are you using crossdev?

a) I intended help on crossdev.
b) I use crossdev because I tought this is the 'right' way

Quote:
On my installs I put a hard drive on my target SBC ...

To be honest I haven't tought about that. However I have a smaller IDE (E-IDE) connector for disks. How can I connect a normal HD - is it just narrower or it has less pins?

Anyway, if you install everything on the HD, how you install the CF then? Do you use your script and just copy what you need? Or you mount only some (huge) directories on the HD?

Goran
Back to top
View user's profile Send private message
xcable
Guru
Guru


Joined: 15 Aug 2002
Posts: 424
Location: College Station, Texas

PostPosted: Thu Jan 22, 2004 4:32 pm    Post subject: ide cable Reply with quote

Ya, that IDE header is most likely 2mm pin spaccing and 5" harddrive is .1" pin spacing. Those kinds of cables are quite comming when deal with SBCs (from OEMs), but may be hard to come by for some out the embedded profession. I easy work around is to use a laptop harddirve, there spacing 2mm; but you would still need a 2mm IDE cable. Try DigiKey, Mouser, Frys, maybe Radio Shack for 2mm to .1" IDE cables and/or 2mm to 2mm IDE cables.

Sorry don't know anything about crossdev.

For installing on a CF, for now you just have to copy over specific files (config, libraries, executables, etc...) and make all the directories (including the proc directory and the devices - not easy to do manualy that's why I use gentoos stage1 proc directory). That's what the script does. I'm looking into doing something more professional in the near future, using Busybox and Minilogin; it is if Gentoo does not beat me to the puch (see http://www.gentoo.org/proj/en/base/embedded/)

heath
Back to top
View user's profile Send private message
drdabbles
n00b
n00b


Joined: 08 May 2003
Posts: 31
Location: NH, USA

PostPosted: Thu Jan 22, 2004 8:05 pm    Post subject: Reply with quote

Hey all,

Just tossing a suggestion into the mix, here, but I thought it would be helpful. Anyway, I have been building a custom-rolled distro for quite some time now. It's been used in security systems, etc. and has performed very well. The problem is maintaining everything. Keeping kernel patches, programs, makefiles, etc. all updated is a real pain. a REAL pain.

So to cut to the chase, I'd suggest dropping dietlibc and going with uClibc. It's supported on more architectures, contains more "standard" system functions, results in a slimmed-down set of binaries, and in general has a VERY active and open development community. Of course, I am biased, but I figured I'd let you all try it and decide on your own.

http://www.uclibc.org/
_________________
Your Lord and Master,
Foamy

P.S. My minions are strong and will destroy you

Debate, but don't flame
Back to top
View user's profile Send private message
drdabbles
n00b
n00b


Joined: 08 May 2003
Posts: 31
Location: NH, USA

PostPosted: Thu Jan 22, 2004 9:00 pm    Post subject: Reply with quote

Another quick note. Instead of running `lilo -b /dev/nftl/disc0/disc`, the line should be changed to `lilo -r $target`. This will make lilo run with the "target" as the "root". This means you don't have to change YOUR lilo.conf. Just another thought.
_________________
Your Lord and Master,
Foamy

P.S. My minions are strong and will destroy you

Debate, but don't flame
Back to top
View user's profile Send private message
Mimamau
Apprentice
Apprentice


Joined: 11 Jun 2002
Posts: 160
Location: Germany

PostPosted: Sun Feb 29, 2004 12:56 pm    Post subject: Reply with quote

I've also running a small embedded system on compact flash (atm it's debian). Because of the limited write cycles I have a fat16 fs on my card and booting is done with syslinux. It first boots into a small initrd. There's a script which fills a ramdisk from an image located on my fat16 fs, this is done with dd. Then the new ramdisk is used as rootfs. So my card has to be mounted only read-only.

Sometimes I get seek timeout & similar errors while booting and I have to press the reset button. Also when the system is up I sometimes get hda: lost interrupt. Any workaround for this?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum