【解决】用unsquashfs的方法安装通知栏无硬盘信息输出怎么办?
Tofloor
poster avatar
a2035274
deepin
2017-10-09 21:31
Author
本帖最后由 a2035274 于 2017-11-3 18:33 编辑

参考 @MattD
的思路“其实就是解压 squashfs,安装程序的本质也是如此”
在自定义的 btrfs+subvolume 上安装 Deepin 2014

这是我的步骤

0、挂载光盘镜像
  1. deepin@G470:~$ sudo mount -o loop deepin-15.4.1-amd64.iso /mnt
Copy the Code


1、开始“安装”DL,即把filesystem.squashfs解压到/media/deepin/5994e2ed-d3c6-4570-a71e-231430d63d2b/
  1. deepin@G470:~$ sudo unsquashfs -f -d /media/deepin/5994e2ed-d3c6-4570-a71e-231430d63d2b/ /mnt/casper/filesystem.squashfs
Copy the Code

2、等待解压完成,然后我们需要chroot到安装好的系统里面去,进行一些必要的配置:
  1. cd /media/deepin/5994e2ed-d3c6-4570-a71e-231430d63d2b/
  2. deepin@G470:~$ sudo mount --bind /dev dev
  3. deepin@G470:~$ sudo mount --bind /dev/pts dev/pts
  4. deepin@G470:~$ sudo mount --bind /proc proc
  5. deepin@G470:~$ sudo mount --bind /sys sys
  6. deepin@G470:~$ sudo chroot /mnt /bin/bash
Copy the Code

3、先来配置/etc/fstab,通常按照我的这一份来即可,也可以自己定义一些选项:
  1. root@G470:/# nano /etc/fstab
  2. /dev/mapper/deepin--vg-home /   ext4 rw,relatime,data=ordered   0 1
Copy the Code


4、然后修改/etc/hostname,改为自己喜欢的主机名。另外,修改下默认的locale。方法是创建/etc/default/locale文件,写入以下内容:

  1. root@G470:/# nano /etc/hostname
  2. 输入G470
Copy the Code

  1. root@G470:/# nano /etc/default/locale
  2. 输入
  3. LANG=zh_CN.UTF-8
  4. LANGUAGE=zh_CN
Copy the Code

  1. root@G470:/# nano /etc/hosts
  2. 输入
  3. 127.0.0.1        localhost
  4. 127.0.1.1   G470
  5. # The following lines are desirable for IPv6 capable hosts
  6. ::1     ip6-localhost ip6-loopback
  7. fe00::0 ip6-localnet
  8. ff00::0 ip6-mcastprefix
  9. ff02::1 ip6-allnodes
  10. ff02::2 ip6-allrouters
Copy the Code


5、创建新用户,按照我的示例即可:

  1. root@G470:/# useradd -m -G lp,sudo,users,netdev,lpadmin,scanner,sambashare deepin
  2. root@G470:/# nano /etc/gshadow

  3. 在倒数弟二行sambashare:!::deepin后面加上‘,root’
Copy the Code
根据 https://bbs.deepin.org/user/252 的解释是这里需要加useradd -s /bin/bash deepin否则终端会出现无主机名用户名的问题

6、别忘了设置root和用户密码:
  1. root@G470:/# passwd deepin
Copy the Code


#7、通过visudo命令,把你的用户加入sudoer,在root ALL=(ALL:ALL) ALL下面添加一行:

  1. root@G470:/# visudo
  2. 输入
  3. deepin ALL=(ALL:ALL) ALL
Copy the Code


8、然后,我们需要修改几个配置文件,以便initramfs能包含所有必要的模块。先是修改/etc/modules配置文件,用命令或文本编辑器添加指定模块即可:
  1. root@G470:/# nano /etc/modules
  2. 输入
  3. bbswitch
  4. block_sogou
  5. brcmsmac
Copy the Code


9、然后是修改/etc/initramfs-tools/modules文件,用命令或文本编辑器添加指定模块即可:
此处不懂,没有乱改

10、然后我们更新一下initramfs,使其包含所有必要的模块:
  1. root@G470:/# update-initramfs -u -k all
Copy the Code

11、好了,现在可以安装grub2,并生成配置文件了:
  1. root@G470:/# grub-install /dev/sda
  2. root@G470:/# update-grub
Copy the Code


12、重启进系统,输入法安装
  1. sudo apt-get install fcitx fcitx-table fcitx-table-wbpy

Copy the Code


商店安装sougou输入法


成功启动后发现一点问题,就是右侧的通知栏无法读到磁盘信息。还有就是终端也无主机信息和用户名,而且也不支持命补全。已经仔细查看了~/.bashrc无错误



Reply Favorite View the author
All Replies
woodelf
deepin
2017-10-09 22:38
#1
前几天刚好试了下,2015和2014版的解压安装有点区别,但是整体问题不大。
新建用户时候需要用-s参数指定下login shell,否则默认就是sh(dash)了,就变成这种只有提示符,没有PS1显示的情况。用户已经建立的话,用chsh改一下login shell就可以了。
另外就是,控制中心的磁盘信息模块貌似只能读取常规分区情况下的磁盘容量,对于LVM、mdadm可能支持不太好(想起来以前跑FreeBSD+ZFS时候,gnome控制中心显示的磁盘容量也是0B)。







    来自:Mozilla/5.0 (X11; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0  (zh-CN)
    ——2017/10/9 下午2:38:16
    Reply View the author
    a2035274
    deepin
    2017-10-10 00:21
    #2
    https://bbs.deepin.org/post/146456
    前几天刚好试了下,2015和2014版的解压安装有点区别,但是整体问题不大。
    新建用户时候需要用-s参数指定下l ...

    非常感谢,太意外了竟然是这里的问题。
    Reply View the author