目前是开发的初始阶段,文档也时刻在变,这里只记录部分开发测试过程,请以最新文档主准。

昨天是 ebf-imx6ul,今天的多加了一个 l

按文档操作

git checkout ebf
git pull
sed -i -e "s/nand/mmc/g" boards/arm/ebf-imx6ull/Makefile
make BOARD=arm/ebf-imx6ull
make kernel-build

使用 COM 串口

root@npi:~# passwd
New password:
Retype new password:
passwd: Authentication token manipulation error
passwd: password unchanged

Getting an “Authentication token manipulation” error when trying to change my user password

root@npi:/home/debian# pwconv
pwconv: /etc/passwd.843: No space left on device
pwconv: cannot lock /etc/passwd; try again later.

看看空间

root@npi:/home/debian# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             82M     0   82M   0% /dev
tmpfs            50M  5.3M   44M  11% /run
/dev/mmcblk1p2  6.5G  6.5G     0 100% /
tmpfs           246M     0  246M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           246M     0  246M   0% /sys/fs/cgroup
tmpfs            40K     0   40K   0% /mnt/.psplash
tmpfs            50M     0   50M   0% /run/user/0
tmpfs            50M     0   50M   0% /run/user/1000

space

应该是没有空间了,删除一些文件。

rm -rf /home/debian/qt-app-static/video/
root@npi:~# sed -i -e "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config
root@npi:~#

改完密码后,macOS 和 windows 10 下的 Docker 都找不到 /dev/ttyUSB0 串口。

make boot 失败。

ubuntu@linux-lab:/labs/linux-lab$ make boot
Makefile:49: WARN: Lab should **NOT** belong to 'root', please change their owne
r in host: 'sudo chown $USER:$USER -R /path/to/cloud-lab/{*,.git}'
Makefile:50: WARN: Cancel this warning via: 'export WARN_ON_USER=0'
minicom -D /dev/ttyUSB0 -b 115200
minicom: cannot open /dev/ttyUSB0: No such file or directory
make: *** [Makefile:3651: _boot] Error 1

Windows 10 串口 应该是 COM[0-9*],macOS 下可能是 /dev/tty.usbserial-144410

但是 Docker 下不知道怎么找了。

我们切换到 VirtualBox。

Windows 10 下使用 VirtualBox。

virtualbox

上传 zImage, dtb, modules。

make kernel-upload
make dtb-upload
make modules-upload

新 Image 启动。

make boot

run

@吴章金 @杨森 Windows 10 下,VituralBox Ubuntu ,终于可以了。

可能是我删除了 QT 下面的一些东西,启动后画面不动了。

GUI

触摸屏也不能工作,使用 evtest 测试一下。

sudo apt install evtest
sudo evtest

好像没有反应。

evtest

No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:	20cc000.snvs:snvs-powerkey
/dev/input/event1:	gpio-keys
Select the device event number [0-1]:

看下触摸屏内核模块有没有自动加载 lsmod

lsmod

看下驱动 log: dmesg|grep Goodix

debian@npi:~$ dmesg|grep Goodix
[   19.968983] Goodix-TS 0-005d: i2c test failed attempt 1: -6
[   20.066545] Goodix-TS 0-005d: i2c test failed attempt 2: -6
[   20.159219] Goodix-TS 0-005d: I2C communication failure: -6

Goodix

新的 qt app 还在处理一些 bug,到时直接装就行了。

试试 macOS

macOS Docker 找不到串口,试着改了一下 .labinit,还是不行,估计要用 ssh 连接了。

ubuntu@linux-lab:/labs/linux-lab$ vi .labinit
ubuntu@linux-lab:/labs/linux-lab$ make boot
minicom -D /dev/cu.usbserial-144410 -b 115200
minicom: cannot open /dev/cu.usbserial-144410: No such file or directory
make: *** [Makefile:3651: _boot] Error 1
ubuntu@linux-lab:/labs/linux-lab$ ls /dev/cu.usbserial-144410
ls: cannot access '/dev/cu.usbserial-144410': No such file or directory
ubuntu@linux-lab:/labs/linux-lab$

切换到 next 分支。

git checkout next
git pull

试试 login。

ubuntu@linux-lab:/labs/linux-lab$ make login
LOG: Login via ssh protocol
/bin/sh: 1: sshpass: not found
make: *** [Makefile:3678: _boot] Error 127

下面是一些无用功。

# http://forum.ubuntu.org.cn/viewtopic.php?f=80&t=372236

sudo apt-get clean
cd /var/lib/apt
sudo mv lists lists.old
sudo mkdir -p lists/partial
sudo apt-get clean
sudo apt-get update

make packages-install

提示没有安装 sshpass,改了大半天,还是觉得是网络的问题,最后用连接 iPhone 热点,就能正常了。

所以要尽量保证环境一致:Docker 就是你。

make boot 成功过一次,board 重新启动后就卡住不动了。

后来就一直连接不上,可能还是网络问题。

ubuntu@linux-lab:/labs/linux-lab$ make boot
LOG: Configure new kernel and dtbs images
LOG: Rebooting via ssh
Connection to 192.168.1.132 closed by remote host.
LOG: Login via ssh protocol
make: *** [Makefile:3678: _boot] Error 255

login

总结

一句话,为了少折腾,还是 Windows -> VirtualBox -> Ubuntu -> LinuxLab。