构建LTP测试环境

Friday, Sep 3, 2021 | 2 minute read | Updated at Friday, Sep 3, 2021

@
构建LTP测试环境

板卡上运行LTP测试集,需要构建部分环境。

build server env

  1. comile LTP on server
make autotools
# --prefix={ltp target path}
./configure
make
make install
  1. build server test env

    1. necessary software
    sudo apt-get install telnetd cfingerd rdist rsync udhcpd lightttpd xinetd nfs-kernel-server rpcbind
    
    1. build xinetd env
    bash xinet_config
    
    1. build rsh env
    echo rsh >>/etc/securetty
    echo rlogin >>/etc/securetty
    echo rexec >>/etc/securetty
    echo telnet >>/etc/securetty
    
    for i in $(seq 10); do
    echo tty$i >> /etc/securetty
    done
    
    echo "dragonboard-410c root" >> ~/.rhosts
    # replace with real ip of db410c
    echo "192.168.10.35 dragonboard-410c" >> /etc/hosts
    
    1. build ssh env [optional]
    # client
    ssh-keygen -t rsa -N ""  -f /home/root/.ssh/id_rsa
    
    # server
    scp root@dragonboard-410c:/home/root/.ssh/id_ras.pub db410c.pub
    cat  db410c.pub >> ~/.ssh/authorized_keys
    
    1. start services
    sudo systemctl restart rpcbind
    sudo systemctl restart nfs-kernel-server
    sudo systemctl restart xinetd
    
    1. copy additional software to db410c
    # caisong@10.167.218.57:~/db410c_env/mini
    rsync -avz `ls` --chown root:root root@192.168.10.35:/
    # caisong@10.167.218.57:~/db410c_env/full
    rsync -avz `ls` --chown root:root root@192.168.10.35:/app2
    

build db410c env

  1. syslog

    touch /var/log/messages
    echo 'OPTIONS="-O /var/log/messages"' >> /etc/default/busybox-syslog
    systemctl restart syslog
    
  2. mount disk

    # db410c must unplug sd card and plug sd card agagin when booting
    mkdir /app /app2 /root
    # please replace to your disk
    mount /dev/mmcblk1p1 /app
    mount /dev/mmcblk1p2 /tmp
    mount /dev/mmcblk1p3 /app2
    mkswap /dev/mmcblk1p5 && swapon /dev/mmcblk1p5
    
  3. build boot env

    # current boot env is on 10.167.218.57
    rsync -avz caisong@10.167.218.57:~/db410c_env/mini/* --chown root:root /
    rsync -avz caisong@10.167.218.57:~/db410c_env/full/* --chown root:root /app2/
    
  4. env parameter

    # profile
    echo "export PATH=\$PATH:/app2/usr/bin:/app2/usr/local/bin:/app2/etc/:/app2/sbin:/app2/usr/sbin" >> /etc/profile
    PATH=$PATH:/app2/usr/bin:/app2/usr/local/bin:/app2/etc/'
    
    # rlogin required
    ln -sf /app2/usr/lib/tcl8.6 /usr/lib
    
  5. ip setting on boot

    # replace 192.168.10.35 to your ip
    cat > /opt/setipaddr.sh << "EOF" &&
    #! /bin/sh
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/opt/:$PATH
    ifconfig eth0 192.168.10.35 up
    EOF
    
    cat > /etc/systemd/system/setipaddr.service << "EOF" &&
    [Unit]
    Description=set ip on boot
    After=network.target
    
    [Service]
    Type=oneshot
    ExecStart=/opt/setipaddr.sh
    
    [Install]
    WantedBy=multi-user.target
    EOF
    
    (cd /etc/systemd/system/ && systemctl enable setipaddr && systemctl start setipaddr)
    
  6. hostname

    # add server hostname
    echo "192.168.10.31 debian" >> /etc/hosts
    
  7. add ftp user

    useradd -d /var/ftp -m -s /usr/sbin/nologin ftp
    chmod a-w /var/ftp
    
  8. ssh env

    [-f /home/root/.ssh/id_rsa ] || ssh-keygen -t rsa -N ""  -f /home/root/.ssh/id_rsa
    
  9. xinetd

    bash xinet_config
    systemctl start xinetd
    
  10. some services

    systemctl daemon-reload
    systemctl restart rpcbind
    systemctl restart crond
    
  11. compile LTP

    # please set same prefix as server if you did
    ./configure
    make
    make install
    

© 2016 - 2025 Caisong's Blog

🌱 Powered by Hugo with theme Dream.

About Me

大龄程序员,喜欢折腾各种环境部署、软件应用。

博客记录日常。