Linux on the C1VE

www.erazor-zone.de_ez_projects_linux_c1ve_c1ve.jpg

Yeah, another Picturebook site :-)

Well, i've managed some nice things on the C1VE and thats mainly why i'm writing this page.

And as far as i know, there aren't any success stories about gentoo on this machine.

First time installation

  • You'll need another PC, running Linux (cos you're not having a network connection during setup, but this is required!)
  1. create a temporary directory for our chrooted installation
    mkdir /mnt/gentoo
  2. download the lastest stage1-x86-XXX.tar.bz2 from www.gentoo.org
  3. Unzip the stage1 to our gentoo dir
    tar -jxf stage1-x86-XXX.tar.bz2 -C /mnt/gentoo
  4. copy the resolv.conf
    cp /etc/resolv.conf /mnt/gentoo/etc
  5. take My /etc/make.conf store it in /mnt/gentoo/etc
    • you can edit it with
      nano -w /mnt/gentoo/etc/make.conf
    • the unstable ~x86 worked nicely the last years
    • the CFLAGS should be ok
    • insecure-drivers is important for the mach64-DRM
    • opengl is not supported :-(
    • svga is not working
    • directfb is not working here too
  6. mount the proc-filesystem (contains process informations)
    mount -t proc proc /mnt/gentoo/proc
  7. switch root to our installtion
    chroot /mnt/gentoo /bin/bash
  8. create the PORTAGE_OVERLAY (defined in /etc/make.conf)
    mkdir /usr/local/portage
  9. refresh the portage (well, or at this point even get one :-))
    emerge sync
  10. bootstrap
    cd /usr/portage && ./scripts/bootstrap.sh
    • this may take several hours depending on how fast you machine is
    • maybe you'll need to reboot your pc or something, do the next steps to resume the bootstrap
      1. mount -t proc proc /mnt/gentoo/proc
      2. chroot /mnt/gentoo /bin/bash
      3. cd /usr/portage && ./scripts/bootstrap.sh
  11. build the system
    emerge system
  12. install a bootloader
    emerge grub
  13. install the kernel-sources
    emerge mm-sources
    • the nitro-sources-2.6.10-r4 are nice but other kernels should work too
    • I'm using gentoo-sources-2.6.11-r10 (cos the atmelwlandriver is not working with 2.6.12) now
  14. emerge genkernel for kernel compilation
    emerge genkernel
  15. configure and build your kernel with
    genkernel all --install --menuconfig
    • check my .config
    • if you've copied my .config don't forget to add –no-clean to genkernel
  16. emerge pcmcia, wireless-tools and iptables
    emerge pcmcia-cs wireless-tools iptables
  17. delete the distfiles
    rm /usr/portage/distfiles/*</bash>
      - now leave the chroot, unmount proc and compress your new root <code bash>exit
    umount proc; tar -vjxf gentoo.tar.bz2 ./
  18. create a minimal live-cd with the filesystem-tools you need (reiserfs3 or 4, btw. i'm using reiser3 cos 4 takes too much CPU for my taste) AND your gentoo.tar.bz2
  19. put that nice pcmcia-drive into your C1VE and boot up your live-CD
    • you need this commandline arguments:
      • gentoo-nofb nodetect ide2=0x180,0x386
  20. now create your partitions as discribed here
  21. untar your gentoo.tar.bz2
     tar -jxf gentoo.tar.bz2 -C /mnt/gentoo
  22. setup and install grub
    nano -w /mnt/gentoo/boot/grub.conf
    grub-install /dev/hda

Configuration

Getting DRM to work

  1. emerge the drm-packet
    emerge x11-drm
    echo "mach64" >> /etc/modules.autoload.d/kernel-2.6
  2. use xorg-x11 opengl implementation
    opengl-update xorg-x11

Getting the best hdparm settings

  1. hdparm -Tt

Files

Kernel-Setup, mm-sources

  • General setup
    • [ ] Kernel .config support
  • Processor type and features
    • Processor family
      • (X) Crusoe
  • Power management options (ACPI, APM)
    • [*] Software Suspend (EXPERIMENTAL)
    • ACPI (Advanced Configuration and Power Interface) Support
      • [*] Sleep States (EXPERIMENTAL)
      • [*] /proc/acpi/sleep (deprecated)
      • <*> AC Adapter
    • APM (Advanced Power Management) BIOS Support
      • < > APM (Advanced Power Management) BIOS support
    • CPU Frequency scaling
      • [*] CPU Frequency scaling
      • <*> CPU frequency translation statistics
      • <*> 'powersave' governor
      • <*> 'userspace' governor for userspace frequency scaling
      • <*> 'ondemand' cpufreq policy governor
      • <*> 'conservative' cpufreq governor
      • <*> ACPI Processor P-States driver
      • <*> Transmeta LongRun
  • Bus options (PCI, PCMCIA, EISA, MCA, ISA)
    • PCCARD (PCMCIA/CardBus) support —>
      • <*> PCCard (PCMCIA/CardBus) support
      • [ ] Load CIS updates from userspace (EXPERIMENTAL)
      • <M> CardBus yenta-compatible bridge support
      • <M> Cirrus PD6729 compatible bridge support
      • <M> i82092 compatible bridge support
      • <M> Databook TCIC host bridge support
  • Executable file formats
    • < > Kernel support for a.out and ECOFF binaries
    • < > Kernel support for MISC binaries
  • Device Drivers
    • Parallel port support
      • < > Parallel port support
    • Plug and Play support —>
      • [ ] Plug and Play ACPI support (EXPERIMENTAL)
    • Block devices
      • <M> Normal floppy disk support
      • <*> Loopback device support
        • <M> Cryptoloop Support
      • <*> RAM disk support
      • < > ATA over Ethernet support
    • ATA/ATAPI/MFM/RLL support
      • <M> Include IDE/ATAPI CDROM support
      • <*> SCSI emulation support
      • [ ] CMD640 chipset bugfix/support
      • <*> Intel PIIXn chipsets support
    • SCSI device support
      • <*> SCSI device support
    • Networking support
      • <*> Universal TUN/TAP device driver support
      • Ethernet (10 or 100Mbit)
        • [*] Ethernet (10 or 100Mbit)
        • [ ] EISA, VLB, PCI and on board controllers
      • Wireless LAN (non-hamradio)
        • [*] Wireless LAN drivers (non-hamradio) & Wireless Extensions
      • PCMCIA network device support
        • [*] PCMCIA network device support
      • <M> PPP (point-to-point protocol) support
    • Input device support
      • [*] Provide legacy /dev/psaux device
      • (1024) Horizontal screen resolution
      • (480) Vertical screen resolution
      • Mouse
        • <*> PS/2 mouse
    • Character devices
      • <*> Intel/AMD/VIA HW Random Number Generator support
      • <M> Sony Vaio Programmable I/O Control Device support (EXPERIMENTAL)
      • < > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
    • I2C support
      • < > I2C support
    • Multimedia devices
      • <*> Video For Linux
      • Video For Linux —>
        • <M> Sony Vaio Picturebook Motion Eye Video For Linux
    • Graphics support
      • <*> Support for frame buffer devices
      • [*] VESA VGA graphics support
    • Sound
      • <*> Sound card support
      • Advanced Linux Sound Architecture —>
        • PCI devices —>
          • <M> Yamaha YMF724/740/744/754
    • USB support
      • <*> Support for Host-side USB
      • [*] USB device filesystem
      • [*] USB suspend/resume (EXPERIMENTAL)
      • < > EHCI HCD (USB 2.0) support
      • <M> UHCI HCD (most Intel and VIA) support
  • File systems
    • <M> Second extended fs support
    • <*> Ext3 journalling file system support
    • <*> Reiser4 (EXPERIMENTAL)
    • <M> Reiserfs support

My /etc/make.conf

# Copyright 2000-2002 Daniel Robbins, Gentoo Technologies, Inc.
# Contains local system settings for Portage system
# Please review 'man make.conf' for more information.

# Build-time functionality
# ========================
#
# The USE variable is used to enable optional build-time functionality. For
# example, quite a few packages have optional X, gtk or GNOME functionality
# that can only be enabled or disabled at compile-time. Gentoo Linux has a
# very extensive set of USE variables described in our USE variable HOWTO at
# http://www.gentoo.org/doc/use-howto.html
#
# The available list of use flags with descriptions is in your portage tree.
# Use 'less' to view them:  --> less /usr/portage/profiles/use.desc <--
#
# Example:
USE="X gtk gtk2 -gnome kde freetype \
        msn icq jabber yahoo aim \
        ethereal -java javascript samba mysql php apache2 ssl \
        -opengl -xinerama sdl \
        -gpm dga -svga ncurses fbcon -directfb \
        alsa oss -arts -xine mplayer v4l v4l2 \
        acpi pnp longrun mmx usb x86 wifi pcmcia insecure-drivers \
        -pda \
        jpeg avi mpeg divx4linux win32codecs \
        rar zip bzip bzip2 zoo ace \
        pic pie nptl \
        unicode utf8 \
        avr-spi-ftdi"

# Host Setting
# ============
#
# If you are using a Pentium Pro or greater processor, leave this line as-is;
# otherwise, change to i586, i486 or i386 as appropriate. All modern systems
# (even Athlons) should use "i686-pc-linux-gnu"
#
CHOST="i686-pc-linux-gnu"

# Host and optimization settings 
# ==============================
#
# For optimal performance, enable a CFLAGS setting appropriate for your CPU
#
# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
# breaking compatibility with other CPUs.
#
# -march=<cpu-type> means to take full advantage of the ABI and instructions
# for the particular CPU; this will break compatibility with older CPUs (for
# example, -march=athlon-xp code will not run on a regular Athlon, and
# -march=i686 code will not run on a Pentium Classic.
#
# CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp, athlon-4,
# athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686
# (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron), pentium3,
# and pentium4. Note that Gentoo Linux 1.4 and higher include at least gcc-3.2.
# 
# CPU types supported in gcc-2.95*: k6, i386, i486, i586 (Pentium), i686
# (Pentium Pro), pentium, pentiumpro Gentoo Linux 1.2 and below use gcc-2.95*
#
# Decent examples:
#
#CFLAGS="-mcpu=athlon-xp -O3 -pipe"
CFLAGS="-O2 -march=i686 -pipe -fomit-frame-pointer -mpreferred-stack-boundary=2 -falign-functions=0 -falign-jumps=0 -falign-loops=0"

# If you set a CFLAGS above, then this line will set your default C++ flags to
# the same settings. If you don't set CFLAGS above, then comment this line out.
CXXFLAGS="${CFLAGS}"

#LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s"

# Advanced Masking
# ================
#
# Gentoo is using a new masking system to allow for easier stability testing
# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
# on the platform they are set for. A special form has been added that
# indicates packages and revisions that are expected to work, but have not yet
# been approved for the stable set. '~arch' is a superset of 'arch' which
# includes the unstable, in testing, packages. Users of the 'x86' architecture
# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
# '~ppc', '~sparc', '~sparc64' are the unstable KEYWORDS for their respective
# platforms. DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
#
ACCEPT_KEYWORDS="~x86"

# Portage Directories
# ===================
#
# Each of these settings controls an aspect of portage's storage and file
# system usage. If you change any of these, be sure it is available when
# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
#
# PORTAGE_TMPDIR is the location portage will use for compilations and
#     temporary storage of data. This can get VERY large depending upon
#     the application being installed.
PORTAGE_TMPDIR="/var/tmp"
#
# PORTDIR is the location of the portage tree. This is the repository
#     for all profile information as well as all ebuilds. This directory
#     itself can reach 200M. WE DO NOT RECOMMEND that you change this.
PORTDIR="/usr/portage"
#
# DISTDIR is where all of the source code tarballs will be placed for
#     emerges. The source code is maintained here unless you delete
#     it. The entire repository of tarballs for gentoo is 9G. This is
#     considerably more than any user will ever download. 2-3G is
#     a large DISTDIR.
#DISTDIR="${PORTDIR}/distfiles"
#
# PKGDIR is the location of binary packages that you can have created
#     with '--buildpkg' or '-b' while emerging a package. This can get
#     upto several hundred megs, or even a few gigs.
PKGDIR="${PORTDIR}/packages"
#
# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
#     concern that they will be deleted by rsync updates. Default is not
#     defined.
PORTDIR_OVERLAY="/usr/local/portage"

# Fetching files 
# ==============
#
# If you need to set a proxy for wget or lukemftp, add the appropriate "export
# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
# all users on your system should use them.
#
# Portage uses wget by default. Here are some settings for some alternate
# downloaders -- note that you need to merge these programs first before they
# will be available.
#
# Lukemftp (BSD ftp):
#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
#
# Prozilla (turbo downloader)
#FETCHCOMMAND='/usr/bin/proz --no-getch -s ${URI} -P ${DISTDIR}'

# Advanced Features
# =================
#
# MAKEOPTS provides extra options that may be passed to 'make' when a
#     program is compiled. Presently the only use is for specifying
#     the number of parallel makes (-j) to perform. The suggested number
#     for parallel makes is CPUs+1.
#MAKEOPTS="-j3"
#
# AUTOCLEAN enables portage to automatically clean out older or overlapping
#     packages from the system after every successful merge. This is the
#     same as running 'emerge -c' after every merge. Set with: "yes" or "no".
#AUTOCLEAN="yes"
#
# FEATURES are settings that affect the functionality of portage. Most of
#     these settings are for developer use, but some are available to non-
#     developers as well. 'buildpkg' is an always-on setting for the emerge
#     flag of the same name. It causes binary packages to be created of all
#     packages that are merged.
FEATURES="sandbox ccache distcc autoaddcvs"
DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"

#
# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
#     a current portage tree before it exits with an error. This allows
#     for a more successful retrieval without user intervention most times.
RSYNC_TIMEOUT="360"
RSYNC_RETRIES="3"

VIDEO_CARDS="mach64"
ALSA_CARDS="ymfpci"

#GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo http://ftp.uni-erlangen.de/pub/mirrors/gentoo"

~~FOLD:END~~

My /etc/modules.d/alsa

# Alsa 0.9.X kernel modules' configuration file.
# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/files/alsa-modules.conf-rc,v 1.1 2003/08/05 21:07:55 johnm Exp $

# ALSA portion
alias char-major-116 snd

# OSS/Free portion
alias char-major-14 soundcore

##
## IMPORTANT:
## You need to customise this section for your specific sound card(s)
## and then run `update-modules' command.
## Read alsa-driver's INSTALL file in /usr/share/doc for more info.
##
##  ALSA portion
 alias snd-card-0 snd-ymfpci
 alias snd-card-1 snd-bt-sco

## alias snd-card-1 snd-ens1371
##  OSS/Free portion
alias sound-slot-0 snd-card-0
alias sound-slot-1 snd-card-1
##

# OSS/Free portion - card #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss

##  OSS/Free portion - card #2
alias sound-service-1-0 snd-mixer-oss
alias sound-service-1-3 snd-pcm-oss
alias sound-service-1-12 snd-pcm-oss

alias /dev/mixer snd-mixer-oss
alias /dev/dsp snd-pcm-oss
alias /dev/midi snd-seq-oss

# Set this to the correct number of cards.
options snd cards_limit=2

~~FOLD:END~~

My /etc/modules.d/sonypi

# sony pi
# mknod /dev/sonypi c 10 250
alias char-major-10-250 sonypi
options sonypi minor=250 camera=1 fnkeyinit=1
alias /dev/misc/sonypi sonypi
alias /dev/sonypi sonypi

~~FOLD:END~~

My /etc/modules.d/meye

#sony motion eye
#mknod /dev/video0 c 81 0
#chmod 666 /dev/video0
#ln -s /dev/video /dev/video0

alias char-major-81 videodev
alias char-major-81-0 meye
options meye gbuffers=32
alias /dev/video0 meye
alias /dev/v4l/video0 meye

~~FOLD:END~~

My /etc/X11/xorg.conf

# XFree86 4.0 configuration generated by Xconfigurator

Section "ServerLayout"
   Identifier "test"
   Screen 0 "Screen0" 0 0
   InputDevice "Keyboard0" "CoreKeyboard"
   InputDevice "Mouse0"    "CorePointer"
   InputDevice "USBMouse0" "SendCoreEvents"
EndSection

Section "ServerFlags"
   Option "AllowMouseOpenFail"
   Option "BlankTime"   "5"
   Option "StandbyTime" "7"
   Option "SuspendTIme" "0"
   Option "OffTime"     "0"
   Option "NoTrapSignals"
   Option "xfree86-dga"
EndSection

Section "Files"
    RgbPath     "/usr/lib/X11/rgb"
    
    FontPath "/usr/share/fonts/misc/"
    FontPath "/usr/share/fonts/75dpi/:unscaled"
    FontPath "/usr/share/fonts/100dpi/:unscaled"
    FontPath "/usr/share/fonts/Type1/"
    FontPath "/usr/share/fonts/Speedo/"
    FontPath "/usr/share/fonts/75dpi/"
    FontPath "/usr/share/fonts/100dpi/"

    ModulePath "/usr/lib/modules"
EndSection

# This loads all the modules...

Section "Module"
    Load  "GLcore"
    Load  "dbe"
    Load  "dri"
    Load  "glx"
    Load  "extmod"
#    Load  "pex5"
    Load  "record"
#    Load  "xie"
    Load "freetype"
#    Load "speedo"
    Load "type1"
#    Load "v4l"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
    Option      "XkbLayout" "de"
    Option      "XkbVariant" "nodeadkeys"
    Option      "XkbModel" "pc105"
EndSection

Section "InputDevice"
        Identifier      "Mouse0"
        # Modified by mouseconfig
        Driver          "mouse"
        Option          "Device"                "/dev/psaux"
        Option          "Protocol"              "PS/2"
        Option          "Emulate3Buttons"       "no"
        Option          "ZAxisMapping"          "4 5"
EndSection

Section "InputDevice"
        Identifier      "USBMouse0"
        Driver          "mouse"
        Option          "Device"                "/dev/input/mice"
        Option          "Protocol"              "IMPS/2"
        Option          "Emulate3Buttons"       "no"
        Option          "ZAxisMapping"          "4 5"
EndSection

Section "Monitor"
    Identifier "LCD Panel int 1024x480"
    VendorName "Sony"
    ModelName  "Vaio C1VN Series"
#   HorizSync 30-64
#   VertRefresh 50-100
    Gamma 1.0 1.0 1.0
    Option "DPMS"
#   Thanks to Graham Cole for this tweak
     ModeLine "1024x480" 65.00 1024 1032 1176 1344 480 488 494 563 -Hsync +Vsync
     several
#     ModeLine "1024x480" 38.17 1024 1048 1152 1180 480 481 484 497 -Hsync +Vsync
#     ModeLine "1024x480-65" 42.04 1024 1056 1160 1296 480 481 484 499 -Hsync +Vsync

#
#  Try this older ModeLine if you have trouble with the one above
#    ModeLine "1024x480" 65.00 1024 1032 1176 1344 480 488 494 560 -hsync -vsync    
EndSection

Section "Device"
    Identifier  "ATI 3D Rage"
    Driver      "ati"
    VendorName  "ATI"
    BoardName   "ATI 3D Rage Mobility P/M"
    BusID       "PCI:0:13:0"~~FOLD:END~~
    ClockChip   "Internal"
    ChipSet     "mach64"
    ChipId      0x4c52
    ChipRev     0x64
    #VideoRam   4000

#    Option "backingstore" "true"    
EndSection

#Section "Extensions"
#    Option "Composite" "Enable"
#EndSection

Section "Screen"
    Identifier "Screen0"
    Device "ATI 3D Rage"
    Monitor "LCD Panel int 1024x480"
    DefaultDepth 16
    Subsection "Display"
        Depth 32
        Modes "1024x480"
    EndSubSection
    Subsection "Display"
        Depth 24
        Modes "1024x480"
        Virtual 1024 480 
        ViewPort 1024 480
    EndSubSection
    Subsection "Display"
        Depth 16
        Modes "1024x480"
#        Virtual 1024 768
#        ViewPort 1024 480
    EndSubSection
    Subsection "Display"
        Depth 8
        Modes "1024x480"
    EndSubSection
EndSection

Section "dri"
 Mode 0666
EndSection

~~FOLD:END~~

My /etc/conf.d/hdparm

 all_args="-d1"

~~FOLD:END~~

Software used

  • some system tools:
    • spicctrl
    • longrun
    • sonypid
  • esearch
  • distcc
  • ccache
  • acpi
  • vpnc
  • vtun
  • most of the kde-apps:
    • kate
    • konqueror
    • kdevelop
    • kmail
    • kopete
  • some nice multimedia apps:
    • amarok
    • mplayer
    • kmplayer
    • gwenview
    • xawtv
    • xv
    • gimp
  • a nice and tiny windowmanager
    • fluxbox
  • some tools for the console
    • muttng
    • centericq
    • links
    • libcaca
    • mc

Links

FAQ - Frequently Asked Questions

 
wiki/projects/linux/c1ve.txt · Last modified: 2005/06/24 16:59 by e-razor
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki