0.拆机飞线图
1.代码拉取(参考:https://www.bilibili.com/read/cv17374238?spm_id_from=333.999.0.0)
1.0 编译环境要求(最好是ubuntu16.04, ubuntu16.04 往后的版本,编译过程中各种问题,解决很耗时间,再装一个ubuntu16比较省事)
1.1安装依赖环境:
apt-get install git zlib1g-dev libexpat1-dev python texinfo build-essential unzip libssl-dev libxml-simple-perl libxml-sax-perl libxml2-dev libxml2-utils xsltproc wget bc ccache libc6-dev-i386 lib32ncurses5-dev lib32z1-dev gnupg cpio vim curl gawk busybox
1.2 下载repo工具
./repo init -u https://github.com/tinalinux/manifest -b r16-v2.1.y -m r16/v2.1.y.xml
./repo sync
./repo start r16-v2.1.y --all
1.3 参考中的 uboot 部分不需要下载,我们只烧录rootfs1 kernel1 两个分区
2.编译 tina-linux
export FORCE_UNSAFE_CONFIGURE=1
source build/envsetup.sh
lunch astar_parrot-tina
make menuconfig
make
3.配置linux
croot
make kernel-menuconfig
4.输出文件在 out/astar-parrot 下
astar-parrot-uImage compile_dir md5sums rootfs.img staging_dir tina_astar-arrot_uart0.img boot.img image packages sha256sums tina_astar-parrot_card0.img
5. take.rootfs.kernel1.sh kernal 镜像打包、ROOTFS拷贝,执行完成后拷贝到d://xiaoai/
#!/bin/bash
if [ "1" = "$1" ] ; then
if [ -e "./astar-parrot/rootfs.img" ] ; then
cp -rf ./astar-parrot/rootfs.img /mnt/d/xiaoai && echo "copy rootfs.img to xiaoai"
else
echo "please make root image"
fi
elif [ -f "./astar-parrot/astar-parrot-uImage" ] ; then
if [ -e "./kernel.img" ] ; then
echo "1.rm kernel.img"
rm -rf kernel.img
fi
if [ -e "./kernel" ] ; then
echo "2.skip mkdir kernel "
else
echo "2.mkdir ./kernel"
mkdir ./kernel
fi
dd if=/dev/zero of=./kernel.img bs=1024 count=6144 && echo "3.create kernel.img"
mkfs.fat ./kernel.img && echo "4.mkfs kernel.img"
mount -t vfat ./kernel.img ./kernel && echo "5.mount kernel.img"
cp -r ./astar-parrot/astar-parrot-uImage ./kernel/uimage && echo "6.cp uimage to kernel.img"
umount ./kernel && echo "7.umount kernel"
cp -rf ./kernel.img /mnt/d/xiaoai && echo "8.fat is contain of uimage...."
else
echo "please make kernel image!!!"
fi
6.安装adb fastboot 驱动
下载驱动文件,把名字修修改为 xxx.exe 后安装 或者百度9008免签名驱动 把,链接资源有问题
7.烧录
1.打开串口,按住s键不松手,等待小爱上电
2.把小爱USB插入PC
3.fastboot_test 开启fastboot 模式
8.刷机脚本 fastboot.burnning.sh(我本地安装的是git_bash)
#!/bin/bash
if [ "$1" = "r" ] ; then
fastboot erase rootfs1 && fastboot flash rootfs1 rootfs.img
fastboot reboot
elif [ "$1" = "k" ] ; then
fastboot erase kernel1 && fastboot flash kernel1 kernel.img
fastboot reboot
else
fastboot erase rootfs1 && fastboot flash rootfs1 rootfs.img
fastboot erase kernel1 && fastboot flash kernel1 kernel.img
fastboot reboot
fi
9.nand驱动修改: tina-linux/lichee/linux-3.4/drivers/block/nand/sun8iw5p1/lib/src/physic/nand_id.c
在nand_id.c 中 struct __NandPhyInfoPar_t SamsungNandTbl[] 结构体内,替换原来的
chip_id ={0xec, 0xf1, 0x00, 0x95, 0xff, 0xff, 0xff, 0xff },的内容。
{ {0xec, 0xf1, 0x00, 0x95, 0xff, 0xff, 0xff, 0xff }, 1, 4, 64, 1024, 0x4000008c, 896, 30, 0, 0, 0, &PhysicArchiPara0, &DefDDRInfo, 0x000001 ,20000}, // K9F1G08 FS33NDO01GS10
10.运行结果
11.请问一下小爱mini使用的 WIFI BT芯片具体型号。
https://blog.csdn.net/github_38345754/article/details/108697710/]这里可以看出大概是bcm43438,但是不肯定
最近编辑记录 muxi01 (2023-07-23 13:00:40)
离线
驱动下载好像有点问题,后续重新编辑一下。
离线
@muxi01
BCM43438KUBG
离线
和原厂烧录固件是一样的吗?
离线
和原厂烧录固件是一样的吗?
主线Linux,自己编译。
离线