coldnew / coldnew.github.io

coldnew's blog and basic sources
https://coldnew.github.io
4 stars 4 forks source link

我用來編譯 Yocto 的 Docker 環境 | coldnew's blog #3

Open coldnew opened 6 years ago

coldnew commented 6 years ago

https://coldnew.github.io/135d6bd2/

最近重新整理一下我用來編譯 Yocto Project 用的 Docker 環境,決定把它拉成獨立的腳本放出,你可以到 coldnew/docker-yocto 找到 。 為什麼要用 Docker 建立環境來編譯呢?在我這幾年使用 Yocto 的經驗,就是它對於 Host Machine 的依賴性太強。 我自己習慣使用 Gentoo Linux 也因為套件比較新,常常遇到 舊版本的 Yo

liyigang86 commented 6 years ago

问下,这个环境安装好后,要自己安装yocto吗, 我进去后yocto目录下是空的

coldnew commented 6 years ago

@liyigang86 Yocto 要自己下載呦 ~ 這個只是建立環境用的 dockerfile

liyigang86 commented 6 years ago

@coldnew @liyigang86 Yocto 要自己下載呦 ~ 這個只是建立環境用的 dockerfile

entrypoint.sh脚本运行最后有点问题,进去后是ROOT帐户,我手动创建了一个帐户su过去后,命令都不能用,这个是什么原因呢

liyigang86 commented 6 years ago

enterypoint.sh脚本运行的时候useradd失败了,用户组找不到, 你原来是想把他增加到那个组里的

liyigang86 commented 6 years ago

需要先addgroup才可以

coldnew commented 6 years ago

@liyigang86 問一下,你是使用 root 這帳號運行 yocto-build.sh 這腳本的嘛?

照我的腳本,它會透過 whoami 命令,將當前使用者帳號資訊給 Dockerfile, 然後在 docker 裡面建立和執行 yocto-build.sh 同樣使用者權限的腳本

照理來講, useradd 應該是不會失敗才對?

liyigang86 commented 6 years ago

@coldnew 可能是和这个有关系,我不是用root帐号来运行的脚本,刚好用户组也不是ROOT的,结果就有这个问题了,在useradd的时候用户组不存在。想来用root帐号运行应该没有这个问题

liyigang86 commented 6 years ago

@coldnew 或者在useradd前增加一个addgroup也能解决这个问题, 当然这个是针对不是root帐号运行的情况