|
|
(146 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| Software developer over several open source languages
| | [[AFT installation]] |
|
| |
|
| == A simplest working system ==
| | [[Manteiner python3-numpy]] |
| === The AFT net ===
| |
|
| |
|
| The testable devices are put in an isolated network (AKA AFT net). ''''' Having in mine that Remote power switch is over AFT net too with ip 192.168.1.100 '''''
| | [[Arduino Single power control unit]] |
| | |
| {| class="wikitable"
| |
| |+Line color code
| |
| |-
| |
| |Blue
| |
| |AC cable
| |
| |-
| |
| |Orange
| |
| |USB cable
| |
| |-
| |
| |Green
| |
| |Ethernet cable
| |
| |-
| |
| |Black
| |
| |Not a cable
| |
| |}
| |
| | |
| [[File:AFT.png]] | |
| | |
| === Recording support image on USB stick ===
| |
| A Debian operative system is used as support image.
| |
| | |
| <pre>
| |
| [354629.272050] usb 3-6: Product: ADATA USB Flash Drive
| |
| [354629.272051] usb 3-6: Manufacturer: ADATA
| |
| [354629.272052] usb 3-6: SerialNumber: 25C1008050080204
| |
| [354629.272594] usb-storage 3-6:1.0: USB Mass Storage device detected
| |
| [354629.272701] scsi host7: usb-storage 3-6:1.0
| |
| [354630.271607] scsi 7:0:0:0: Direct-Access ADATA USB Flash Drive 1.00 PQ: 0 ANSI: 6
| |
| [354630.271921] sd 7:0:0:0: Attached scsi generic sg1 type 0
| |
| [354630.272050] sd 7:0:0:0: [sdb] 30310400 512-byte logical blocks: (15.5 GB/14.5 GiB)
| |
| [354630.272189] sd 7:0:0:0: [sdb] Write Protect is off
| |
| [354630.272192] sd 7:0:0:0: [sdb] Mode Sense: 23 00 00 00
| |
| [354630.272329] sd 7:0:0:0: [sdb] Write cache: disabled, read cache: disabled, doesn't support DPO or FUA
| |
| [354630.278200] sdb: sdb1 sdb2 sdb3
| |
| [354630.279114] sd 7:0:0:0: [sdb] Attached SCSI removable disk
| |
| </pre>
| |
| | |
| <pre>
| |
| wget -qO- BASE_SUPPORT_IMAGES_URL/minnowUSB.image.tar.gz | gunzip | tar -xOvf - | dd of=/dev/sdb ; sync
| |
| </pre>
| |
| | |
| === Setup harness server ===
| |
| ==== OS Installation ====
| |
| The Linux distribution installed upon harness server during the creation of this document was Ubuntu yakkety.
| |
| | |
| ===== Important facts upon installation =====
| |
| During Installation process of Ubuntu It'll be requested the creation of a user, please create the user with the name '''''tester'''''. Additionally the computer name will have to be '''''testing-harness'''''.
| |
| | |
| When installation has finished. The 'sudo group' has to be enabled as passwordless upon file '/etc/sudoers'.
| |
| <pre>
| |
| # Allow members of group sudo to execute any command
| |
| %sudo ALL=(ALL) NOPASSWD: ALL
| |
| </pre>
| |
| | |
| It is important to denote that user tester has been set as part of 'sudo group' by the default Ubuntu installation.
| |
| '''''With user tester is going to be executed the overall of automated testing'''''.
| |
| | |
| ===== Ram and Disk distribution =====
| |
| The Ram and Disk details this harness server during the creation of this document were:
| |
| <pre>
| |
| root@testing-harness:~# free -m
| |
| total used free shared buff/cache available
| |
| Mem: 15945 251 12904 54 2790 15311
| |
| Swap: 16278 0 16278
| |
| | |
| root@testing-harness:~# fdisk -l /dev/sda
| |
| Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
| |
| Units: sectors of 1 * 512 = 512 bytes
| |
| Sector size (logical/physical): 512 bytes / 4096 bytes
| |
| I/O size (minimum/optimal): 4096 bytes / 4096 bytes
| |
| Disklabel type: gpt
| |
| Disk identifier: B15E7DED-0607-4F32-8072-8CEC8041A1A8
| |
| | |
| Device Start End Sectors Size Type
| |
| /dev/sda1 2048 1050623 1048576 512M EFI System
| |
| /dev/sda2 1050624 1920184319 1919133696 915.1G Linux filesystem
| |
| /dev/sda3 1920184320 1953523711 33339392 15.9G Linux swap
| |
| | |
| root@testing-harness:~# df -h
| |
| Filesystem Size Used Avail Use% Mounted on
| |
| udev 7.8G 0 7.8G 0% /dev
| |
| tmpfs 1.6G 9.3M 1.6G 1% /run
| |
| /dev/sda2 901G 39G 817G 5% /
| |
| tmpfs 7.8G 156K 7.8G 1% /dev/shm
| |
| tmpfs 5.0M 4.0K 5.0M 1% /run/lock
| |
| tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
| |
| /dev/sda1 511M 3.4M 508M 1% /boot/efi
| |
| tmpfs 1.6G 44K 1.6G 1% /run/user/111
| |
| tmpfs 1.6G 0 1.6G 0% /run/user/1000
| |
| | |
| | |
| </pre>
| |
| | |
| ==== Firewall configuration ====
| |
| Firewall configuration is not provided, it is recommended that the testing harness is only kept in a trusted network.
| |
| | |
| To check if no firewall are configured over testing-harness, we can expect a similar output when inquiring iptables...
| |
| <pre>
| |
| root@testing-harness:~# iptables -L && iptables -t nat -L
| |
| Chain INPUT (policy ACCEPT)
| |
| target prot opt source destination
| |
| | |
| Chain FORWARD (policy ACCEPT)
| |
| target prot opt source destination
| |
| | |
| Chain OUTPUT (policy ACCEPT)
| |
| target prot opt source destination
| |
| | |
| Chain PREROUTING (policy ACCEPT)
| |
| target prot opt source destination
| |
| | |
| Chain INPUT (policy ACCEPT)
| |
| target prot opt source destination
| |
| | |
| Chain OUTPUT (policy ACCEPT)
| |
| target prot opt source destination
| |
| | |
| Chain POSTROUTING (policy ACCEPT)
| |
| target prot opt source destination
| |
| </pre>
| |
| | |
| ==== Setup Security shell ====
| |
| OpenSSH is a freely available version of the Secure Shell (SSH) protocol family of tools for remotely controlling, or transferring files between, computers. That's why it is required its installation upon testing-harness server.
| |
| <pre>
| |
| root@testing-harness:~# aptitude install openssh-server
| |
| </pre>
| |
| | |
| ==== Setup NFS ====
| |
| AFT applies Network file system to share /home/tester directory where images and other files used in flashing for PC-devices within AFT net can be found.
| |
| | |
| ===== NFS is installed ? =====
| |
| To check if the NFS server is installed, we can do...
| |
| <pre>
| |
| root@testing-harness:~# dpkg -l | grep nfs-kernel-server
| |
| </pre>
| |
| | |
| ===== How to install NFS ? =====
| |
| To install NFS these are the required packages...
| |
| <pre>
| |
| root@testing-harness:~# aptitude install nfs-kernel-server
| |
| The following NEW packages will be installed:
| |
| keyutils{a} libnfsidmap2{a} libtirpc1{a} nfs-common{a} nfs-kernel-server
| |
| rpcbind{a}
| |
| 0 packages upgraded, 6 newly installed, 0 to remove and 459 not upgraded.
| |
| Need to get 470 kB of archives. After unpacking 1 884 kB will be used.
| |
| Do you want to continue? [Y/n/?]
| |
| </pre>
| |
| | |
| ===== Sharing /home/tester directory =====
| |
| The tester’s home will be set as shared directory
| |
| <pre>
| |
| root@testing-harness:~# cd /etc
| |
| root@testing-harness:~# echo '/home/tester 192.168.1.0/24 (crossmnt,ro,root_squash,sync,no_subtree_check)' >> exports
| |
| </pre>
| |
| | |
| ==== Setup DNS cache and DHCP server for AFT net ====
| |
| DNSmasq provides two services, either of which can be used independently.
| |
| # DNS service
| |
| # DHCP service
| |
| | |
| A local DNS cache can speed up internet browsing because the user's applications will not need to access a domain name server when it looks up a domain name the computer has visited before.
| |
| | |
| ===== How to install dnsmasq ? =====
| |
| To install dnsmasq these are the required packages...
| |
| <pre>
| |
| root@testing-harness:~# aptitude install dnsmasq
| |
| The following NEW packages will be installed:
| |
| dns-root-data{a} dnsmasq dnsmasq-base{a}
| |
| 0 packages upgraded, 3 newly installed, 0 to remove and 459 not upgraded.
| |
| Need to get 0 B/329 kB of archives. After unpacking 886 kB will be used.
| |
| Do you want to continue? [Y/n/?
| |
| </pre>
| |
| At the sametime we have set up a simple DNS server. To test it, use your favorite DNS lookup tool pointed at localhost
| |
| <pre>
| |
| root@testing-harness:~# nslookup yoctoproject.org localhost
| |
| Server: localhost
| |
| Address: 127.0.0.1#53
| |
| | |
| Non-authoritative answer:
| |
| Name: yoctoproject.org
| |
| Address: 140.211.169.56
| |
| </pre>
| |
| | |
| ===== Configure DHCP server =====
| |
| To enable the DHCP server of AFT net, you will need to give it a range of IP addresses to hand out. The AFT net server would hand out 92 address starting at 192.168.1.2 and ending at 192.168.1.99.
| |
| <pre>
| |
| root@testing-harness:~# echo 'dhcp-range=192.168.1.2,192.168.1.99,10m' >> /etc/dnsmasq.conf
| |
| </pre>
| |
| | |
| To tell dnsmasq which ethernet interface it can and cannot listen on.
| |
| <pre>
| |
| root@testing-harness:~# echo 'interface=eno1' >> /etc/dnsmasq.conf
| |
| </pre>
| |
| During the creation of this document the interface eno1 is the unique one connected to AFT net.
| |
| | |
| ===== AFT and its relation with dnsmasq.leases =====
| |
| As of dhcp server is up and running. AFT shall utilize dhcp-server's active ip leasing information to determine device IP address of PC-devices over AFT net. By default it is found upon /var/lib/misc/dnsmasq.leases
| |
| <pre>
| |
| root@testing-harness:~# cat /var/lib/misc/dnsmasq.leases
| |
| | |
| 1417132679 78:c5:e5:b4:4d:07 192.168.1.99 minox-fbe390b0bb404da *
| |
| 1417134678 20:54:76:e4:d8:a5 192.168.1.57 minoy-ab6e5d0a524c9c7d *
| |
| ......
| |
| .......
| |
| ........ and so on...
| |
| </pre>
| |
| Above a common dnsmasq.leases file.
| |