Carpe diem
WSL환경에서 bitake명령 시에 발생하는 에러(Unable to connect to bitbake server, or start one) 본문
WSL환경에서 bitake명령 시에 발생하는 에러(Unable to connect to bitbake server, or start one)
soons13 2023. 1. 15. 16:22빌드를 다시 해보니, 다른 드라이브에서 빌드를 해서 발생한 문제로 보인다.
topdir이라는 변수가 홈디렉토리를 기준으로 설정되는 변수인듯 하다.
그래서 마운트된 디렉토리에서 실행하면 문제가 발생한 것으로 보인다.
홈 디렉토리에서 SDK를 다운받아서 빌드하면 문제가 사라진다.
WSL환경에서 Ubuntu 20.04이미지를 docker 이미지를 빌드하고 실행시켜봤다..
잘된다..
(매번 시작마다 docker service를 start시켜주고 dock.sock 의 권한을 직접 변경해주어야한다는 것 빼고는..)
poky를 다운 받고, 다른 meta-layer를 추가하기 전에 현재 meta layer들 목록을 확인해보기 위해
bitbake 명령을 사용하던 중에 아래 같은 에러가 발생했다.
root@d0e33f11861d:/workdir/rpi/poky-rocko/build-raspberrypi# bitbake-layers show-layersNOTE: Starting bitbake server...NOTE: Retrying server connection... (Traceback (most recent call last):File "/workdir/rpi/poky-rocko/bitbake/lib/bb/main.py", line 442, in setup_bitbakeserver = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset)File "/workdir/rpi/poky-rocko/bitbake/lib/bb/server/process.py", line 385, in __init__self.sock.bind(os.path.basename(sockname))OSError: [Errno 95] Operation not supported)//... 중략 ...NOTE: Reconnecting to bitbake server...NOTE: Retrying server connection...ERROR: Unable to connect to bitbake server, or start oneroot@d0e33f11861d:/workdir/rpi/poky-rocko/build-raspberrypi# vim /workdir/rpi/poky-rocko/bitbake/lib/bbb/ bblayers/ bs4/root@d0e33f11861d:/workdir/rpi/poky-rocko/build-raspberrypi# vim /workdir/rpi/poky-rocko/bitbake/lib/bb/main.pyroot@d0e33f11861d:/workdir/rpi/poky-rocko/build-raspberrypi#
구글링해보니, WSL환경을 사용 중일 경우, 같은 에러를 해결한 사례가 있었다.
Bitbake Server does not start on Windows Subsystem for Linux
I am following the Quick Start Guide for Yocto Project on Windows Subsystem for Linux. I cloned all the necessary stuff: sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multili...
stackoverflow.com
대충 bitbake의 sock 경로가 맞지 않아서 "/tmp/bitbake.sock"으로 변경했다고 한다.
에러 내용을 다시 한번 보니, 친절하게도 에러가 발생한 파일과 라인넘버를 출력해준다.
수정을 위해 poky디렉토리 내의 bitbake/lib/bb/main.py 파일을 열어서 수정했다.
sockname을 topdir + "/bitbiake.sock" 에서 "/tmp/bitbake.sock"으로 변경했다.
def setup_bitbake(configParams, configuration, extrafeatures=None):# Ensure logging messages get sent to the UI as events## ... 중략 ...try:topdir, lock = lockBitbake()#sockname = topdir + "/bitbake.sock"#주석 처리sockname = "/tmp/bitbake.sock"# sock 경로 변경if lock:if configParams.status_only or configParams.kill_server:logger.info("bitbake server is not running.")lock.close()return None, None# we start a server with a given configurationlogger.info("Starting bitbake server...")# Clear the event queue since we already displayed messagesbb.event.ui_queue = []server = bb.server.process.BitBakeServer(lock, sockname, configuration, featureset)
root@d0e33f11861d:/workdir/rpi/poky-rocko/build-raspberrypi# bitbake-layers show-layersNOTE: Starting bitbake server...layer path priority==========================================================================meta /workdir/rpi/poky-rocko/meta 5meta-poky /workdir/rpi/poky-rocko/meta-poky 5meta-yocto-bsp /workdir/rpi/poky-rocko/meta-yocto-bsp 5root@d0e33f11861d:/workdir/rpi/poky-rocko/build-raspberrypi#
'SBC 보드 > yocto' 카테고리의 다른 글
raspberry pi firmware download in WSL (0) | 2023.01.22 |
---|---|
raspberry pi 3, yocto build(in WSL, docker) (0) | 2023.01.20 |
root 계정으로 bitbake 명령 시에 발생하는 에러 (0) | 2023.01.15 |