目前是开发的初始阶段,文档也时刻在变,这里只记录部分开发测试过程,请以最新文档主准。
昨天是 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
应该是没有空间了,删除一些文件。
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。
上传 zImage, dtb, modules。
make kernel-upload
make dtb-upload
make modules-upload
新 Image 启动。
make boot
@吴章金 @杨森 Windows 10 下,VituralBox Ubuntu ,终于可以了。
可能是我删除了 QT 下面的一些东西,启动后画面不动了。
触摸屏也不能工作,使用 evtest
测试一下。
sudo apt install evtest
sudo 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
。
看下驱动 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
新的 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
总结
一句话,为了少折腾,还是 Windows -> VirtualBox -> Ubuntu -> LinuxLab。