@@ -13,11 +13,11 @@ Install Ubuntu (natively)
13
13
*************************
14
14
15
15
Ubuntu 16.04.4 LTS was used throughout this document, other versions such as
16
- 18.04 may work too.
16
+ 18.04 works too.
17
17
18
18
* Download Ubuntu 16.04 from the `Ubuntu 16.04.4 LTS (Xenial Xerus) page
19
- <https ://www .ubuntu.com/download/desktop > `_ and select the `ubuntu-16.04.4-desktop-amd64.iso
20
- <http://releases.ubuntu.com/16.04/ubuntu-16.04.4-desktop-amd64.iso> `_ image.
19
+ <http ://old-releases .ubuntu.com/releases/16.04.4/ > `_ and select the `ubuntu-16.04.4-desktop-amd64.iso
20
+ <http://old- releases.ubuntu.com/releases/ 16.04.4 /ubuntu-16.04.4-desktop-amd64.iso> `_ image.
21
21
22
22
* Follow Ubuntu's `online instructions <https://tutorials.ubuntu.com/tutorial/tutorial-install-ubuntu-desktop?_ga=2.114179015.1954550575.1530817291-1278304647.1523530035 >`_
23
23
to install it on your device.
@@ -35,6 +35,34 @@ Ubuntu 16.04.4 LTS was used throughout this document, other versions such as
35
35
sudo service ssh status
36
36
sudo service ssh start
37
37
38
+ Install build tools and dependencies
39
+ *************************
40
+
41
+ Install development tools for ARCN development:
42
+ * On a Ubuntu development system:
43
+
44
+ .. note ::
45
+ You need to use gcc version 7.3.* or higher else you will run into issue #1396. Follow these instructions to install the gcc-7 package on Ubuntu 16.04:
46
+
47
+ .. code-block :: none
48
+
49
+ sudo apt install gcc \
50
+ git \
51
+ make \
52
+ gnu-efi \
53
+ libssl-dev \
54
+ libpciaccess-dev \
55
+ uuid-dev \
56
+ libsystemd-dev \
57
+ libevent-dev \
58
+ libxml2-dev \
59
+ libusb-1.0-0-dev \
60
+ python3 \
61
+ python3-pip \
62
+ libblkid-dev \
63
+ e2fslibs-dev \
64
+ sudo pip3 install kconfiglib
65
+
38
66
Install ACRN
39
67
************
40
68
@@ -137,28 +165,29 @@ You can download latest Service OS kernel from
137
165
1. The latest Service OS kernel from the latest Clear Linux release
138
166
from this area:
139
167
https://download.clearlinux.org/releases/current/clear/x86_64/os/Packages. Look for an
140
- ``.rpm `` file named ``linux-pk414 -sos-<kernel-version>-<build-version>.x86_64.rpm ``.
168
+ ``.rpm `` file named ``linux-iot-lts2018 -sos-<kernel-version>-<build-version>.x86_64.rpm ``.
141
169
142
170
While we recommend using the "current" (latest) release of Clear Linux, you can download
143
171
a specific Clear Linux release from an area with that release number, e.g.:
144
- https://download.clearlinux.org/releases/24040 /clear/x86_64/os/linux-pk414- sos-4.14.57-69 .x86_64.rpm
172
+ https://download.clearlinux.org/releases/26440 /clear/x86_64/os/Packages/ linux-iot-lts2018- sos-4.19.0-22 .x86_64.rpm
145
173
146
174
#. Download and extract the latest Service OS kernel(this guide is based on 24040 as the current example)
147
175
148
176
.. code-block :: none
149
177
150
178
mkdir ~/kernel-build
151
179
cd ~/kernel-build
152
- wget https://download.clearlinux.org/releases/24040 /clear/x86_64/os/Packages/linux-pk414- sos-4.14.57-69 .x86_64.rpm
180
+ wget https://download.clearlinux.org/releases/26440 /clear/x86_64/os/Packages/linux-iot-lts2018- sos-4.19.0-22 .x86_64.rpm
153
181
sudo apt-get install rpm2cpio
154
- rpm2cpio linux-pk414- sos-4.14.57-69 .x86_64.rpm | cpio -idmv
182
+ rpm2cpio linux-iot-lts2018- sos-4.19.0-22 .x86_64.rpm | cpio -idmv
155
183
156
184
#. Install the SOS kernel and its drivers (modules)
157
185
158
186
.. code-block :: none
159
187
160
- sudo cp -r ~/kernel-build/usr/lib/modules/4.14.57-69.pk414-sos/ /lib/modules/
161
- sudo cp ~/kernel-build/usr/lib/kernel/org.clearlinux.pk414-sos.4.14.57-69 /boot/acrn/
188
+ sudo cp -r ~/kernel-build/usr/lib/modules/4.19.0-22.iot-lts2018-sos/ /lib/modules/
189
+ mkdir /boot/acrn/
190
+ sudo cp ~/kernel-build/usr/lib/kernel/org.clearlinux.iot-lts2018-sos.4.19.0-22 /boot/acrn/
162
191
163
192
#. Configure Grub to load the Service OS kernel
164
193
@@ -173,7 +202,7 @@ You can download latest Service OS kernel from
173
202
insmod gzio
174
203
insmod part_gpt
175
204
insmod ext2
176
- linux /EFI/org.clearlinux/kernel- org.clearlinux.pk414- sos.4.14.57-69 pci_devices_ignore=(0:18:1) console=tty0 console=ttyS0 i915.nuclear_pageflip=1 root=PARTUUID=<UUID of rootfs partition> rw rootwait ignore_loglevel no_timer_check consoleblank=0 i915.tsd_init=7 i915.tsd_delay=2000 i915.avail_planes_per_pipe=0x01010F i915.domain_plane_owners=0x011111110000 i915.enable_guc_loading=0 i915.enable_guc_submission=0 i915.enable_preemption=1 i915.context_priority_mode=2 i915.enable_gvt=1 i915.enable_initial_modeset=1 hvlog=2M@0x1FE00000
205
+ linux /boot/acrn/ org.clearlinux.iot-lts2018- sos.4.19.0-22 pci_devices_ignore=(0:18:1) console=tty0 console=ttyS0 i915.nuclear_pageflip=1 root=PARTUUID=<UUID of rootfs partition> rw rootwait ignore_loglevel no_timer_check consoleblank=0 i915.tsd_init=7 i915.tsd_delay=2000 i915.avail_planes_per_pipe=0x01010F i915.domain_plane_owners=0x011111110000 i915.enable_guc_loading=0 i915.enable_guc_submission=0 i915.enable_preemption=1 i915.context_priority_mode=2 i915.enable_gvt=1 i915.enable_initial_modeset=1 hvlog=2M@0x1FE00000
177
206
}
178
207
179
208
.. note ::
@@ -236,23 +265,23 @@ For the User OS, we are using the same `Clear Linux`_ release version as the Ser
236
265
.. code-block :: none
237
266
238
267
cd ~
239
- wget https://download.clearlinux.org/releases/24040 /clear/clear-24040 -kvm.img.xz
240
- unxz clear-24040 -kvm.img.xz
268
+ wget https://download.clearlinux.org/releases/26440 /clear/clear-26440 -kvm.img.xz
269
+ unxz clear-26440 -kvm.img.xz
241
270
242
271
* Download the Production Kernel (PK) kernel
243
272
244
273
.. code-block :: none
245
274
246
- wget https://download.clearlinux.org/releases/24040 /clear/x86_64/os/Packages/linux-pk414-standard -4.14.57-69 .x86_64.rpm
247
- rpm2cpio linux-pk414-standard -4.14.57-69 .x86_64.rpm | cpio -idmv
275
+ wget https://download.clearlinux.org/releases/26440 /clear/x86_64/os/Packages/linux-iot-lts2018 -4.19.0-22 .x86_64.rpm
276
+ rpm2cpio linux-iot-lts2018 -4.19.0-22 .x86_64.rpm | cpio -idmv
248
277
249
278
* Update the UOS kernel modules
250
279
251
280
.. code-block :: none
252
281
253
- sudo losetup -f -P --show /root/clear-24040 -kvm.img
282
+ sudo losetup -f -P --show /root/clear-26440 -kvm.img
254
283
sudo mount /dev/loop0p3 /mnt
255
- sudo cp -r /root/usr/lib/modules/4.14.57-69.pk414-standard /mnt/lib/modules/
284
+ sudo cp -r /root/usr/lib/modules/4.19.0-22.iot-lts2018/ /mnt/lib/modules/
256
285
sudo cp -r /root/usr/lib/kernel /lib/modules/
257
286
sudo umount /mnt
258
287
sync
@@ -277,8 +306,8 @@ For the User OS, we are using the same `Clear Linux`_ release version as the Ser
277
306
278
307
.. code-block :: none
279
308
280
- -s 3,virtio-blk,/root/clear-24040 -kvm.img
281
- -k /lib/modules/kernel/org.clearlinux.pk414-standard.4.14.57-69
309
+ -s 3,virtio-blk,/root/clear-26440 -kvm.img
310
+ -k /lib/modules/kernel/default-iot-lts2018
282
311
283
312
Start the User OS (UOS)
284
313
***********************
@@ -312,12 +341,12 @@ script example shows how to set this up (verified in Ubuntu 14.04 and 16.04 as t
312
341
313
342
# if bridge not existed
314
343
if [ "$br"x != "acrn-br0"x ]; then
315
- #setup bridge for uos network
316
- brctl addbr acrn-br0
317
- brctl addif acrn-br0 enp3s0
318
- ifconfig enp3s0 0
319
- dhclient acrn-br0
320
- # add existing tap devices under the bridge
344
+ #setup bridge for uos network
345
+ brctl addbr acrn-br0
346
+ brctl addif acrn-br0 enp3s0
347
+ ifconfig enp3s0 0
348
+ dhclient acrn-br0
349
+ # add existing tap devices under the bridge
321
350
for tap in $taps; do
322
351
ip tuntap add dev acrn_$tap mode tap
323
352
brctl addif acrn-br0 $tap
0 commit comments