在树梅派Raspbian上将Gogs安装到Systemd

作者:V君 发布于:2019-6-16 18:52 Sunday 分类:折腾手记

TL:DR
- 从官方网站下载压缩包并解压到 /opt/gogs
- 修改 /opt/gogs/scripts/systemd/gogs.service 配置各种路径
- 将 /opt/gogs/scripts/systemd/gogs.service 复制或创建符号连接到 /etc/systemd/system/
- 执行 sudo systemctl enable gogs
- 执行 sudo systemctl start gogs
- 此时服务已经启动,访问默认端口,进入安装向导

不扯。

标签: 软件开发 个人服务器 源码管理 linux

评论(0) 引用(0) 浏览(147)

在CM311移动热点上运行.NET应用程序(mono)

作者:V君 发布于:2018-7-25 19:06 Wednesday 分类:折腾手记

TL;DR 

去软件仓库 (这里) 找主程序和托管核心类库

比如 mono-runtime-sgen_4.8.0.520-0xamarin3_armel.deb

 和 libmono-corlib4.5-cil_4.8.0.520-0xamarin3_all.deb

下载下来用7-zip提取主体

主程序随便放, 把托管库放到 /usr/lib/mono/4.5/ 或目录符号连接到任意地方

赋予执行权限, 即可执行[./mono-sgen ConsoleApp1.exe]. 按提示找缺少的托管库.


需要注意的是CM311跑不了5.x版本以上的mono, 提示libc6丢失. 

要补上估计不容易, 而且存储空间可能也不允许

 

今天没时间扯了,下次有空再扯

标签: C# linux 嵌入式 mono

评论(0) 引用(0) 浏览(329)

在CM311移动热点上将telnet服务设为自启动

作者:V君 发布于:2018-7-25 14:53 Wednesday 分类:折腾手记

TL;DR

1)先通过TTL控制台做实验, 执行[telnetd -b 0.0.0.0]然后从USB或WIFI尝试连接.

2)第个一步骤成功之后找到 /etc/init.d/rcS 用 vi 编辑

 在最后一行前加上启动 telnetd 的命令[/sbin/telnetd -b 0.0.0.0]

3)拿掉TTL,合上盖子,重启. 在PC上用PuTTY之类的终端连上去.


听我扯扯:

在TTL控制台终端操作实在是太折磨人,命令行打到一半总会被输出打断.

就找法子让终端可以走通过C/S方式连上.

最开始的时候凭经验用rc.local,然并卵, 可能是嵌入式linux的缘故

rc.local不工作, 咕狗解决方法顺着线索找到 rc?.d 问号是表示运行级别的数字

选了级别3,在里面创建了脚本, 然而也不管用.


最后用busybox telnetd作为关键字总算找到了 /etc/init.d/rcS 成功实现自启动.

接下来可以定一个小目标比如让mono进来 乂目


看来咱对linux的了解依然是冰山一角的一角,连rc.local和rcS都搞不清楚 _(:з」∠)_

嘛! 反正能捣腾起来就好 (´∀((☆ミつ

 

标签: linux 嵌入式 busybox telnet

评论(0) 引用(0) 浏览(268)

在CM311移动热点上使用TTL控制台取得ROOT

作者:V君 发布于:2018-7-24 19:33 Tuesday 分类:折腾手记

TL;DR:

点击查看原图

准备材料:

 CM311移动热点一只

 2毫米十字螺丝刀一个

 2.54测试夹一个以及杜邦线

 CP2102 USB-TTL转换器一个

步骤:

 取下螺丝,撬开两边的盖子

 用测试夹怼上测试点

 接到USB-TTL适配器

 开PuTTY, 设置波特率115200

 用户名root,密码oelinux123.

PS.

 需要装着电池才能开机

 

 

听我扯扯:

其实在几天前就找到ROOT了,无奈手上的PL和CH芯片的USB-TTL转换器似乎和这货不太兼容

体现在输出参杂乱码, 就咕狗了一圈发现还有一家叫CP, 马云到手之后发现效果还不错!


还是扯一扯取得密码的过程吧, 在启动之后TTL输出的不仅只有Linux引导产生的dmesg内容,

还有一大堆看起来像是没有在release版里移除的日志,非常混淆视听. 细心观察还是发现了

xxxx login: 的输出, 键盘输入也听使唤,多倒腾几下就得到了以下信息:

OpenEmbedded Linux 9615-cdp ttyHSL0

msm 20140416 9615-cdp ttyHSL0

9615-cdp login:

9615-cdp作为关键字喂狗,想找root的密码 , 咕狗首先吐出的是 zte9x15,

这货难道是中兴产的? 然而密码并不对, 接着用OpenEmbedded来作为关键字

总算找到了这么一个密码 oelinux123 ,登录成功, ROOT拿到了.

对于连默认密码都不改的情况, 让咱想起了用DEMO出产品的情节

嘛, TTL藏在肚子里, 拆螺丝失去保修, 还得用测试夹来接通, 一般用户也不会这么折腾吧...

但咱就是偏偏看他不爽要试着整整看.


最初把这玩意连到电脑上之后, 见到任务栏弹出Linux-USB Gadget就知道这货是Linux了

之后又进一步用NMAP试着找找看有没有ssh或者telnet, 很遗憾没有扫出来.

接着就到这样了, 心一横拆开看看, 发现里面有TX/RX测试触点,

然后经历了乱码充斥的找密码过程, 嗯嗯 接下来看看怎么把SSH或telnet装上.

然后再看看能不能用这个家伙跑Socks5以及试着调整参数看看能不能用电信4G.

标签: linux 控制台 嵌入式 串口 TTL

评论(0) 引用(0) 浏览(411)

活久见:有些异常是不能被catch(Exception)捕获的,你得把catch参数去掉

作者:V君 发布于:2017-6-14 0:25 Wednesday 分类:折腾手记

TL;DR: 

当你发现本应被捕获的异常却被无视 try-catch 语句时,

你应该试着去掉 catch(Exception ex) 中高亮的部分

写成 try {....} catch{....} 这种写法将不能直接取得异常实例,

你可以将上下文对象值记录下来作为排查线索。


本例:

将 MVC 5.2.3 站点部署到装了 mono 4.2.2 的Debian@树莓派。

首先就遇到一大堆兼容性问题。去掉一系列不兼容的组件。

(ApplicationInsights系列、CodeDom系列

总算能报出些看起来有点线索的异常。

System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
  at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (System.Reflection.Assembly,bool)
  at System.Reflection.Assembly.GetTypes () <0x721db540 + 0x00023> in <filename unknown>:0 
  at Ease.Ioc.IocManager.RegisterInterface (System.Reflection.Assembly[] assemblies, System.Type iface,
System.Func`1 lifetimeManager) <0x721db0c0 + 0x000fb> in <filename unknown>:0 
  at Ease.Ioc.IocManager..ctor () <0x721fb130 + 0x00283> in <filename unknown>:0 
  at Ease.Ioc.IocManager..cctor () <0x721faff8 + 0x00027> in <filename unknown>:0 

这是模仿 ABP 在当前应用域中的所有程序集中寻找实现了指定接口的类,然后加到 IoC 容器。

(哎……谁让 ABP 还不支持 mono 呢。。。)

在对某个程序集调用 GetType 时爆炸了……

于是在其周围加上常规异常处理 try-catch(Exception) 试图找出有问题的程序集。

然而异常依旧引发,就跟没写 try-catch(Exception) 一样……

试着调整方法结构,避免一些在首次访问方法就引发异常的状况 —— 无果……

心一横,去掉 catch 语句的参数,记下当前调用 GetTypes 的程序集。

try
{
types.AddRange(asm.GetTypes().Where(p => false == p.IsAbstract && false == p.IsInterface && iface.IsAssignableFrom(p)));
}
catch
{
throw new Exception("Asm load fail?" + asm);
}

功夫不负有心人 or 瞎猫撞上死耗子? bingo! 抓到你啦!

Asm load fail?System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

咋办? 没办法哇! 试着把引用干掉看看吧…… 果然就没事儿了!

稍稍去了解一下那玩意儿,发现是一堆辅助类, 反正一时半会也用不上。


于是就这样,用作类似 Hello world 的站点首页就成功呈现出来啦!

 —— 尽管是乱码…… 因为偷懒直接输出 Content 嘛! 接下来可以慢慢折腾啦!

标签: 软件开发 树莓派 C# linux mono 运行时错误

评论(0) 引用(0) 浏览(737)

Powered by emlog 去你妹的备案 sitemap