一、背景
1、在x86搭建arm64 ros的開發(fā)環(huán)境。
2、宿主機(jī):虛擬機(jī)x86_ubuntu18
3、設(shè)備:jetson agx xavier(jetpack4.6.1)
jetson已安裝各種軟件環(huán)境
二、docker環(huán)境搭建
打包jeston文件系統(tǒng)
把U盤插到j(luò)etson,然后執(zhí)行打包命令。
--exclude是排除不需要打包的文件
sudo tar -cvpf /U盤路徑/jetson.tar --directory=/ --exclude=proc --exclude=sys --exclude=dev --exclude=run --exclude=boot --exclude=media/ .
2、x86加載docker文件
a、打包完成后,將U盤插到pc主機(jī)
b、將文件系統(tǒng)導(dǎo)入docker
cat jetson.tar | docker import - jetson:1.0
c、安裝qemu
sudo apt-get install qemu binfmt-support qemu-user-static
d、模擬arm指令集
每次開機(jī)后,在x86運(yùn)行arm容器的時(shí)候都需要執(zhí)行
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
e、運(yùn)行jetson鏡像文章來源:http://www.zghlxwxcb.cn/news/detail-452553.html
docker run -it jetson:1.0 bash
然后就可以看到j(luò)etson的文件 ,可以嘗試編譯運(yùn)行ros包,應(yīng)該無異常。但是用這種方法ros2好像存在問題。文章來源地址http://www.zghlxwxcb.cn/news/detail-452553.html
到了這里,關(guān)于【docker】x86主機(jī)在docker中運(yùn)行arm64鏡像的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!