
FRV uClinux root filesystem notes

In total there are 4 tarballs:

 rootfs-src.tar.bz2 -- this is the source for the rootfs
 rootfs-glibc-frv-040820-3.tar.bz2 -- glibc root filesystem image.
 rootfs-uclibc-frv-040820-3.tar.bz2 -- uClibc root filesystem image.
 rootfs-doc.tar.bz2 -- this is the docs for rootfs packages


General NOTES/Caveats

    Name resolution works, but only if you supply an /etc/resolv.conf file
    with settings appropriate for your environment.
    
    There are 2 accounts enabled: root and default. default is unprivileged.
    Both accounts have an empty password initially.

Linux NOTES/Caveats
    System initialization is now handled by SysVinit, not busybox. Only 
    network, random, rawdevices, sshd, syslog, and xinetd are started 
    automatically at boot time. Other services, found in /etc/rc.d/init.d,
    can be started and stopped using /sbin/service.

    System services known to have problems:
	<none>

    Packages known to have problems:
	<none>
      	
    Untested packages:
      console-tools
      dhcpcd
      dump
      fbset
      gdbm
      logrotate
      lprng
      mgetty
      mingetty
      minicom
      netkit-ntalk
      netkit-rusers
      netkit-rwall
      netkit-rwho
      pam
      pcmcia-cs
      ppp
      quota
      rarpd
      rp-pppoe
      rstatd
      setserial
      statserial
      tcp_wrappers
      usbutils
      zebra

    Missing packages:
	<none>

uClinux NOTES/Caveats
    Sshd only runs via inetd. 

    The included shell, msh, has limited support for complex commands.

    The following daemons/services do not background themselves in uClinux 
    as they do on Linux due to design limitations:
	boa
	ntpd
	rpc.lockd
	rpc.mountd
	rpc.nfsd
	rpc.rquotad
	rpc.statd
	snmpd
	smbmount

How to build the root filesystem from source

    Move into a suitable directory

      $ cd /var/tmp

    Unpack the source tarball

      $ tar -xjvf /tmp/rootfs-src.tar.bz2

    Move into the directory created in unpacking the sources

      $ cd rootfs-src

    Building the root filesystem 

      NOTE: If you wish to build a uclibc-based root filesystem, change
            the value of USE_GLIBC to false in Makefile.

      Ensure that the new copy of the compiler is the first frv-linux-gnu
      compiler in your search path, but after all other paths

         $ PATH=$PATH:`pwd`/frv-040820-3/H-i686-pc-linux-gnulibc2.2/bin
         $ export PATH

      Build the root filesystem packages

         $ make

      The root filesystem will be in build_frv/root

    Installing the root filesystem

      After building the root filesystem, the new root filesystem must
      be installed to a final destination directory with the correct
      permissions, device nodes, etc.

         $ make install DESTDIR=path

      where 'path' is the absolute path to the final destination of
      the root filesystem (such as /nfsroots/frv451/rootfs-glibc-040820-3).

      If the build is being done as a non-root user, the non-root user
      must have 'sudo' access for the "make install" step.

      Once the root filesystem has been built there will be a copy of the
      toolchain in build_frv/frv-040820-3. That toolchain will have access to
      the libraries and headers provided by the various packages in the root
      filesystem.

