Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. In the target serial console configure the eth0 interface manually (using the ifconfig and route plagins of busybox), or start the DHCP client to apply the networking settings from a DHCP server:

    Code Block
    / # udhcpc 
    Micrel KSZ8081 or KSZ8091 40424000.ethernet-1:00: attached PHY driver (mii_bus:phy_addr=40424000.ethernet-1:00, irq=POLL)
    fec 40424000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
    / # ifconfig eth0
    eth0      Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:F0  
              inet addr:192.168.1.74  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:4 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:796 (796.0 B)  TX bytes:684 (684.0 B)
    
    / # 
  2. From the development host validate that the target board is visible using ping:

    Code Block
    $ ping -c5 192.168.1.74
    PING 192.168.1.74 (192.168.1.74) 56(84) bytes of data.
    64 bytes from 192.168.1.74: icmp_seq=1 ttl=64 time=0.632 ms
    64 bytes from 192.168.1.74: icmp_seq=2 ttl=64 time=0.305 ms
    64 bytes from 192.168.1.74: icmp_seq=3 ttl=64 time=0.297 ms
    64 bytes from 192.168.1.74: icmp_seq=4 ttl=64 time=0.288 ms
    64 bytes from 192.168.1.74: icmp_seq=5 ttl=64 time=0.298 ms
    
    --- 192.168.1.74 ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4112ms
    rtt min/avg/max/mdev = 0.288/0.364/0.632/0.134 ms
    $ 
  3. From the target board, validate that it is connected to the internet using ping:

    Code Block
    / # ping -c5 example.org
    PING example.org (93.184.215.14): 56 data bytes
    64 bytes from 93.184.215.14: seq=0 ttl=57 time=122.202 ms
    64 bytes from 93.184.215.14: seq=1 ttl=57 time=122.158 ms
    64 bytes from 93.184.215.14: seq=2 ttl=57 time=121.991 ms
    64 bytes from 93.184.215.14: seq=3 ttl=57 time=122.116 ms
    64 bytes from 93.184.215.14: seq=4 ttl=57 time=122.105 ms
    
    --- example.org ping statistics ---
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 121.991/122.114/122.202 ms
    / # 

...

  1. From the development host validate that the i.MX RT1170 is visible using ping:

    Code Block
    $ ping -c5 192.168.1.74
    PING 192.168.1.74 (192.168.1.74) 56(84) bytes of data.
    64 bytes from 192.168.1.74: icmp_seq=1 ttl=64 time=0.320 ms
    64 bytes from 192.168.1.74: icmp_seq=2 ttl=64 time=0.274 ms
    64 bytes from 192.168.1.74: icmp_seq=3 ttl=64 time=0.269 ms
    64 bytes from 192.168.1.74: icmp_seq=4 ttl=64 time=0.278 ms
    64 bytes from 192.168.1.74: icmp_seq=5 ttl=64 time=0.277 ms
    
    --- 192.168.1.74 ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4109ms
    rtt min/avg/max/mdev = 0.269/0.283/0.320/0.018 ms
    
  2. ping the development host from the i.MX RT1170:

    Code Block
    / # ping -c5 192.168.1.64
    PING 192.168.1.64 (192.168.1.64): 56 data bytes
    64 bytes from 192.168.1.64: seq=0 ttl=64 time=0.510 ms
    64 bytes from 192.168.1.64: seq=1 ttl=64 time=0.407 ms
    64 bytes from 192.168.1.64: seq=2 ttl=64 time=0.394 ms
    64 bytes from 192.168.1.64: seq=3 ttl=64 time=0.402 ms
    64 bytes from 192.168.1.64: seq=4 ttl=64 time=0.404 ms
    
    --- 192.168.1.64 ping statistics ---
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max = 0.394/0.423/0.510 ms
    / # 
  3. On the target, start the telnetd daemon to allow connections to the i.MX RT1170:

    Code Block
    / # telnetd 
    / # ps | grep telnet
       90 root       864 S    telnetd
       92 root       864 S    grep telnet
    / # 
  4. Connect to the target from the development host using telnet. The target is configured to accept the 123 password for root:

    Code Block
    $ telnet 192.168.1.74
    Trying 192.168.1.74...
    Connected to 192.168.1.74.
    Escape character is '^]'.
    
    (none) login: root
    Password: 
    / # 
    / # ls
    bin       hello.ko  lib       proc      sys       var
    dev       httpd     linuxrc   root      tmp
    etc       init      mnt       sbin      usr
    
    / # exit
    Connection closed by foreign host.
    $ 
    
  5. The dropbear SSH daemon starts automatically on the target. Verify that dropbear allows secure connections to the target:

    Code Block
    / # ps | grep dropbear
       70 root       416 S    dropbear -R
       98 root       388 S    grep dropbear
  6. Connect to the target from the development host using ssh. The first connection takes several seconds to establish as the i.MX RT1170 runs computation-extensive key calculations. Again, enter 123 on the password prompt:

    Code Block
    $ ssh root@192.168.1.74
    The authenticity of host '192.168.1.74 (192.168.1.74)' can't be established.
    ED25519 key fingerprint is SHA256:/5yRBM3MvDHN7Lu4Sd1zDNpKp3c/G34RSH0qdQubRTI.
    This key is not known by any other names
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    Warning: Permanently added '192.168.1.74' (ED25519) to the list of known hosts.
    root@192.168.1.74's password: 
    / # ls
    bin       hello.ko  lib       proc      sys       var
    dev       httpd     linuxrc   root      tmp
    etc       init      mnt       sbin      usr
    
    / # exit
    Connection to 192.168.1.74 closed.
    $
  7. Use ntpd to synchronize the time on the target with the time provided by a public server:

    Code Block
    / # date
    Thu Jan  1 00:11:00 UTC 1970
    / # ntpd -p 0.fedora.pool.ntp.org
    / # sleep 5
    / # date
    Fri Sep  1 10:07:58 UTC 2023
    / #
  8. Use wget to download a file from a remote server:

    Code Block
    / # wget ftp://ftp.gnu.org/README
    Connecting to ftp.gnu.org (209.51.188.20:21)
    saving to 'README'
    README               100% |********************************|  
    2748  0:00:00 ETA
    'README' saved
    / # 
    / # cat README
    This is ftp.gnu.org, the FTP server of the the GNU project.
    ...
  9. Start the HTTP daemon:

    Code Block
    / # httpd -h /httpd/html/
    / #
  10. From a local host, open a Web browser to the i.MX RT1170 and watch the demo web page provided by the target. The i.MX RT1170 shows the current time and date as well as the list of the currently running processes:

    image-20250319-100704.png
  11. Mount a directory exported by a development host over NFS:

    Code Block
    / # mount -o nolock,rsize=1024 192.168.1.99:/srv/nfs /mnt/nfs
    / # ls /mnt/nfs/
    SimpleClass  linux-dp     test
    / # cp /bin/busybox /mnt/nfs
    / # cp /mnt/nfs/busybox /tmp
    / # md5sum /bin/busybox /tmp/busybox
    bb39cf3470150200a35c41bd6f78ef92  /bin/busybox
    bb39cf3470150200a35c41bd6f78ef92  /tmp/busybox

...