官术网_书友最值得收藏!

Configuring the emulated OS

What we just saw about schroot is nothing if we do not configure our new system to do native compilation, and to do so, we can use every Debian tool we use on our host PC:

  1. To install a complete compiling environment, we can issue the following command once inside the schroot environment:
$ sudo apt install gcc make \
bison flex ncurses-dev libssl-dev
Note that sudo will ask your usual password, that is, the password you currently use to log in to your host PC.
You might not get a password request from sudo with the following error message:
sudo: no tty present and no askpass program specified
You can try executing the preceding sudo command again, adding to it the -S option argument.
It could be possible that the apt command will notify you that some packages cannot be authenticated. Just ignore this warning and continue installation, answering yes by pressing the Y key.

If everything works well, we should now be able to execute every compiling command we used before. For instance, we can try to recompile the helloworld program again but natively (we should remove the current executable in order; make will try to recompile it again):

$ rm helloworld
$ make CFLAGS="-Wall -O2" helloworld
cc -Wall -O2 helloworld.c -o helloworld
$ file helloworld
helloworld: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=1393450a08fb9eea22babfb9296ce848bb806c21, not stripped
$ ./helloworld
Hello World!
Note that networking support is fully functional so we're now working on an emulated ARM64 environment on our hosts PC as we were on the ESPRESSObin.
主站蜘蛛池模板: 金昌市| 繁昌县| 根河市| 宜君县| 比如县| 滕州市| 松桃| 盐源县| 汝南县| 衡水市| 白朗县| 寿宁县| 肥乡县| 康乐县| 贺州市| 离岛区| 土默特左旗| 安图县| 金门县| 区。| 南昌市| 阿拉尔市| 桂东县| 沅江市| 陵川县| 五峰| 汝州市| 阿图什市| 德格县| 昆明市| 松原市| 长寿区| 黄梅县| 维西| 苏尼特右旗| 靖远县| 赤峰市| 潼南县| 将乐县| 菏泽市| 宣威市|