2023-02-14 04:20:10    8535    0    0

未经授权,禁止转载
授权转发如下:
Tank:https://www.mi-d.cn/4666
老高:https://www.bilibili.com/video/BV1eT411D7zb
网站评论使用 Disqus,需要评论请科学上网。

置顶信息

推荐我的黑群晖 i225&i226 驱动:https://github.com/jim3ma/synology-igc

更新记录

群晖已经发布了 DSM 7.2 beta,目前发布的 SA6400 引导不支持直接升级,请务必不要手动升级。适配 DSM 7.2 的 SA6400 引导驱动完善中,后面择期开放测试。PS: 目前放出来的 SA6400 DSM 7.2 非常非常初期,很多内核参数都是为了 DEBUG 打开的,会导致很多意想不到的问题,请勿升级。

  • 2023-02-15: 更新 PVE 创建虚拟机需要的配置
  • 2023-02-15: 更新支持的核显设备 ID 列表
  • 2023-02-17: 更新 igc 驱动,支持 i226 网卡
  • 2023-02-18: 更新 usb 键盘驱动
  • 2023-02-18: 更新螃蟹网卡驱动
  • 2023-02-20: 新增 vmware 虚拟显卡 vmwgfx 驱动,VirtIO GPU 驱动
  • 2023-02-24: 更新默认配置,强制开启 SHR 模式支持
  • 2023-03-06: 更新 arpl 到 1.1-beta2a,支持 NVMe SSD 缓存,可在存储页面直接添加缓存
  • 2023-03-20: 修复 r8168 驱动因为 oob 被群晖自动卸载的问题

实测 NVMe SSD 支持添加为存储池,具体方法请自行研究

已知问题

  • PVE + N5105 下虚拟卡直接退出,无明显异常

目前群友推测可能是 CPU BUG 所致,可以自行在 PVE 下安装微码补丁,参考英特尔官方文档:https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/tree/main#late-load-update,或者这里:https://blog.lucien.ink/archives/536/

  • 某些网卡无法获取 IP,可能是驱动不全导致的,请自行

2022-12-07 12:11:41    600    0    0
## 测试设备 * 硬酷 R1 N6005 16G ![r1](https://github.com/KoolCore/wiki.ikoolcore.com/blob/main/pic/R1-banner-2023.jpg?raw=true) * 威联通 QSW-M2116P ![qsw](https://www.qnap.com/i/_attach_file/product/photo/8
2022-11-28 02:37:00    251    0    0

1. 使用 Charles 获取 API Token

随便用客户端创建个 Docker 容器,查看 Token:

  1. 'http://192.168.3.125:9999/containers/create?name=hack&ugreen_nas_model=docker&api_token=xxxxGJkMTIyMzM0Y2YxYTBlZTJmZGI2MDhlODE0YjM4YzhiODhkYg%3D%3D'

Token 示例:

  1. xxxxGJkMTIyMzM0Y2YxYTBlZTJmZGI2MDhlODE0YjM4YzhiODhkYg%3D%3D

2. 创建 Hack 容器

创建容器配置 container.json

container.json 文件内容如下:

  1. {
  2. "_query": {
  3. "name": "hack"
  4. },
  5. "name": "hack",
  6. "AttachStdout": false,
  7. "AttachStderr": false,
  8. "ExposedPorts": {},
  9. "Tty": true,
  10. "OpenStdin": true,
  11. "Env": [
  12. "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
  13. ],
  14. "Cmd": [
  15. "/bin/sh"
  16. ],
  17. "Healthcheck": {},
  18. "Image": "alpine:latest",
  19. "Volumes": null,
  20. "Entrypoint": null,
  21. "OnBuild": null,
  22. "Labels": null,
  23. "HostConfig": {
  24. "PidMode": "host",
  25. "Privileged": true,
  26. "Devices": [
  27. {
  28. "CgroupPermissions": "mrw",
  29. "PathInContainer": "/dev/dri/renderD128",
  30. "PathOnHost": "/dev/dri/renderD128"
  31. },
  32. {
  33. "CgroupPermissions": "
2022-02-23 03:16:55    95    0    0
> https://docs.docker.com/registry/spec/auth/token/ ## 分步骤 ### 1. 获取认证地址 ``` curl -i -I https://harbor/v2/library/alpine/manifests/latest ``` ``` HTTP/1.1 401 Unauthorized Content-Length: 152 Con
2021-12-22 01:51:22    118    0    0
# Linux ## Update UEFI ``` # find and fix Windows update-grub2 ``` ## Add UEFI ⌘ ``` # efibootmgr -c -L "
2020-07-23 10:45:33    217    0    0
# 自签 CA > 参考 https://2heng.xin/2018/12/16/your-own-ca-with-openssl/ 并修改部分参数 ``` #!/bin/bash openssl genrsa -out cakey.pem 2048 cat << EOF > root.conf [ req ] default_bits = 2048 default_keyfile
2019-03-06 09:02:24    187    0    0
# 提名图书统计 陶哲轩实分析(第3版) http://www.ituring.com.cn/book/1822 陶哲轩教你学数学 http://www.ituring.com.cn/book/2049 数学分析八讲(修订版) http://www.ituring.com.cn/book/1622 Spark高级数据分析(第2版) http://www.ituring.com.cn/bo
2018-06-19 03:42:21    95    0    0
Repost from [https://codeburst.io/javascript-es-2017-learn-async-await-by-example-48acc58bad65](https://codeburst.io/javascript-es-2017-learn-async-await-by-example-48acc58bad65) > Async/Await expla
2018-06-15 06:37:42    286    0    0
# 生成自签CA以及证书 ## 1. 生成X509格式的CA自签名证书 ``` openssl req -new -x509 -keyout ca.key -out ca.crt # 去除密码 openssl rsa -in ca.key -out ca.key ``` ## 2. 生成服务端的私钥(key文件)及csr文件 ``` openssl genrsa -des3 -out s
2017-12-24 07:23:20    281    0    0

Use unexported variables

The unexported variables

unexport/i.go

  1. package unexport
  2. var i int
  3. func init() {
  4. i = 2
  5. }

The new variables points the unexported variables

main.go

  1. package main
  2. import (
  3. "fmt"
  4. _ "unsafe"
  5. _ "unexport"
  6. )
  7. //go:linkname I unexport.i
  8. var I int
  9. func main() {
  10. fmt.Println(I)
  11. }

Use unexported functions

  1. package main
  2. import (
  3. "fmt"
  4. "github.com/alangpierce/go-forceexport"
  5. )
  6. func main() {
  7. var timeNow func() (int64, int32)
  8. err := forceexport.GetFunc(&timeNow, "time.now")
  9. if err != nil {
  10. // Handle errors if you care about name possibly being invalid.
  11. fmt.Println(err)
  12. }
  13. // Calls the actual time.now function.
  14. sec, nsec := timeNow()
  15. fmt.Printf("%v %v", sec, nsec)
  16. }