Posts Debian&ubuntu&xpenology 启动相关知识整理
Post
Cancel

Debian&ubuntu&xpenology 启动相关知识整理

对内核深度定制的话会涉及 initramfs 中的内容,当内核加载后会执行里面的内容(怀疑 bzImage 包含 initrd 内容);点击参考什么是initrd

注意以下针对的版本:

  • Ubuntu <= 14.04 / trusty
  • Debian <= jessie / sid
  • XPEnology = DS3615xs / 5.2

启动过程

以下图片信息摘自于:IBM 文档

IMAGE

Synology/XPEnology

在新版的linux发行版中,都采用了 systemd 启动方式;但在老的版本中,还有一些使用 UpStart 技术进行管理后台运行程序,当然synology5 是基于 Debian 进行改装的版本同样采用了此方式进行管理后台服务(UpStart 由 Ubuntu 早先开发的),具体参考Linux如何管理后台服务

由于使用了此 linux 发行版,在安装的时候可以利用 synology assistant 把启动盘和安装文件分离进行远程安装颇有疑惑,所以零零碎碎学习了很多相关的linux知识;在论坛提供的启动盘制作镜像中,采用的是 syslinux 用来加载 zImage(Linux kernel),根据启动配置的一些参数(包括序列号等)我怀疑这个 zImage 是刻意定制过的。

XPEnoboot_DS3615xs_5.2-5644.5.img

后缀名为img结尾的镜像属于软盘或闪存(U盘)烧制使用的,在syslinux boot loader中其核心配置采用isolinux.cfg,具体参考:isolinux wiki

XPEnoboot_DS3615xs_5.2-5644.5.iso

后缀名为 iso 结尾的镜像属于 LiveCD&CD/ROM 烧制使用的,在syslinux boot loader中其核心配置采用syslinux.cfg,具体参考:syslinux wiki

** 黑群晖一些记录项 **

Upstart 相关

Upstart 的 Job 目录 /etc/init

写一个示例:

/etc/init 目录新建 mytest.conf 脚本文件:

1
2
3
4
5
6
7
8
9
10
11
author "caryyu"
description "this is first test script"

start on carystart
stop on carystop

console log

script
exec echo "Hello World"
end script
  • console log 输出到 /var/log/upstart/mytest.log
  • console output 输出到 /dev/console ,但有时当前的用户控制台用的 /dev/tty ,可以调试 echo 123 >> /dev/tty

运行以上示例

1
2
3
initctl reload-configuration
initctl emit carystart
cat /var/log/upstart/mytest.log

常用的方法

  • initctl list - 查看服务列表
  • initctl start servicename - 启动服务
  • initctl stop servicename - 停止服务
  • 开机自动启动

    /etc/init/ 目录下存在 servicename.override 文件,内容包含 start,或者这个文件不存在。

  • 开机非自动启动

    /etc/init/ 目录下存在 servicename.override 文件,内容包含 manual

工具箱

  • Binwalk - 用来分析压缩包的信息,如内核 bzImage 包含 initrd 的内容,查看 Binwalk 详情。

一些参考

http://tech.youmi.net/2016/01/128743607.html http://upstart.ubuntu.com/getting-started.html https://www.ibm.com/developerworks/cn/linux/1407_liuming_init2/ http://blog.fens.me/linux-upstart/ http://www.cnblogs.com/silenceli/p/3546425.html https://unix.stackexchange.com/questions/106656/how-do-services-in-debian-work-and-how-can-i-manage-them

This post is licensed under CC BY 4.0

如何使用 spring mvc 进行单文件与多文件上传的三种情况

软考知识点整理

Comments powered by Disqus.