-
Android Android手机通电自动开机(关机状态下)
2022-03-21 290
继续折腾Usb手机共享网络,以前是用的电池,很快鼓包了,换成18650限制充电量后,还是只能用一阵子就会莫名关机.最后选择使用5v直接接电池保护板,直流供电.但是有一个问题就是断电后不会自动启动,下面介绍通过修改boot完成关机充电时自动开机.完成自动开机后,安装tasker为系统应用,实现开机自动启动我们的应用实现usb连接自动启用usb共享.以下内容转自:https://zhuanlan.zhihu.com/p/418262993?ivk_sa=1024320u目的需求:在手机关机状态下,若是通电,则自动开机.使用场景:手机做4G路由器热点使用;备用手机常年通电做转发短信未接来电;做车载导航行车记录仪等;方法思路:确定手机关机状态下充电时会调用什么脚本命令,然后在脚本命令中添加入重启指令。步骤预览:提取手机boot.img镜像解包boot.img镜像修改init.rc文本打包boot.img刷入修改后的boot.img到手机完成,测试实践环境:手机: Redmi Note5; Android 版本 9; MIUI 版本10 9.9.3开发版;电脑: windows10工具: ADB, Fastboot, Bootimg[工具下载:把你的旧手机改造成车载导航.zip]1. 提取手机boot.img镜像1.1. 手机打开USB调试(开发者选项)1.2. 手机USB连接电脑1.3. 在CMD窗口cd到adb.exe的路径,输入“adb devices”来检测一下链接状况。C:\platform-toolsadb devicesList of devices attached63d76abf device #连接成功1.4. 输入“adb shell”,回车,再输入“su”回车,这注意看,提示符应该已经从$符号变成了#号。1.5. 输入命令搜索”find /dev/block/platform/ -name by-name”来找到”by-name”文件夹路径2|:/dev # find /dev/block/platform/ -name by-namefind /dev/block/platform/ -name by-namefind /dev/block/platform/ -name by-name/dev/block/platform/soc/c0c4000.sdhci/by-name //找到需要的路径1.6. 输入命令列出搜索到的文件夹”ls -al /dev/block/platform/soc/c0c4000.sdhci/by-name”,找到boot对应文件名称为”mmcblk0p58”ls -al /dev/block/platform/soc/c0c4000.sdhci/by-nametotal 0drwxr-xr-x 2 root root 1320 1970-01-01 08:02 .drwxr-xr-x 3 root root 1380 1970-01-01 08:02 ..lrwxrwxrwx 1 root root 21 1970-01-01 08:02 abl - /dev/block/mmcblk0p25lrwxrwxrwx 1 root root 21 1970-01-01 08:02 ablbak - /dev/block/mmcblk0p26lrwxrwxrwx 1 root root 21 1970-01-01 08:02 apdp - /dev/block/mmcblk0p11lrwxrwxrwx 1 root root 21 1970-01-01 08:02 bk1 - /dev/block/mmcblk0p49lrwxrwxrwx 1 root root 21 1970-01-01 08:02 bk2 - /dev/block/mmcblk0p51lrwxrwxrwx 1 root root 21 1970-01-01 08:02 bluetooth - /dev/block/mmcblk0p38lrwxrwxrwx 1 root root 21 1970-01-01 08:02 boot - /dev/block/mmcblk0p58 //找到boot对应的文件名"mmcblk0p58"1.7. 开始提取,输入“dd if=/dev/block/mmcblk0p58 of=/sdcard/boot.img”,这里的”mmcblk0p58”就是刚才上面找到的boot对应文件.1.8. 把提取的”boot.img”文件拷贝到电脑2. 解包boot.img镜像2.1. 电脑上把拷贝的boot.img和bootimg.exe放在相同目录下。最好单独建个目录,把这两个文件放进去,因为后续会产生很多文件,以免混乱。2.2 . CMD到bootimg.exe目录下执行“bootimg —unpack-bootimg” 解包 //路径不能有中文.否则报错C:\platform-tools\bootimgbootimg --unpack-bootimgarguments: [bootimg file]bootimg file: boot.imgoutput: kernel[.gz] ramdisk[.gz] second[.gz]base: 0x0ramdisk_addr: 0x1000000second_addr: 0xf00000tags_addr: 0x100page_size: 4096name: ""cmdline: "console=ttyMSM0,115200,n8 androidboot.console=ttyMSM0 earlycon=msm_serial_dm,0xc170000 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 sched_enable_hmp=1 sched_enable_power_aware=1 service_locator.enable=1 swiotlb=1 firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7 buildvariant=user"padding_size=4096arguments: [ramdisk file] [directory]ramdisk file: ramdisk.gzdirectory: initrdoutput: cpiolist.txtcompress: True3. 修改init.rc文本3.1. 解包boot.img后会获得”initrd”文件夹,里面有我们需要修改的”init.rc”文件3.2. 使用EmEditor修改init.rc文件,在”on charger”这一项目添加”setprop sys.powerctl reboot”on charger class_start charger #这段自带不用删也可以,而且听说某些系统需要先进入charger流程,否则会卡第一屏 setprop sys.powerctl reboot #添加进这段3.3. 修改init.rc完毕,保存.4. 打包boot.img4.1. 现在要把修改的文件重新打包成boot.img。还是回到刚才的cmd窗口。输入“bootimg --repack-bootimg”回车。程序会自动把文件打包回去。现在目录下就会变成3个文件,一个程序bootimg.exe,一个原始文件boot-old.img,一个新生成的文件boot-new.img。5. 刷入修改后的boot.img到手机5.1. 把boot-new.img拷贝到adb.exe所在的目录,并且重命名为boot.img,在此目录打开命令窗口。5.2. 把手机进入到fastboot的状态。关机,同时按住音量减和电源键。这时你的手机会进入fastboot的状态,准备开始写入boot.img。5.3. 在命令窗口输入“fastboot flash boot boot.img”回车,开始刷写boot.img。因为文件很小,几秒钟就提示完成了。5.4. 输入“fastboot reboot”回车,会重启手机6. 完成,测试6.1 操作完以上步骤,就实现了安卓关机状态通电自动开机.6.2 测试1: 关机,保持usb线供电,数秒后自动开机.6.3 测试2: 关机.拔掉usb线,然后插入usb线,数秒后自动开机.完成.参考资料安卓6.0+关机状态下通电自动开机方案把你的旧手机改造成车载导航车子点火手机自动开机(关机状态下)的方法继续阅读» -
HTML Nginx配置密码访问
2022-02-17 103
1.使用htpasswd生成密码,命令不存在就安装httpd-tools:htpasswd -bc htpasswd username password2.nginx配置,配在server下面:auth_basic "Restricted Access";auth_basic_user_file htpasswd ;继续阅读» -
HTML Debian10安装pve
2021-11-21 293
搞了个清凉74年抛2H4G小鸡,想同时使用linux和windows,因此使用pve开小鸡1.重装为debian10系统由于安装会从download.proxmox.com下载软件包,国内访问缓慢,建议使用nginx反代科学技术大学镜像地址,安装nginx:wget https://nginx.org/packages/debian/pool/nginx/n/nginx/nginx_1.16.1-1~buster_amd64.debdpkg -i nginx_1.16.1-1~buster_amd64.deb配置反向代理:server { listen 80; server_name localhost 127.0.0.1 ; location / { proxy_pass https://mirrors.ustc.edu.cn/proxmox/; }}配置host:127.0.0.1 download.proxmox.com启动nginx2.依次执行一下命令#设置主机名hostnamectl set-hostname pve#修改host文件124.156.XXX.XXXX(你的公网IP) pve.proxmox.com pve#安装pveecho "deb http://download.proxmox.com/debian/pve buster pve-no-subscription" /etc/apt/sources.list.d/pve-install-repo.listwget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpgchmod +r /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpgapt update apt full-upgradeapt -y install proxmox-ve postfix open-iscsi如果有需要输入Y/N的地方一律选Y3.安装过程操作如下图所示:[图片][图片][图片][图片][图片]4.重启,重启成功以后我们访问PVE后台(https://公网IP:8006),注意https5.配置用户:[图片]6.配置网络,编辑/etc/network/interfacesauto vmbr0iface vmbr0 inet static address 172.16.1.1 netmask 255.255.255.0 bridge_ports none bridge_stp off bridge_fd 0 post-up echo 1 /proc/sys/net/ipv4/ip_forward post-up iptables -t nat -A POSTROUTING -s '172.16.1.0/24' -o enp4s0 -j MASQUERADE post-down iptables -t nat -D POSTROUTING -s '172.16.1.0/24' -o enp4s0 -j MASQUERADE注意修改其中iptables转发规则中的网口enp4s0为你的实际网卡,一般是eth0记录:iptable管理nat表查看:iptables -t nat -nL删除iptables -t nat -D POSTROUTING 17.启用转发,编辑/etc/sysctl.conf,加入(或修改)net.ipv4.ip_forward = 18.点击存储-ct模版-模版,即可选择系统镜像,或上传自定义镜像,tip:可使用wget下载镜像至/var/lib/vz/template/iso/即直接在服务器下载镜像9.创建windows虚拟机左侧菜单datacenter-pve右击,createvm[图片]10.........不支持嵌套虚拟化,只能使用lxc的linux容器?????感谢大佬:https://blog.csdn.net/weixin_37758297/article/details/119056650https://blog.whsir.com/post-5608.htmlhttps://blog.csdn.net/qq_36294875/article/details/80105936https://www.cnblogs.com/hixiaowei/p/8954161.html继续阅读» -
HTML OpenWrt配置多Wan口并配置无线
2021-11-20 798
前言上回说到使用静态路由使得一级路由能访问二级路由的设备.但是问题出现了,这样虽然能访问二级路由设备的资源,但是客户端配置静态ip时无法指定网关为二级路由中的设备(esxi虚拟的Openwrt旁路由(旁网关),在Ros软路由网段内),手动配置后无法上网,我的案例是一级路由192.168.1.0/24,二级路由192.168.4.0/24,现在配置静态路由后,可以访问二级路由的http、samba等服务,但想使用旁路由的特殊功能必须配置网关为旁路由折腾了一下,将一级路由的小米mini第二个lan口作为第二个Wan口,与软路由的lan口连接,并建立软路由的无线网络,这样的话新的无线网络就可以分配软路由192.168.4.0/24的ip了,手动指定网关自然也没问题,记录如下.操作Openwrt默认为你的Lan口建立了Vlan,使得路由的Lan变成了一个交换机,既然要拿一个lan口作为Wan口,自然需要将该口从Vlan中剥离出来,进入network-switch菜单中,先介绍一下:从"VLANs on "switch0" (mt7620)"下面开始看,第一行展示每一列的含义,第二行显示路由器中各个端口的连接状态,然后看下面第一列的1,2,3代表Vlan Id,这个我也不懂,应该是不同VlanId的设备不能互相访问吧,第二列代表每个端口(网口)与当前Vlan的关系,一共有三个选项:off,untagged,tagged(关 不关联 关联)off:这一分组中不使用这个接口untagged:这个接口将被直接桥接到这个分组tagged:这个接口需要通过VLAN ID来访问这一分组个人理解:你可以看到自己的lan口所在的vlan1,应该有两个(以路由器实际lan口数为准)端口为untagged,如上面所说,他们桥接了,体现为Lan口为交换机模式. 注意:vlan3是我已经完成操作后的图,默认应该只有1和2[图片]我们要做的操作就是,划分一个新的Vlan,并将第一个物理lan口(lan1)"纳入Vlan3的管理",如上图所示,这样我们的网口-lan1,已经没有原来lan口的作用了.保存并应用因为我们的目的是将这个网口作为新的wan口并建立一个新wan口的无线(软路由没有无线)首先去network-wireless建立一个新的ap,点击radiox,后面的add,我这里是radio0,5g频段,按照正常的无线完成配置,后续将使用OpenWrt_5g作为新无线:[图片]然后我们需要建立一个wan2,来到network-interface,建立wan2,协议为dhcp,Physical Settings 选择刚刚建立的无线OpenWrt_5g以及eth0.3,注意这里的eth0.3代表刚刚建立的id为3的vlan,代表我们将新的wan2与新的无线(OpenWrt_5g)关联了起来:[图片]并加入之前wan口的防火墙(我没加,可以正常使用,不知道这步是否需要)保存应用后,拿一根网线将二级软路由的lan口与刚刚设置的一级路由的新wan口连接起来即可,OpenWrt_5g无线分配的ip即为软路由的网段参考:https://www.cnblogs.com/lsgxeva/p/13648443.html附上OpenWrt替换默认的ash终端为bash,这样可以记录命令历史:opkg update opkg install bash编辑/etc/passwd修改root用户的/bin/ash为/bin/bash保存重新连接ssh即可继续阅读»
热门文章
© 2019 - ZXQ's Diary - zhangxiaoqiang.top