英伟达tx2光驱烧录功能支持

本文讲述了作者在NVIDIATX2平台上启用USBCD-ROM功能并调试烧录过程,涉及内核编译、模块加载、文件系统处理和问题解决,最终找到可正常烧录的命令。
摘要由CSDN通过智能技术生成
今天得到一个任务,是在当前nvidia tx2平台上使能usb cdrom并且调试烧录功能。

首先测试给到的信息是不能在平台上使用(废话嘛,能用还用我干嘛)

拿到本地ubuntu机器上看了下,使用brasero等软件可以顺利烧录。
此时捕获了后台dmesg的log,还有就是dev下面针对usb光驱生成的节点,和/sys/bus/scsi下面的信息

将光驱插入到目标平台(tx2)发现没任何反应,光驱也不动,后台看到系统可以识别usb设备,然后就没了,和台式机linux相比,少了一些sr的log。

针对英伟达当前主板对应的jetpack版本,下载对应的bsp包,编译内核。

针对缺少的sr log,在英伟达内核中搜索,发现是sr.c文件没编译进去,此时找到对应的CONFIG宏并且打开。那么交叉编译出来了第一个模块sr_mod.ko

insmod 到tx2上,发现缺少符号,然后打开cdrom.ko对应的宏并编译之。

两个ko都加载了,顺带编译了sg.ko,udf.ko一并insmod进去了。此时插入光驱,光驱可以转动,但是提示说找不到对应的文件系统ISO9660.无法挂载。

好吧,在linux/fs目录下搜索,找到对应的宏,打开编译成模块,顺带打开了Kconfig里面的两个针对iso9660的参数。,这时候得到了isofs.ko。安装上发现文件系统没错了,但还是无法挂在,提示wrong fs type,bad option,bad superblock on 巴拉巴拉。dmesg没有log。咩办法,百度看下挂在程序是在/lib/usbfs2/xxxx目录下,并且还真有人遇到了这个问题,解决办法是系统要打开fsutf-8宏。并且先按照他说的命令,手动挂在可以成功,于是编译,得到了另一个模块nls_utf8.ko。

至此,系统可以正确读取已经烧录过的光盘了!!!!每一次看着都向胜利,最后来了一盆冷水!!!!!

此时测试烧录功能,什么,brasero没反应直接退出,oh,no,后台还jj的没log。肿么办,肿么办。

百度找一下其他的烧写调试方式把。找到了dvd+rw-mediainfo ,了解了烧录过和没被烧录光盘的信息不同。各种软件测试烧录。

最后:黄天不负有心有,终于找到了一个可以正常烧录的命令。
sudo growisofs -Z /dev/cdrom -R -J /home/mc/xxxx.txt

由于现在使用的dvd-R,只能写一次,所以测试的很少,因为测试一次,就废了一张盘,目前还有的问题就是上面的命令没办法写太大的文件(有可能并不是问题,只是测试方法不对而已)

不管怎样,目前有一个途径可以在系统中写入光盘,路已打通。后续慢慢优化调试即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值