相信大家都有一个共识,树莓派的可折腾性带来的乐趣远大于其本身。正应了那句话,麻雀虽小但五脏俱全。在小编这主要给它定义了三种用途,也对应着三个系统,分别是Raspbian、Kali和OpenWRT。Raspbian可用作日常上网、临时便捷服务器、测试用机等。Kali提供了便利的审计软件及很多受欢迎的开源工具,树莓派搭载它可以随时随地对网络进行测试及管理。当然,OpenWRT实现了回到家它就变身一个智能路由器。相信各位都很喜欢。
小编眼里的它
我不介意给各位分享小编的树莓派的真容,或者会触发各位一些灵感,小编也很开心了。看图
话说细心的各位不知有没看出一些小细节,注意小编的电源处两根输出线,
黑色那根是1A电流输出,而白色那根是2A输出,这里的移动硬盘是以前退役的笔记本的硬盘改的,至少需要500mA电流可供其稳定运行,直接插在树莓派上可想运转都成问题,这里的Hub带有独立供电口,而且输出电流为1A既保障了硬盘的供电也支持了无线网卡的稳定供电需求。不出意外这20000毫安的充电宝可连续待命24小时以上。
安装多系统
在正式开始之前先看一下小编硬盘的布局,下面就是最终的效果,这里充分利用了它的价值,一方面给树莓派提供系统支持,另一方面可作系统维护盘及数据拷贝盘使用。所以会觉得分区比较多。
Patition 7以前的分区是noobs自己划分的,后面的分区是小编根据需求调整的。Patition 8到Patition 11分别是kali和OpenWRT。Patition 12用作系统UEFI安装盘制作分区,Patition 13用作数据交换的分区,比如日常拷贝数据,Patition 14是Mac OS X 10.13.6安装盘。
(1)在https://www.raspberrypi.org/downloads/noobs/页面选择离线版的NOOBS安装包。
(2)将移动硬盘转为传统MBR模式并将其格式化为fat32格式。注意是一个分区。
(3)将离线版NOOBS的zip包解压后复制到移动硬盘的fat32分区的根目录。
(4)需将树莓派3B设置为能够从usb启动,详情请google。
(5)给树莓派加电,它会自动执行noobs的初始化脚本,包括对硬盘分区。在逻辑分区里最大的那个root分区就是需要调整的对象。也就是末尾的那个分区。
(6)在linux下推荐使用gparted工具对其进行进一步的分区操作,先卸载最后一个分区,后缩小它的大小,相应的后面会多出空闲的部分去新建分区。可以参考小编的硬盘结构做相应的调整。
(7)编辑SETTINGS分区下的installed_os.json
文件,追加两条启动菜单,其他选项可以不变,只需把name
项改成自己的操作系统的名字即可,还有就是系统占用的哪几个分区也要加上。修改后如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
[
{
"bootable" : true,
"description" : "A port of Debian Stretch for the Raspberry Pi (full desktop version)",
"folder" : "/mnt/os/Raspbian",
"icon" : "/mnt/os/Raspbian/Raspbian.png",
"name" : "Raspbian",
"partitions" : [
"/dev/sda6",
"/dev/sda7"
],
"release_date" : "2018-06-27",
"supported_models" : [
"Pi Model",
"Pi 2",
"Pi Zero",
"Pi 3",
"Pi Compute Module 3"
]
},
{
"bootable" : true,
"description" : "A port of Debian Stretch for the Raspberry Pi (full desktop version)",
"folder" : "/mnt/os/Raspbian",
"icon" : "/mnt/os/Raspbian/Raspbian.png",
"name" : "Kali",
"partitions" : [
"/dev/sda8",
"/dev/sda9"
],
"release_date" : "2018-06-27",
"supported_models" : [
"Pi Model",
"Pi 2",
"Pi Zero",
"Pi 3",
"Pi Compute Module 3"
]
},
{
"bootable" : true,
"description" : "A port of Debian Stretch for the Raspberry Pi (full desktop version)",
"folder" : "/mnt/os/Raspbian",
"icon" : "/mnt/os/Raspbian/Raspbian.png",
"name" : "OpenWRT",
"partitions" : [
"/dev/sda10",
"/dev/sda11"
],
"release_date" : "2018-06-27",
"supported_models" : [
"Pi Model",
"Pi 2",
"Pi Zero",
"Pi 3",
"Pi Compute Module 3"
]
}
]
|
(8)将Kali for pi3和OpenWrt的系统解压出image文件,后在linux下进行挂载,使用cp -a src_dir dist_dir
命令将对应分区的内容保持原属性拷贝到移动硬盘的分区。
(9)在kali的启动分区下编辑加入os_config.json
文件,内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
{
"description" : "A port of Debian Stretch for the Raspberry Pi (full desktop version)",
"flavour" : "Kali",
"imagefolder" : "/mnt/os/Kali",
"keyboard" : "gb",
"language" : "en",
"partitions" : [
"/dev/sda8",
"/dev/sda9"
],
"release_date" : "2018-06-27",
"videomode" : 0
}
|
(10)修改kali启动分区下文件cmdline.txt
的root分区为实际的位置/dev/sda9
。
1
|
dwc_otg.fiq_fix_enable=2 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/sda9 rootfstype=ext4 rootwait rootflags=noload net.ifnames=0
|
(11)修改kali分区/dev/sda9
下etc/fstab
所对应的启动分区和root分区即可完成kali的初始化配置,至此可选择从Kali菜单启动了。
(12)在OpenWRT的启动分区下编辑加入os_config.json
文件,内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
{
"description" : "A port of Debian Stretch for the Raspberry Pi (full desktop version)",
"flavour" : "Kali",
"imagefolder" : "/mnt/os/OpenWRT",
"keyboard" : "gb",
"language" : "en",
"partitions" : [
"/dev/sda10",
"/dev/sda11"
],
"release_date" : "2018-06-27",
"videomode" : 0
}
|
(13)修改OpenWRT启动分区下cmdline.txt
为:
1
|
dwc_otg.lpm_enable=0 console=serial0,115200 kgdboc=serial0,115200 console=tty1 root=/dev/sda11 rootfstype=squashfs,ext4 rootwait
|
结语
到此,基本实现了树莓派的多系统安装,文中有些跳跃的地方,但都是经过实践证明过的,需要各位多花些心思折腾,写的不是太细,望见谅。重要的是思路。