DM&P xLinux配置参考手册

主页: : 产品 | 应用 | 技术支持 2003/04/28

缺省用户名是"root"缺省密码是"password". 用root登录配置X-Linux环境。

配置文件

修改如下文件,创建你自己的环境:

/boot/linux.img Linux kernel.
/usr/www 我们的网页
/etc/init.d/rcS 文件首先运行,你可以在文件中增加你的初始化程序,在这个文件中我们增加我们的IP
/etc/ppp/pap-secrets PPP拨号上网的用户名和密码
/etc/fstab 这个文件使得自动装配确定的文件系统成为可能,特别是在系统启动时
/etc/ftpaccess 这个文件控制谁以及怎样进入FTP服务器
/etc/inetd.conf 这个文件是inetd (超级服务器) daemon的缺省配置文件
/etc/inittab 这个文件在引导序列中至关重要
/etc/profile 这个文件自动运行,类型于DOS下的autoexec.bat文件,我们在/etc/profile目录下启动inetd.
/etc/securetty 这个文件允许你指定超级用户可以登录那个TTY设备
/etc/services 这个文件包含了关于DARPA网络中已知可用的服务的相关信息

系统工具

利用键盘或者脚本运行如下命令,重要的命令/脚本列表如下:

命令 路径 说明
ppp-on /usr/sbin 开始一个PPP连接
ppp-off /usr/sbin 停止一个PPP连接
httpd /sbin 开始一个HTTP服务
dhcpcd /sbin 从DHCP获取IP地址
ifconfig /sbin 配置网络接口
fsck.ext2 /sbin 检查和修复Linux EXT2文件系统
fdisk /sbin Linux分区表操纵器
mke2fs /sbin 创建Linux扩展文件系统
setserial /bin 获取/设置Linux串口信息

TinyLogin命令: (参看网页: http://tinylogin.busybox.net/TinyLogin.html)

路径 命令
/bin adduser, addgroup, deluser, delgroup, login, su
/sbin sulogin
/usr/sbin passwd

BusyBox实现的命令列表如下: (参看网页http://www.busybox.net/downloads/BusyBox.html 可以了解更多详细内容)

路径 命令
/bin ash, cat, chgrp, chmod, chown, cp, date, dd, df, dmesg, echo, egrep, false, fgrep, grep, gunzip, gzip, hostname, kill, ln, ls, mkdir, mknod, mktemp, more, mount, mv, pidof, ping, ps, pwd, rm, rmdir, sed, sh, sleep, sync, tar, touch, true, umount, uname, usleep, vi, zcat
/sbin halt, ifconfig, init, klogd, pivot_root, poweroff, reboot, route, swapoff, swapon, syslogd, insmod, lsmod, rmmod
/usr/bin [, basename, bunzip2, bzcat, chvt, clear, cmp, cut, deallocvt, dirname, du, env, expr, find, free, head, hexdump, id, install, killall, logger, openvt, readlink, reset, sort, strings, tail, tee, test, time, tr, tty, uniq, unzip, uptime, wc, wget, which, whoami, xargs, yes
/usr/sbin chroot

程序安装

实例来源于我们的Mity-Mite演示盒Linux版本,我们在Linux系统下编写简单的LCM库 程序。

FTP服务器在我们的Linux DOC/MDM上是可用的,这样可以利用FTP上传程序。缺省用 户名是root,缺省密码是password。推荐在PC上安装Linux(RedHat,Mandrake,SuS…), 在PC上编写和编译Linux程序,然后利用FTP上传到Mtiy-Mite/Tiny模块进行测试,如果 程序出错,结束(Kill)这个进程,重新这些步骤直到程序运行成功。安装实例如下:

  1. 创建一个目录 "/demo".

  2. 将文件lcd(LCD 驱动程序), dmp.bmp (DM&P标识语,通过LCD加载) 和lcd_time(每0.5秒显示时间)拷贝到目录 "/demo"下;

  3. 编写一个脚本"demo" 装载lcd和ldc_time文件;

    
    #!/bin/sh./lcd&
    sleep 5
    ./lcd_time&

  4. 修改上传文件的执行模式;

    
    chmod +x ./lcd
    chmod +x ./lcd_time
    chmod +x ./demo

  5. 测试"demo",如果程序运行不正确,调用命令"ps"找到程序进程的ID,然后结束这 些进程,返回第二步继续执行,知道程序运行成功。

    
    # ps
      PID  Uid     Stat Command
        1 0         S    init
        2 0         S    [keventd]
        3 0         S    [ksoftirqd_CPU0]
        4 0         S    [kswapd]
        5 0         S    [bdflush]
        6 0         S    [kupdated]
       11 0         S    -sh
       14 0         S    ./ftpd
       17 0         S    /usr/httpd/wnsd -p 80
       19 0         S    ./lcd
       21 0         S    ./lcd_time
       22 0         R    ps
    # kill 21
    # kill 22

当程序运行成功,在目录/etc/profile下起动"demo"脚本,程序自动运行。

提示
上传程序前,用 "ldd"命令检查共享库,否则,你需要首先上传共享库到/lib 目录下。


[root@/root/grlcd]# ldd lcd
        libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x4002c000)
        libm.so.6 => /lib/libm.so.6 (0x4006e000)
        libc.so.6 =>  /lib/libc.so.6 (0x40090000)
        /lib/ld-linux.so.2 =>  /lib/ld-linux.so.2 (0x40000000)
[root@/root/grlcd]#

开通盘可写功能

由于嵌入式系统可能随时断电,所以我们仅仅设置根的文件系统可读。如果希望数据保存到 盘内,就需要重新装配盘可写功能。例如,用户希望利用FTP上传文件,他就应该用telnet 连接xLinux,然后按照如下步骤执行:


# mount -o remount,rw / (mount root filesystem readable/writable)
# (use FTP to upload files...)
# sync (flush filesystem buffers)
# mount -o remount,ro / (mount root filesystem read only)

怎样用PPP拨号上网?

根据从ISP获得的相关信息修改配置文件,推荐利用FTP下载这个配置文件,修改后再上 传它。我们假定你连接到COM1的调制解调器上(我们的环境:ICOP-6042 + 连接到COM1 调制解调器)。
  1. /etc/ppp/pap-secrets

    这个文件包含用户帐号,你可以看到首行如下:

    
    my_username  ppp0  my_password
    

    "my_username"是你拨号上网的帐号用户名,"my_password" 是密码,你应该修改成自己希 望的帐号用户名和密码。

  2. /usr/sbin/ppp-on

    
    #!/bin/sh
    pppd nodetach lock modem crtscts /dev/ttyS0 38400 noipdefault defaultroute noauth \
    name my_username connect "chat -v '' ATDT123456789 CONNECT" &
    

    You should replace "my_username" with your user name as "/etc/ppp/pap-secrets". \ "ATDT123456789" is AT command to dial to ISP. You should replace "123456789" with your ISP's phone number.

现在,你可以打印“ppp-on”拨号连接到你的ISP,并且可以打印“ppp-off”挂断它。这时, 打印“ifconfig”显示网络配置信息,你可以找到设备"eth0"和"ppp0",如果出现任何问题, 你可以发邮件联系我们,我们将会帮助你完成拨号上网功能。

开通PPP服务器功能,接收PPP拨号上网

  1. /etc/inittab

    在目录文件“/etc/inittab”中可以找到如下两行:

    
    # remove '#' of next line to enable PPP server function, but ppp client function will not work
    #ttyS0::respawn:/sbin/mgetty -D -a modem ttyS0

    记住重新装配根文件系统可读/可写功能,除去"#ttyS0"中的'#'。

  2. /etc/ppp/options.ttyS0

    用mv命令恢复/etc/ppp/options.ttyS0,

    
    # mv /etc/ppp/options.ttyS0.pppd /etc/ppp/options.ttyS0

    /etc/ppp/options.ttyS0需要 PPP服务器支持

  3. PPP account

    PPP客户端拨号上网的缺省用户名和密码是"pppuser"和 "xlinux",如果你希望增加其它用户 帐号,复制"/etc/ppp/pap-secrets"文件下的这两行,用新的用户名代替"pppuser",用新的密码 代替"xlinux"。

    
    my_username  ppp0  my_password *
    pppuser      *     xlinux      *

    这样完成以后,作为超级用户登录,然后按照如下步骤继续:

    
    # adduser new_user_name (add new user)
    # passwd new_user_name  (change user's password)

    因为接收PPP拨号上网程序将会运行mgetty,它会从系统读取帐号数据确认用户,所以我 们必须增加用户帐号,并保持与/etc/ppp/pap-secrets文件一致。

  4. 运行"sync" 命令,重启 xLinux系统

如果你开通PPP服务器功能,xLinux的PPP客户端拨号上网功能将不工作。

开通串行控制台

X-Linux R5增加串行控制台的步骤如下:

  1. 为R5a下载补丁文件:r5a_patch.zip (774 KB)

  2. 用键盘或者TELNET连接X-Linux设备,运行
    "mount -o remount,rw /" 制作可读/可写的根文件系统,参考开通盘可写功能;

  3. 解压ZIP文件,并用FTP上传这些文件:
    profile      -> /etc
    inittab      -> /etc
    securetty    -> /etc
    syslinux.cfg -> /boot
    linux.img    -> /boot
    

  4. 运行"sync",重启设备;

  5. 用RS-232电缆连接X-Linux和你的PC;

  6. 运行终端程序,设置COM参数:
    Baud Rate    = 9600
    Parity Bit   = No
    Data Bits    = 8
    Stop Bits    = 1
    Flow Control = OFF
    

  7. 打开X-Linux设备,现在你可以从串口获取消息和登录。
当/dev/ttyS0用于串行控制台,PPP客户端或者服务器不再工作,为了串行控制台或PPP, 可以开通它们中的一个或者用其它的串口(例如:/dev/ttyS1)。

在M6117D系列上运行X-Linux

X-Linux系统增加了许多功能,所以它需要更多RAM和存储空间。对于/var 和 /tmp目录, X-Linux R5需要4MB RAM作为临时应用。为了降低RAM需求,将这些多余的功能从文件 /etc/init.d/rcS移除,X-Linux R5可以运行在8MB RAM的M6117D单板机(SBC)上;当然, 你必须设置/var 和/tmp目录是可读/可写的根文件系统。如果还需要更多内存,你可以移除 无用的服务(Web服务),或者下载X-Linux kernel配置文件,制作更小的kernel。

使用USB块存储

在X-Linux kernel中,USB功能可用,在BIOS中设置USB可用后,X-Linux可用找到USB 块存储设备。当USB存储设备插入时,Linux将会找到SCSI设备:

   hub.c: new USB device 00:01.2-1, assigned address 2
   scsi0 : SCSI emulation for USB Mass Storage devices
     Vendor: Usb       Model: Flash Disk        Rev: 1.11
     Type:   Direct-Access                      ANSI SCSI revision: 02
   Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
   SCSI device sda: 129024 512-byte hdwr sectors (66 MB)
   sda: Write Protect is off
    sda: sda1 sda2 < >

装配USB存储设备

~ # mount /dev/sda1 /mnt

现在,你可以读写USB存储设备中的数据,X-Linux kernel仅仅支持EXT2和FAT 16/32文 件系统,如果USB存储设备上有其它的文件系统,X-Linux系统不能识别。当你移除USB 存储设备时,请首先卸载USB存储设备。最后,X-Linux系统支持USB键盘。

Vortex86音频驱动程序安装

对于X-Linux R5.1,音频驱动程序sis7019.o在 /sbin目录下。安装Vortex86音频驱动程序, 你可以运行"insmod /sbin/sis7019.o"插入模块,也可以将它加进/etc/profile目录下自动安装。

连接参考

Linux Kernel http://www.kernel.org/
SysLinux http://syslinux.zytor.com/
BusyBox http://www.busybox.net/
TinyLogin http://tinylogin.busybox.net/
Linux NetKit ftp://ftp.uk.linux.org/pub/linux/Networking
WU-FTPD http://www.wu-ftpd.org/
WN Server http://hopf.math.nwu.edu/
udhcp http://udhcp.busybox.net/

技术支持

如果你有任何关于ICOP/DMP的问题,请联系我们,我们将竭诚为你服务,我们的邮件地址:tech@dmp.com.cn


Jan Yin Chan Electronics Co., LTD. 保留所有权利. 邮件地址:tech@dmp.com.cn