此方法可以屏蔽Windows 7/8/10 中任意特定 Win + 键盘组合
打开注册表编辑器,输入路径
计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
右击新建一个名为 DisabledHotkeys 的「字符串值」
输入想要屏蔽Windows+字母快捷键的字母,比如Win+N,输入N即可,如果需要屏蔽多个,输入多个字母,比如VN
此方法可以屏蔽Windows 7/8/10 中任意特定 Win + 键盘组合
打开注册表编辑器,输入路径
计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
右击新建一个名为 DisabledHotkeys 的「字符串值」
输入想要屏蔽Windows+字母快捷键的字母,比如Win+N,输入N即可,如果需要屏蔽多个,输入多个字母,比如VN
一般来说全棉40支就还可以,舒服,透气,价格便宜,起码不是聚脂钎维
至于是什么棉,其实能做到多少支从侧面可以说明棉本身的品质,能做100支的棉都是好棉
这个方法适用TPLink WR941ND V1/V2/V3和WR841ND V3路由器,22.03.0版本的openwrt。需要修改以下两个文件
1.target/linux/ath79/dts/ar9132_tplink_tl-wr941-v2.dts
&spi { status = "okay"; flash@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <25000000>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; uboot: partition@0 { label = "u-boot"; reg = <0x000000 0x20000>; read-only; }; partition@20000 { compatible = "tplink,firmware"; label = "firmware"; reg = <0x020000 0x7d0000>; }; art: partition@7f0000 { label = "art"; reg = <0x7f0000 0x10000>; read-only; }; }; }; };
partition@20000下reg = <0x020000 0x3d0000>;
改为reg = <0x020000 0x7d0000>;
art: partition@3f0000
改为art: partition@7f0000
art: partition下reg = <0x3f0000 0x10000>;
改为reg = <0x7f0000 0x10000>;
2.target/linux/ath79/image/tiny-tp-link.mk
define Device/tplink_tl-wr941-v2 $(Device/tplink-8m) SOC := ar9132 DEVICE_MODEL := TL-WR941ND DEVICE_VARIANT := v2/v3 DEVICE_ALT0_VENDOR := TP-Link DEVICE_ALT0_MODEL := TL-WR941N DEVICE_ALT0_VARIANT := v2/v3 TPLINK_HWID := 0x09410002 TPLINK_HWREV := 2 SUPPORTED_DEVICES += tl-wr941nd endef TARGET_DEVICES += tplink_tl-wr941-v2
$(Device/tplink-4m)改为$(Device/tplink-8m),注意一点,原本是4m的,不能改成4mlzma或者8mlzma,错误修改后bootloader加载内核时会报错。
然后正常编译就可以了,以前的18.06及以前的版本,如果编译出来的包没有超过3712kb,就可以不改flash定义,系统启动后会自动更新flash大小,2203版本的包编译出来有5m了,如果不改flash定义,启动到一半会失败,所以必须改。
这个方法适用与2012年冬季之后的attitude_adjustment和trunck版的openwrt。
我这里是参考了一下之由在csdn上的一篇文章,
static struct flash_layout layouts[] = { { .id = "4M", .fw_max_len = 0x3c0000, .kernel_la = 0x80060000, .kernel_ep = 0x80060000, .rootfs_ofs = 0x140000, }, { .id = "4Mlzma", .fw_max_len = 0x3c0000, .kernel_la = 0x80060000, .kernel_ep = 0x80060000, .rootfs_ofs = 0x100000, }, { .id = "8M", .fw_max_len = 0x7c0000, .kernel_la = 0x80060000, .kernel_ep = 0x80060000, .rootfs_ofs = 0x140000, }, { .id = "8Mlzma", .fw_max_len = 0x7c0000, .kernel_la = 0x80060000, .kernel_ep = 0x80060000, .rootfs_ofs = 0x100000, }, { /* terminating entry */ } }; static struct board_info boards[] = { { .id = "TL-MR3020v1", .hw_id = HWID_TL_MR3020_V1, .hw_rev = 1, .layout_id = "4Mlzma", }, { .id = "TL-MR3220v1", .hw_id = HWID_TL_MR3220_V1, .hw_rev = 1, .layout_id = "4M", }, { .id = "TL-MR3420v1", .hw_id = HWID_TL_MR3420_V1, .hw_rev = 1, .layout_id = "4M", }, { .id = "TL-WA701Nv1", .hw_id = HWID_TL_WA701N_V1, .hw_rev = 1, .layout_id = "4M", }, { .id = "TL-WA901NDv1", .hw_id = HWID_TL_WA901ND_V1, .hw_rev = 1, .layout_id = "4M", }, { .id = "TL-WA901NDv2", .hw_id = HWID_TL_WA901ND_V2, .hw_rev = 1, .layout_id = "4M", }, { .id = "TL-WR741NDv1", .hw_id = HWID_TL_WR741ND_V1, .hw_rev = 1, .layout_id = "4M", }, { .id = "TL-WR741NDv4", .hw_id = HWID_TL_WR741ND_V4, .hw_rev = 1, .layout_id = "4Mlzma", }, { .id = "TL-WR740Nv1", .hw_id = HWID_TL_WR740N_V1, .hw_rev = 1, .layout_id = "4M", }, { .id = "TL-WR740Nv3", .hw_id = HWID_TL_WR740N_V3, .hw_rev = 1, .layout_id = "4M", }, { .id = "TL-WR743NDv1", .hw_id = HWID_TL_WR743ND_V1, .hw_rev = 1, .layout_id = "4M", }, { .id = "TL-WR841Nv1.5", .hw_id = HWID_TL_WR841N_V1_5, .hw_rev = 2, .layout_id = "4M", }, { .id = "TL-WR841NDv3", .hw_id = HWID_TL_WR841ND_V3, .hw_rev = 3, .layout_id = "4M", }, { .id = "TL-WR841NDv5", .hw_id = HWID_TL_WR841ND_V5, .hw_rev = 1, .layout_id = "4M", }, { .id = "TL-WR841NDv7", .hw_id = HWID_TL_WR841ND_V7, .hw_rev = 1, .layout_id = "4M", }, { .id = "TL-WR941NDv2", .hw_id = HWID_TL_WR941ND_V2, .hw_rev = 2, .layout_id = "4M", }, { .id = "TL-WR941NDv4", .hw_id = HWID_TL_WR941ND_V4, .hw_rev = 1, .layout_id = "4M", }, { .id = "TL-WR1043NDv1", .hw_id = HWID_TL_WR1043ND_V1, .hw_rev = 1, .layout_id = "8M", }, { .id = "TL-WR2543Nv1", .hw_id = HWID_TL_WR2543N_V1, .hw_rev = 1, .layout_id = "8Mlzma", }, { .id = "TL-WR703Nv1", .hw_id = HWID_TL_WR703N_V1, .hw_rev = 1, .layout_id = "4Mlzma",//-->8Mlzma }, { /* terminating entry */ } };
新版只用改fw的大小,分区表会自动认,不用像老版自己定义每个分区大小了。
比如8m flash就是把相应的.layout_id改了就可以了。
然后在打开./target/linux/ar71xx/image/Makefile
找到相应设备所在行,把4m改为8m,这里一定要把所有的相应型号设备的所有硬件设备的所在行都改了,比如编译wr941n就要把wr941 v2 v3 v4所在行都改了
$(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR941NV2,tl-wr941nd-v2,TL-WR941ND,ttyS0,115200,0x09410002,2,8M)) $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR941NV3,tl-wr941nd-v3,TL-WR941ND,ttyS0,115200,0x09410002,2,8M)) $(eval $(call SingleProfile,TPLINK,$(fs_64kraw),TLWR941NV4,tl-wr941nd-v4,TL-WR741ND,ttyS0,115200,0x09410004,1,8M))
这样可以避免image too big的问题。
今天我把我的博客六月和饭搬到了freehostia的主机上了,现在记录一下。
我的博客也是从几月前开通到现在不过经历了几个月,但是由于我总是对当前环境的不满所以现在已经是第3个主机了,前两次分别是我笔记本上的虚拟机和同学暂时不用的小主机,但是由于它们都不能常开机,而且校园网又很不稳定,所以最终我决定把博客搬到国外靠谱点的主机上。 继续阅读
前段时间我我想把一个小主机放到一个路由器上做为这个博客的主机,但是我无论怎么设置都没能让外网也能访问我的主机,我把域名对应到路由器上,把路由器的80端口对应到小主机的ip上,我修改了很多次防火墙设置,按照网上的资料让selinux放行http服务,在两天的空闲时间做过诸多尝试,但均以失败告终,我想不明白为什么同样的设置在虚拟机下可以用,但在实体主机上却不能用,最后我通过观察系统的log发现了有个martian source的记录,这条记录上有一个外网ip和本机的ip,后来经过我测试,发现每当我从外网访问我的博客时,主机上都会有几条这种记录,于是我就查了下,具体在这个网页上找到了snowjay的解释。解释如下: 继续阅读
备份MySQL数据库的命令
备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
直接将MySQL数据库压缩备份 继续阅读
大约是在2009年吧,那个时候我还是高二,那是我就知道了有Oray(花生壳就是他家的)这种可以免费申请二级域名并提供相应动态解析服务的域名提供商,那时我有点就想要自己的网站,但无奈自己那时对网站内部完全不了解,而且也没多少的需求。
大约是在2011年的上半年我在大一暑假时比较无聊的时候看了《鸟哥的Linux私房菜》,之后对用Linux的相关应用有了了解。
同时在2011年暑假的前段时间和朋友一起做android应用(《非诚勿扰》(又名《天生一对》)大家可以去移动的应用商店下载),那个时候经常去网上查各种技术相关的资料,看到了许多高手都拥有自己的独立博客,发布自己在学习时的感悟,我觉得这样很好,然后又在左岸的博客上说我们应该要有RSS订阅来学习知识和获得信息,要有博客来总结自己的学习,工作和生活。
然后到了冬天,我时间变得很多的时候,我建立了我自己的博客——JunEFan。