aboutsummaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/manual/bsp-qemu.json
blob: cf51b6ab1cf4ee3e5f1585f7c60db31f97b53f63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
[
  {
    "test": {
      "@alias": "bsps-qemu.bsps-tools.qemu_can_be_started_with_KVM_enabled",
      "author": [
        {
          "email": "alexandru.c.georgescu@intel.com",
          "name": "alexandru.c.georgescu@intel.com"
        }
      ],
      "execution": {
        "1": {
          "action": "Build a kernel with KVM enabled  \n\nIn Local.conf add  \n\nQEMU_USE_KVM = \"${@ '1' if os.access('/dev/kvm', os.R_OK|os.W_OK) else '0' }\"  \n\n ",
          "expected_results": ""
        },
        "2": {
          "action": "Start qemu with option \"kvm\" with runqemu \n    a. If you start qemu with kvm failed, maybe it is because host not install kvm and vhost_net module. Follow below link to install them. \n    b. vhost_test refer:  https://wiki.yoctoproject.org/wiki/Running_an_x86_Yocto_Linux_image_under_QEMU_KVM \n    c. kvm refer: https://wiki.yoctoproject.org/wiki/How_to_enable_KVM_for_Poky_qemu",
          "expected_results": ""
        },
        "3": {
          "action": "Check if qemu starts up and if kvm_intel module is used",
          "expected_results": ""
        },
        "4": {
          "action": "If kvm_intel module is not used when starting qemu, it will show 0 in \"Used by\" column when you run \"lsmod | grep kvm_intel\" ",
          "expected_results": "KVM enabled with qemu \nExecute \"lsmod | grep kvm_intel\" from your host twice, before and after you \nstart the qemu with kvm option. Before start, the number should be 0, \nafter start, the number should bigger than 0."
        }
      },
      "summary": "qemu_can_be_started_with_KVM_enabled"
    }
  },
  {
    "test": {
      "@alias": "bsps-qemu.bsps-tools.Post-installation_logging",
      "author": [
        {
          "email": "yi.zhao@windriver.com",
          "name": "yi.zhao@windriver.com"
        }
      ],
      "execution": {
        "1": {
          "action": "Download the poky source and set environment \n",
          "expected_results": "The /var/log/postinstall.log should exist in the first boot. The content of this log is like below:  \n\nRunning postinst /etc/rpm-postinsts/man... \nList directory to check the output log \nbin \nboot \ndev \netc \nhome \nlib \nlost+found \nmedia \nmnt \nproc \nrun \nsbin \nsys \ntmp \nusr \nvar \nList nonexist directory to check the stderr redirection log \nls: /nonexist: No such file or directory "
        },
        "2": {
          "action": "Add the following lines to a .bb file. For expample, meta/recipes-connectivity/openssh/openssh_6.2p2.bb:   \n\npkg_postinst_ontarget_${PN} () {  \n       #!/bin/sh -e  \n       if [ x\"$D\" = \"x\" ]; then  \n       echo \"List directory to check the output log\"  \n       ls /  \n       echo \"List nonexist directory to check the stderr redirection log\"  \n       ls /nonexist  \n       else  \n       exit 1  \n       fi  \n}  \n\nMake sure the feature \"debug-tweaks\" is added in conf/local.conf \n",
          "expected_results": ""
        },
        "3": {
          "action": "Add ssh-server-openssh to EXTRA_IMAGE_FEATURES in local.conf \n",
          "expected_results": ""
        },
        "4": {
          "action": "Build core-image-minimal \n",
          "expected_results": ""
        },
        "5": {
          "action": "Boot up the image and check the /var/log/postinstall.log  ",
          "expected_results": ""
        }
      },
      "summary": "Post-installation_logging"
    }
  },
  {
    "test": {
      "@alias": "bsps-qemu.bsps-tools.Add_user_with_cleartext_type_password_during_filesystem_construction",
      "author": [
        {
          "email": "ke.zou@windriver.com",
          "name": "ke.zou@windriver.com"
        }
      ],
      "execution": {
        "1": {
          "action": "Download the poky source and set the environment  \n\n",
          "expected_results": "No error during image building procedure. \n"
        },
        "2": {
          "action": "Add the following lines in conf/local.conf  \n\nINHERIT += \"extrausers\"  \n\nEXTRA_USERS_PARAMS = \"\\ \nuseradd -s /bin/sh -P 'tester3' tester3;\\ \n\"  \n\nThe above settings do the following things: \na. Add a user tester3 with cleartext password 'tester3' ",
          "expected_results": "Image can boot up \n"
        },
        "3": {
          "action": "Build the image\n ",
          "expected_results": "Login with user name \"tester3\" and password \"tester3\" "
        }
      },
      "summary": "Add_user_with_cleartext_type_password_during_filesystem_construction"
    }
  },
  {
    "test": {
      "@alias": "bsps-qemu.bsps-tools.rpm_-__install_dependency_package",
      "author": [
        {
          "email": "alexandru.c.georgescu@intel.com",
          "name": "alexandru.c.georgescu@intel.com"
        }
      ],
      "execution": {
        "1": {
          "action": "Get a not previously installed RPM package or build one on local machine, which should have run-time dependency.For example, \"mc\" (Midnight Commander, which is a visual file manager) should depend on \"ncurses-terminfo\".   \n\n$ bitbake mc  \n\n\n",
          "expected_results": ""
        },
        "2": {
          "action": "Copy the package into a system folder (for example /home/root/rpm_packages).  \n\n\n",
          "expected_results": ""
        },
        "3": {
          "action": "Run \"rpm -ivh package_name\" and check the output, for example \"rpm -ivh mc.rpm*\" should report the dependency on \"ncurses-terminfo\".\n\n\n\n",
          "expected_results": "3 . rpm command should report message when some RPM installation depends on other packages."
        }
      },
      "summary": "rpm_-__install_dependency_package"
    }
  },
  {
    "test": {
      "@alias": "bsps-qemu.bsps-tools.Check_rpm_install/removal_log_file_size(auto)",
      "author": [
        {
          "email": "alexandru.c.georgescu@intel.com",
          "name": "alexandru.c.georgescu@intel.com"
        }
      ],
      "execution": {
        "1": {
          "action": "Get some rpm or other kind of installation packages.  \n\n",
          "expected_results": "Steps 1- 4 (more than 2.3) \nEach file will occupy around 10MB, and there should be some method to keep rpm log in a small size. (the size of the db of RPMs must not be taking so much space)  \nStep 5 (less than or equal to 2.3)\nThe size on /var/lib/rpm/ must keep around 30MB"
        },
        "2": {
          "action": "After system is up, check the size of log file named as \"log.xxxxxx\" on  /var/lib/rpm/log  \n\n",
          "expected_results": ""
        },
        "3": {
          "action": "After several install/removal of packages, with either of the install/removal commands   (rpm/smart/zypper/dnf install/removal), check again the size of log file.  \n\n",
          "expected_results": ""
        },
        "4": {
          "action": "For packages installation, there will be some database files under /var/lib/rpm/, named as \"__db.xxx\" and there will be some log files   \nunder /var/lib/rpm/log, named as \"\"log.xxxxxx\"\".   \n\nNote: You will only see the log.xxxx on /var/lib/rpm/log mentioned above if the poky version is minor than 2.3.For poky 2.3 or major versions this has been modified and the package RPM4 does not show the logs.xxxx. if major, follow the next step.  \n\n",
          "expected_results": ""
        },
        "5": {
          "action": "Repeat steps (1 and 3)  and check the size of /var/lib/rpm/  \n\nMore info: https://bugzilla.yoctoproject.org/show_bug.cgi?id=9259",
          "expected_results": ""
        }
      },
      "summary": "Check_rpm_install/removal_log_file_size"
    }
  },
  {
    "test": {
      "@alias": "bsps-qemu.bsps-runtime.only_one_connmand_in_background(auto)",
      "author": [
        {
          "email": "alexandru.c.georgescu@intel.com",
          "name": "alexandru.c.georgescu@intel.com"
        }
      ],
      "execution": {
        "1": {
          "action": "Boot system",
          "expected_results": ""
        },
        "2": {
          "action": "Run \"ps aux |grep connmand\" or \"ps -ef | grep connmand\" or \"ps | grep connmand\"",
          "expected_results": "Connmand (connection manager, used to manage internet connections)  should be shown as an active process \n\n"
        },
        "3": {
          "action": "Run command \"connmand\" to try to launch to a second connmand process",
          "expected_results": ""
        },
        "4": {
          "action": "Check, with \"ps\" connmand  if a second connmand can be generated ",
          "expected_results": "There should be only one connmand process instance in background ."
        }
      },
      "summary": "only_one_connmand_in_background"
    }
  },
  {
    "test": {
      "@alias": "bsps-qemu.bsps-runtime.X_server_can_start_up_with_runlevel_5_boot",
      "author": [
        {
          "email": "alexandru.c.georgescu@intel.com",
          "name": "alexandru.c.georgescu@intel.com"
        }
      ],
      "execution": {
        "1": {
          "action": "boot up system with default runlevel  \n\n",
          "expected_results": "X server can start up well and desktop display has no problem .  \n\n"
        },
        "2": {
          "action": "type runlevel at command prompt",
          "expected_results": "Output:N 5"
        }
      },
      "summary": "X_server_can_start_up_with_runlevel_5_boot"
    }
  },
  {
    "test": {
      "@alias": "bsps-qemu.bsps-runtime.check_bash_in_image",
      "author": [
        {
          "email": "alexandru.c.georgescu@intel.com",
          "name": "alexandru.c.georgescu@intel.com"
        }
      ],
      "execution": {
        "1": {
          "action": "After system is up, check if bash command exists with command \"which bash\"",
          "expected_results": "bash command should exist in image giving something as below  \"/bin/bash\""
        }
      },
      "summary": "check_bash_in_image"
    }
  }
]