一、硬件国产化
1. 飞腾E2000Q
二、操作系统国产化
1. 麒麟系统
1.1 麒麟嵌入式支持飞腾E2000Q
1.1.1 ISO修改制作
1. 获取麒麟系统ISO:麒麟官网获取,或者第三方硬件厂商适配获取
注:以下操作不能用root用户登入操作,需使用sudo账户。
2. 挂载ISO:sudo mount XXX.iso /mnt
3. 由于iso挂载的文件系统为只读文件,需要将iso内的文件拷贝出来才能修改
创建工作目录:mkdir -p iso iso/kylin-iso
在iso工作目录下, 拷贝所有/mnt目录文件到kylin-iso:cp -r /mnt/* kylin-iso
4. 查看数据包压缩参数,并解压根文件系统,squashfs工具(安装命令sudo apt install squashfs-tools)
查看命令(可以不关注):unsquashfs -s kylin-iso/casper/filesystem.squashfs
解压文件:sudo unsquashfs kylin-iso/casper/filesystem.squashfs
解压后在当前目录下生成squashfs-root目录,即根文件系统。
5. 修改需要修改的配置,文件,目录等,如下拷盘覆盖
1.原盘根文件系统压缩:
#mount /dev/sda3 /mnt
#cd /mnt
#tar -cjf /rootfs.tar.gz .
2.拷贝
#scp /rootfs.tar.gz chenchcao@192.168.2.76:/home/chenchao/ahm/iso
3.解压覆盖到制作根文件系统
#sudo tar -xf rootfs.tar.gz -C squashfs-root
可以在squashfs-root根文件系统内修改内容,文件目录覆盖。
6.重新生成新的ISO镜像文件:sudo ./mkiso.sh;脚本内容如下,成功后将在当前目录下生成新的iso文件。
#!/bin/sh
mksquashfs squashfs-root/ sys_change -comp xz -b 131072
chmod +w kylin-iso/casper/filesystem.squashfs
mv sys_change kylin-iso/casper/filesystem.squashfs
chmod -w kylin-iso/casper/filesystem.squashfs
echo "mk squashfs fininsh"
chmod +w kylin-iso/casper/filesystem.size
du -B 1 -s squashfs-root/ | cut -f1 > kylin-iso/casper/filesystem.size
chmod -w kylin-iso/casper/filesystem.size
echo "update filesystem.size"
md5file=kylin-iso/md5sum.txt
fsmd5=` grep -r "filesystem.squashfs" ${md5file} | awk '{print $1}'`
ssmd5=` grep -r "filesystem.size" ${md5file} | awk '{print $1}'`
echo "squash old md5:"${fsmd5}
echo "filesize old md5:"${ssmd5}
fnewmd5=`md5sum kylin-iso/casper/filesystem.squashfs | awk '{print $1}'`
snewmd5=`md5sum kylin-iso/casper/filesystem.size | awk '{print $1}'`
echo "squash new md5:"${fnewmd5}
echo "filesize new md5:"${snewmd5}
chmod +w ${md5file}
sed -i "s/${fsmd5}/${fnewmd5}/g" ${md5file}
sed -i "s/${ssmd5}/${snewmd5}/g" ${md5file}
chmod -w ${md5file}
echo "md5 update finish"
dd=`date "+%Y-%m-%d"`
genisoimage -J -l -allow-lowercase -R -V Kylin -joliet-long -no-emul-boot -boot-