@@ -67,26 +67,19 @@ our [integration test suite](#running-the-integration-test-suite) does it. This
67
67
guide will not use the [ ` jailer ` ] ( ../src/jailer/ ) .
68
68
69
69
``` bash
70
- ARCH=" $( uname -m) "
71
-
72
- # Download a linux kernel binary
73
- wget https://s3.amazonaws.com/spec.ccfc.min/img/quickstart_guide/${ARCH} /kernels/vmlinux.bin
74
-
75
- # Download a rootfs
76
- wget https://s3.amazonaws.com/spec.ccfc.min/ci-artifacts/disks/${ARCH} /ubuntu-18.04.ext4
77
-
78
- # Download the ssh key for the rootfs
79
- wget https://s3.amazonaws.com/spec.ccfc.min/ci-artifacts/disks/${ARCH} /ubuntu-18.04.id_rsa
80
-
81
- # Set user read permission on the ssh key
82
- chmod 400 ./ubuntu-18.04.id_rsa
83
-
84
70
# Clone the firecracker repository
85
71
git clone https://github.com/firecracker-microvm/firecracker
86
72
87
73
# Start docker
88
74
sudo systemctl start docker
89
75
76
+ ARCH=" $( uname -m) "
77
+
78
+ API_SOCKET=" /tmp/firecracker.socket"
79
+
80
+ # Remove API unix socket
81
+ sudo rm -f $API_SOCKET
82
+
90
83
# Build firecracker
91
84
#
92
85
# It is possible to build for gnu, by passing the arguments '-l gnu'.
@@ -96,13 +89,21 @@ sudo systemctl start docker
96
89
#
97
90
sudo ./firecracker/tools/devtool build
98
91
99
- API_SOCKET=" /tmp/firecracker.socket"
92
+ # Download a linux kernel binary
93
+ wget https://s3.amazonaws.com/spec.ccfc.min/img/quickstart_guide/${ARCH} /kernels/vmlinux.bin
100
94
101
- # Remove API unix socket
102
- rm -f $API_SOCKET
95
+ # Download a rootfs
96
+ wget https://s3.amazonaws.com/spec.ccfc.min/ci-artifacts/disks/${ARCH} /ubuntu-18.04.ext4
97
+
98
+ # Download the ssh key for the rootfs
99
+ wget https://s3.amazonaws.com/spec.ccfc.min/ci-artifacts/disks/${ARCH} /ubuntu-18.04.id_rsa
100
+
101
+ # Set user read permission on the ssh key
102
+ chmod 400 ./ubuntu-18.04.id_rsa
103
103
104
104
# Run firecracker
105
- ./firecracker/build/cargo_target/${ARCH} -unknown-linux-musl/debug/firecracker \
105
+ sudo \
106
+ ./firecracker/build/cargo_target/${ARCH} -unknown-linux-musl/debug/firecracker \
106
107
--api-sock " ${API_SOCKET} "
107
108
```
108
109
@@ -133,17 +134,20 @@ sudo iptables -I FORWARD 1 -i tap0 -o eth0 -j ACCEPT
133
134
134
135
API_SOCKET=" /tmp/firecracker.socket"
135
136
LOGFILE=" ./firecracker.log"
137
+ PROFILE_FILE=" ./firecracker.folded"
136
138
137
139
# Create log file
140
+ rm -f $LOGFILE
138
141
touch $LOGFILE
139
142
140
143
# Set log file
141
- curl -X PUT --unix-socket " ${API_SOCKET} " \
144
+ sudo curl -X PUT --unix-socket " ${API_SOCKET} " \
142
145
--data " {
143
146
\" log_path\" : \" ${LOGFILE} \" ,
144
- \" level\" : \" Debug \" ,
147
+ \" level\" : \" Trace \" ,
145
148
\" show_level\" : true,
146
- \" show_log_origin\" : true
149
+ \" show_log_origin\" : true,
150
+ \" new_format\" : true
147
151
}" \
148
152
" http://localhost/logger"
149
153
@@ -157,7 +161,7 @@ if [ ${ARCH} = "aarch64" ]; then
157
161
fi
158
162
159
163
# Set boot source
160
- curl -X PUT --unix-socket " ${API_SOCKET} " \
164
+ sudo curl -X PUT --unix-socket " ${API_SOCKET} " \
161
165
--data " {
162
166
\" kernel_image_path\" : \" ${KERNEL} \" ,
163
167
\" boot_args\" : \" ${KERNEL_BOOT_ARGS} \"
@@ -167,7 +171,7 @@ curl -X PUT --unix-socket "${API_SOCKET}" \
167
171
ROOTFS=" ./ubuntu-18.04.ext4"
168
172
169
173
# Set rootfs
170
- curl -X PUT --unix-socket " ${API_SOCKET} " \
174
+ sudo curl -X PUT --unix-socket " ${API_SOCKET} " \
171
175
--data " {
172
176
\" drive_id\" : \" rootfs\" ,
173
177
\" path_on_host\" : \" ${ROOTFS} \" ,
@@ -182,7 +186,7 @@ curl -X PUT --unix-socket "${API_SOCKET}" \
182
186
FC_MAC=" 06:00:AC:10:00:02"
183
187
184
188
# Set network interface
185
- curl -X PUT --unix-socket " ${API_SOCKET} " \
189
+ sudo curl -X PUT --unix-socket " ${API_SOCKET} " \
186
190
--data " {
187
191
\" iface_id\" : \" net1\" ,
188
192
\" guest_mac\" : \" $FC_MAC \" ,
@@ -195,7 +199,7 @@ curl -X PUT --unix-socket "${API_SOCKET}" \
195
199
sleep 0.015s
196
200
197
201
# Start microVM
198
- curl -X PUT --unix-socket " ${API_SOCKET} " \
202
+ sudo curl -X PUT --unix-socket " ${API_SOCKET} " \
199
203
--data " {
200
204
\" action_type\" : \" InstanceStart\"
201
205
}" \
0 commit comments