简单介绍SXS的一些有意思的特性
即兴打出这个标题,似乎性息量有点大,后面的内容真的和你想象的是一样的吗?
自上一篇blog告别这里有多少年了,掐指一算,今天是一个回归的日子,看着这里搭上云之路,渐渐的变成了云主机中的一员,感慨时事境迁,时代的标签默默地打在每一件事物的身上。
延续标题的思路,预防被称作标题党,看了一下时间,接下来就开始用最最最简短的语言分享点点从2019向前的缩影和片断,包含一些历史的解密:p
2009年9月,发表了一篇名为简单介绍sxs的一些有意思的特性的文章,似乎淡淡之笔,在文章的结尾,留下一个美好的远景。事实上在一个礼拜之后,是的7天以后,这个远景落地了,简而言之return ok. 这是一个难以表述的心情,这是一个很有意思的想法,在产生这个想法的同时,已经在同步酝酿一片英文稿,如果我做到了,这个世界会多一份技术展示,思绪间很多美化巨硬的想法,这是一个什么技术呢,简而言之就是从流读取一份库文件(wwindows dynamic link library),这里我实现了com类型库从网络流直接在os内存中展开载入(fhandle是不存在的,是不存在的,是不存在的),并且免注册调用的真实案例和一个在我当时看来十分完美世界上绝无仅有的封装 。很不幸,文章流产了:(
为什么?为什么?为什么? 为什么成功的封装,绝无仅有的尝试和实现,却久久在磁盘的块中尘封了近10年,10年这个世界变化了许多,我公布一下当时留了一个开场e草稿在某站点后台却从来没有公开的原因: 当一切调用都很成功,当我用巨硬的某版本windows sdk中不知名html2xhtml.dll解析更多网页的时候,却发现,这个dll远远不是我想象了可以厚颜无耻的舔一下巨硬这么自然而然,事实上这个dll很失败,除了少数hello world站点中的基础页面,几乎不能正确返回任何有意义的结果,而我在1个礼拜前正yy着强强联手的文章,展示一个简单而神奇的dom处理过程,然后我很生气,这就是为什么没有然后的原因(尽管,不时地会偷偷打开看一眼,当时已经顺利兼容了windows xp, windows 7, wwidow 8.0 8.1 )。
接下来的时光,似乎仍旧在.net这个世纪产物上,偶尔碰碰c++,偶尔写写sql, 2016年底,很时髦的用起了.net core 1.0, 做了一个世界上绝无仅有的single exe部署,里面藏着core, async await (ef.core, socket, network stream, file stream)一切可以await的都大力注入到async这个关键字中,然而,这个在2017初收工的挂载core类混淆和core方法加密的exe居然可以在windows的services列表里出现,而且不依赖任何外部环境和文件,执行的宛如什么都不懂的智障,和你想象的是一样的吗?显然这个cpu利用率不到5%的工程远远超乎了想象。
然而这就结束了吗?不!
这个世界上有一个神奇的事物叫linux.
为了宣告和这个事物的缘分,我用gcc4.9在windows 10 x64 docker中编译出了这个世界上绝无仅有的aria2 3.14 for arm.服务正常人类已经抛弃的linux kernel 2.6.x,此后居然静态编入dev版openssl和c-ares,帮作者的源码里完善了一下网络隔离. 当回视这个厉害的自制toolchain,那几天就像几个月一样漫长,事实上几天时间里,就是和abi撕逼的经历,后续会公开部分.
最近几年openwrt也在蓬勃发展,最先我采用的是ddwrt,作者还是保留了toolchain:p, 作为一个手慢的意识流键盘党,如果敲一下make就可以制作一个绝无仅有的image是不是很鸡冻呢?事实上,接触后不到几天就在编译出了4m不存版ss,我很认真地不忘初衷的记下里程碑, 我学会了焊接,我学会了拆flash,我学会了装b,我用gcc8x编译git shapshot已经半年多了,lede这种过时的回收站永远嗤之以鼻,编译过branch 18.06的我知道和snapshot版本的不同力反馈,最近谁提交一个patch又让大家恢复到同一起跑线,dyne的dnscrypt-proxy带上extension没有openssl, https-dns-proxy也没有openssl,认真起来可是减少了2m的空间, 3个月前开通了wpa3,波澜不惊的关掉了。
最近有一个小众mini音乐盒子开箱(编辑一下23:44:46,注明这是一个几十元的全新盒子,和你想象的是一样的吗?),看了一下时间,当一个标题党就可以按时发文拉,所以计划中的拍照上图环节省略了...
这是一个奇迹,开箱不到半小时,截获以下性息,你们可以拜读以示我的清白,绝无抄袭
linux version 2.6.31 (root@ubuntu) (gcc version 4.3.3 (gcc) ) #2 mon sep 22 10:02:42 cst 2014
flash_size passed from bootloader = 16
arg 1: console=ttys0,115200
arg 2: root=31:02
arg 3: rootfstype=jffs2
arg 4: init=/sbin/init
arg 5: mtdparts=ath-nor0:64k(u-boot),64k(u-boot-env),14080k(rootfs),2048k(uimage),64k(mib0),64k(art)
arg 6: mem=64m
cpu revision is: 0001974c (mips 74kc)
ath_sys_frequency: cpu srif ddr srif cpu 535 ddr 400 ahb 200
determined physical ram map:
memory: 02000000 @ 00000000 (usable)
user-defined physical ram map:
memory: 04000000 @ 00000000 (usable)
initrd not found or empty - disabling initrd
#ls /lib
ld-uclibc-0.9.30.so libdl-0.9.30.so libresolv-0.9.30.so
ld-uclibc.so.0 libdl.so.0 libresolv.so.0
libapr-1.so libexpat.so.0 librt-0.9.30.so
libapr-1.so.0 libexpat.so.0.5.0 librt.so.0
libapr-1.so.0.5.1 libgcc_s.so libssl.so.1.0.0
libaprutil-1.so libgcc_s.so.1 libthreadutil.so.6
libaprutil-1.so.0 libhowl.so.0 libthreadutil.so.6.0.3
libaprutil-1.so.0.5.3 libiw.so.29 libuclibc-0.9.30.so
libavcodec.so.52 libixml.so.2 libupnp.so.6
libavcodec.so.52.123.0 libixml.so.2.0.8 libupnp.so.6.3.2
libavdevice.so.52 libm-0.9.30.so libusb-0.1.so.4
libavdevice.so.52.5.0 libm.so.0 libusb-0.1.so.4.4.4
libavformat.so.52 libmdnsresponder.so.0 libusb-1.0.so
libavformat.so.52.111.0 libnsl-0.9.30.so libusb-1.0.so.0
libavutil.so.50 libnsl.so.0 libusb-1.0.so.0.1.0
libavutil.so.50.43.0 libpcre.so libusb.so
libc.so.0 libpcre.so.1 libutil-0.9.30.so
libcrypt-0.9.30.so libpcre.so.1.2.3 libutil.so.0
libcrypt.so.0 libpthread-0.9.30.so libz.so.1
libcrypto.so.1.0.0 libpthread.so.0 modules
#cat /proc/cpuinfo
system type : atheros ar934x
processor : 0
cpu model : mips 74kc v4.12
bogomips : 267.26
wait instruction : yes
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0000, 0x0600, 0x0400, 0x0000]
ases implemented : mips16 dsp
shadow register sets : 1
core : 0
vced exceptions : not available
vcei exceptions : not available
请有恩山邀请码的pm我
i2c, airplay, line out, 我是一个随便的人吗?本来想着大力出奇迹,现在对这这个没有缝的mini, 它已经稳稳的运行在650mhz, 这是怎么做到的这么神奇的么?封装袋里的散热片在哭泣,它还有机会吗? boom750mhz?
望着这个放在抽屉里仅仅只能boot的盒子,嘴角露出了笑意???
让我们牢记一个时代,2014, linux 2.6.31
未完待续...请关注
2019.2
上一篇: 跑得慢因为我的脚短
下一篇: 记录一个屌丝IT男的职场故事经历