-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathfinal_essay.txt
291 lines (201 loc) · 25.5 KB
/
final_essay.txt
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
只记录文字部分,格式自己去调。
【1】页边距,正文页眉"成都理工大学2012届学士学位论文",页脚即页码,字符间距默认。
【2】
题目: 基于高通平台的系统移植设计与实现
作者姓名:何旋
专业班级:成都理工大学信息科学与技术学院信息工程3班
指导教师:贾勇
摘要内容:目的 方法 成果 结论;
随着android,ios等智能系统的手机终端的攻城略地,一个优秀的手机操作系统是手机质量高低的必要判决条件之一,带着对智能手机系统的好奇心,自己决定用一定的时间内去了解这个生态圈中并不火热的一个操作系统--firefox-OS,通过本过程去学习相关工具的使用和了解手机系统共通的部分,抱着学习系统移植基础知识为目的,通过查阅firefox的官方移植手册和学习相关爱好者论坛的文章和技术博客等方法,并参考android系统移植的先例,尝试性的去将firefox的系统移植到我们正在使用的使用高通芯片的android设备上面,该论文最终并没有完全达到系统完整性移植的目的,但却是firefox这一冷门手机系统移植的一次尝试,总结出许多在移植过程中遇到的实际问题,作者本人也还需要多多学习总结,在今后的工作中将其融会贯通。
关键词:火狐系统;系统移植;高通;智能手机
【3】
英文题目:Firefox OS porting based on Qualcomm platform
。。
abstract:
With the development of smart phone,such as android,ios,the mobilephone OS‘s cake was carved up by these two OSs gradually。there is no doubt that a better operating system will affect our judgement to a smart phone。With the curiousity about the smart phone system,i decide to learn about the firefox OS even if which is not popular in the smart phone ecosystem,Through this process to learning some correlative developer tools and understand the common parts of the mobile phone OS。
For the purpose of learning basic knowledge of system porting,with the help of the firefox system porting documents and relevant forum articles or technical blogs,also refer to the android system porting precedent,intending to porting the firefox OS to the android devices which is using qualcomm chip。
This paper hasn't completely achieve the goal of system porting very well,but a good attempt on this unpopular mobile phone OS,it sums up a lots of actually issues in the porting process,the author also need more study and summary,digest these knowledge in the future work。
keywords:firefox OS;OS porting;qualcomm;smart phone;
【4】目录
【5】前言
0.1 随便说说
现在,智能手机已经成为我们生活中不可或缺的一部分,每个人几乎都有一个或多个的智能手机,而手机系统也是人们判断一个手机好坏的标准之一,从2007,2008年ios和android的初出茅庐,到如今的智能手机系统市场的平分天下,它们的发展势头有目共睹。为什么一个好的智能手机系统能带来如此大的竞争力?这引起了笔者对于智能手机系统的兴趣,作为一个信科院的学生,为了选择适合自己的研究方向,于是最终决定了从底层基础出发,以学习智能手机系统的架构和实用开发工具为目的,尝试将系统整体移植到一个新设备上,从而去更深入的了解在这个手机生态圈的发展趋势和技术难点。最终我选择了一个并不热门的火狐的手机系统,为什么我没有选择android或者ios作为调研的目标?一是android和ios已经存在很多相关的技术文档,在系统移植这方面实际上也是已经有很多现成的开发成果,我们重复去做的意义不大,二则是借助一个并不是很通用的手机系统,去了解所有手机系统的共通点,由点发散为面,增强自己的综合学习能力,第三点考虑则是现有条件的允许,在当前实习公司的合作开发项目,需要去了解一下android底层和modem侧相关内容,由系统入手是一个不错的切入点。
0.2 发展现状和发展趋势
在百度学术上也可以找到很多相关的嵌入式移植,uboot移植,android系统移植等等,但firefox系统移植的信息就个人查阅来看,是完全没有相关可以参考的文献或期刊,主要原因也是此系统过于冷门,愿意去尝试的人实在太少,所以我们能够借助的只有火狐官方的移植手册和相关论坛爱好者的技术分享或博客,以此作为我们攀登的阶梯。
0.3 我们的目标
将火狐手机操作系统移植到一个使用高通芯片的手机上,使其能够正常boot起来。
【6】正文部分
第一章 需求目标和可行性分析
1.1 开始之前
如果你是第一次接触到这一类的文档或开发日志,那么下面的内容会让你对这篇文章中的基础概念有一定了解。
1.1.1 “智能手机系统”,顾名思义类比于桌面操作系统的windows和linux等等,简单来说,硬件方面以各类硬件为基础,软件方面则是由kernel作为底层,以各类驱动,库文件为中间层,上层辅以开发者的应用框架组成的一个操作系统,在这样一个操作系统上可以搭载开发者定制的各类应用程序,我们最熟悉的android便是这样的组成架构。
1.1.2 “火狐手机操作系统”,firefox-OS,原计划名为B2G,是由mozilla公司提出并研发的一个开源项目,它于android之类最大的不同大概就是它是基于html5的技术,也就是说它的上层整体都是基于网页开发的一个操作系统,但由市场情况来看,firefox-OS自推出以来就主要面向中低端的手机市场,不过在ios和android两个巨头的无情掠夺之下,在2015年末,mozilla公司因为firefox-OS一直以来的低迷现象真是宣布了放弃部署手机平台的战略计划,火狐操作系统也由此真正的失去了官方援助。不过我们此次决定的事和这些变故也关系不大,只需要知道这是一个和android一样使用linux-kernel作为底层,但是架构上有所区别的手机系统即可,详细的架构会在后面详细介绍。
1.1.3 “系统移植”,指在允许的硬件条件,驱动相似的设备上,将目标的操作系统成功运行在该设备上,常见的嵌入式系统移植中,一般是经过环境搭建,bootloader移植,kernel移植,最后到根文件系统的移植,手机本身也算是一种ARM架构的嵌入式的设备,因此总的流程也大同小异。
1.2 所以我们要做的是什么?
联系到个人的实际情况,因为个人当前在某ODM公司实习工作的情况,所以firefox-OS系统移植的目标设备,选定是当前实习公司已经量产的一款android手机,主芯片是高通msm8939系列(snapdragon-615),我们需要做的即是对比已经量产手机android系统和将要移植的firefox系统之间的差异,在合适的开发环境下,通过hacking或者参考现有文档或例子的基础上进行源码的裁剪修改,然后完成源码的编译,烧录调试,理想结果当然是手机能成功启动修改后的bootloader(高通平台中一般叫LK),从而成功挂载根文件系统,使手机顺利打开运行。当然这其中必定会遇到很多的问题,也是个人积累开发经验和问题的最佳阶段。
1.3 高通平台介绍
msm8939芯片,对外一般称为高通骁龙615,属于高通600系的芯片,就现在来看,一般用在上一代中高端旗舰手机中,选择高通手机一个原因是现在公司有这样的多余机器允许让我调试,另一个重要原因即是在firefox-OS官方给出的参考移植手册中可以找到相关的基于高通平台的手机(公司namek使用的也是8939平台,google的nexus-5使用的8974,在firefox官方也有对其支持的源码),因此选择相同平台的芯片,即使型号不是完全一致,但很多架构的东西也会有类似,很多XML文件和板级文件需要修改的也会很少,所以移植的难度会减小很多。
msm8939和如今高通的800系一样,大多都采用的AP+BP的双核心合一的解决方案,即将modem芯片和AP芯片集成在一起,msm这三个字母即代指“mobile station modem”,在代码部分,modem的代码和android的代码属于从属关系,modem部分是高通的私有代码,包括modem,trustzone,wcnss,rpm,boot等多个部分,主要是基于当前平台和硬件所进行的配置,而目录/LINUX/android/下的即为android的开源项目源码(aosp),用户根据自己的需要对源码进行修改和剪裁,进行代码的编译烧录,以达成最终的需求目标。
详细的8939芯片的规格信息和本篇论文后面的内容关系不大,我们的开发过程也不会很关心这些部分,因此在这里也就不做详细说明(如果感兴趣可以自行wiki和google,高通的官方技术文档网站如下,需要高通的注册账号,芯片的细节内容一般是不对非使用高通芯片开发人员开放的。https://createpoint。qti。qualcomm。com/dashboard/public/ )
1.4 开发流程概述(即论文会包含的大致内容)
】确定firefox OS的移植目标;
】选定目标硬件设备;(经过相关资料和官方支持芯片的查询,当前自己觉得将firefoxOS移植到高通8939平台的手机上是可以一试的)
】开发环境,编译环境的建立;(由VMware建立的ubuntu14。01LTS的虚拟机环境,各类工具sdk,git,repo,hexagon,opengrok等等)
】了解学习相关的开发工具;(因为自己也是此次移植尝试才第一次接触到诸如git、repo这些工具,所以熟悉这些工具,让自己在以后工作中增加debug效率)
】参考之前查阅资料里的移植开发文档和相关技术博客,概述开发过程;(这一部分基本都是参考标准去做,所以内容也以摘抄为主)
】分析解决实际遇到的问题;(这一部分较为实际,没有什么固定的格式,只能一一列举)
】得到结果,总结得失,编写论文;(因为多方面原因,实际是并没有成功完成firefox的porting,因此尽可能总结自己的得失,概述自己目前得到的成果)
第二章 环境搭建和系统配置
2.1 简要说明
根据标准文档的建议,一般推荐在OSX或ubuntu中进行开发工作,另一方面开发流程中也会涉及到源码的下载和编译,这些操作在ubuntu中进行是比window方便很多的,因此最终选择使用vmware软件建立ubuntu虚拟机作为开发环境的基础。
2.2 VMware搭建ubuntu虚拟机
首先,我们现在是处于windows的操作系统环境下,我使用的是VMware-workstation-full-10。0。1软件工具,成功安装软件后,打开软件进行“新建虚拟机”操作,选择“自定义”,选择默认的兼容性配置,虚拟机系统镜像源选择的是我在ubuntu官网下载的ubuntu-14。04。1-desktop-amd64。iso镜像,下一步确认你的linux主机名和登录用户名及密码,继续下一步选择建立虚拟机的名字和目录地址,之后选择虚拟机的处理器数量和核心数量,内存大小,这些都取决于你自己当前电脑的配置情况而定,“网络连接部分”选择NAT连接即可,磁盘大小选择默认20GB即可,因为后面我们需要下载源代码还会新建磁盘所以这里20GB的磁盘作为系统盘已经足够了,SCSI控制器和虚拟磁盘类型选择推荐设置即可,最后点击“完成”,vmware软件会根据你以上的配置马上开始为你建立虚拟机,这一过程根据你的电脑情况可能会持续几十分钟到数小时,完成之后即会进入到ubuntu虚拟机的登录界面,这里我们先不要进入系统的桌面,先关闭掉虚拟机,如我上面所说我们还需要新添加一个磁盘作为代码保存的磁盘,至于为什么我们不把代码和系统盘放在一起,最重要的原因是因为高通项目的代码一般都较大,仅android源码都有编译前都有20多G,后期包含modem代码完全编译完成之后大小可以大到接近100G,如果虚拟机崩溃不能正常打开,代码的下载是非常耗时的,因此一般我们将代码单独新建一个磁盘存放,这样即使虚拟机崩溃,我们也可以重新新建一个虚拟机,直接向新的虚拟机添加旧的磁盘文件即可,而我们只需要在新的虚拟机做一些小工具和环境变量的配置即可,不需要再一次去重新下载体积过大的源码再进行编译过程,完成“新建磁盘”的操作后,最后再重新开机进入虚拟机,输入登录密码,进入到ubuntu的图形环境中,由此我们的第一步,虚拟机建立也就完成了。
2.3 vmware-tools的安装
在上一步中,使用ubuntu镜像生成虚拟机的过程中,vmware会自动去安装vmware-tools,因为各种原因vmware-tools可能会出现安装失败或者是无法链接到下载点的提示,这里直接取消掉vmware-tools的自动安装即可,在进入ubuntu图形界面后,我们可以进行手动的安装。
在进入系统之后,选择“虚拟机”选项卡中的“可移动设备”中的“CD/DVD”的“设置”,选择使用ISO镜像文件,手动找到vmware软件安装目录下的linux。iso文件作为要加载到虚拟机中的镜像,点击确定,同样在“虚拟机”选项卡中的“可移动设备”中的“CD/DVD”选择“连接”,接着在系统中找到并打开光驱对应的目录,选择vmwaretools的压缩文件,解压该文件,用终端操作进入目录"cd .../.../vmware-tools-distrib"中执行命令"sudo 。/vmware-install。pl",执行安装过程,这里会需要确认一些目录信息,接下来根据提示来操作即可完成vmware-tools的安装。(因为我的虚拟机已经安装过了,这里不再演示安装过程)
vmware-tools的作用主要是可以让我们可以更方便的操作虚拟机,例如可以实现在ubuntu虚拟机和windows主机的剪贴板的共享,虚拟机的全屏和边框自动调整等等。
2.4 ubuntu的源更新
如果你使用的是14。01后的较新的版本,可能不怎么会需要这一个步骤,但如果你的ubuntu系统还是比较老的诸如10+或12。01+的版本那么很可能因为旧版本系统的源失效而导致接下来很多软件的下载和更新出现失败或者找不到有效源的问题。
你需要先备份该文件“/etc/apt/sources。list”以防修改后不成功还可以换回来,备份后修改该文件中的更新源列表内容,这一部分更新源具体链接内容根据你的ubuntu版本直接在网上google,百度即可找到,一定要和系统版本对应,建议选择国内高校的更新源,各大互联网公司也会很多开放的更新源的地址提供,相比国外的更新源网络连接更加稳定,修改后保存此文件,执行以下命令即可"sudo apt-get update"。
2.5 ubuntu的基础环境配置
2.5.1 基础的磁盘分区,格式化和自动挂载
首先在linux中,遇到不清楚具体含义或是参数的命令,都可以用man xx或者xx -h这种形式来向系统提出问题,毕竟我们并不需要时刻记住所有命令的所有参数是什么,但我们必须要有方法知道它是什么。
实例:man fdisk
得到:图2-5-1
fdisk /dev/sdb //fdisk命令,前面我们已经添加了的新磁盘,加上本身的系统盘,总体根据我们自己的实际需求将磁盘来进行分区,我们这里的选择是系统盘保持不变,只将新添加磁盘进行分区,所有的安装软件和项目文件也都放在此处,方便数据恢复。我们将新磁盘分成了两个分区sdb1和sdb2,详情见图2-5-2。
mkfs -t ext4 /dev/sdb1
//对我们分区的sdb1和sdb2分区进行格式化处理,全部都格式化为ext4格式(linux中最常见的文件系统格式)。
mkdir dir1 dir2
mount disk dir
//我们需要访问磁盘,于是就需要将磁盘进行挂载,mount命令会将我们之前分区好的磁盘挂载在一个节点上,而我们就可以通过这个节点去访问这个磁盘里的内容,这个节点通常以“文件夹”的形式展现在我们面前,也就是说我们需要创建两个文件夹来作为以上两个新磁盘分区的挂载点,从而完成挂载过程。
sudo vim /etc/fstab
source /etc/fstab
//以上的挂载操作都是动态执行,一旦我们重启之后,挂载点和磁盘设备之间的映射关系就会消失,所以我们要做的是,修改系统环境参数,使磁盘在开机后自动进行挂载操作。
在/etc/fstab这个文件中参照标准格式将我们需要自动挂载的磁盘分区,磁盘分区类型,挂载点路径等信息填入其中,然后保存文件退出,执行source命令使其立即生效。
参见图2-5-3。
根据提示,完成系统添加磁盘的分区,格式化,和自动挂载的设置,至此我们就可以通过建立的文件夹作为节点访问到我们新建的磁盘,也就可以开始下一步。
2.6 安装必需的软件和开发包
2.6.1 vim
sudo apt-get install vim
如果你是完全处在linux的开发环境下,离开了visual-studio那样的IDE,那么一个优秀的文件编辑器是必不可少的,能够高效的查看代码或修改变量,vim可能就是最好的选择之一(我们需要进行~/.vimrc的配置,各类插件的使用因人而异,我们这里只是从ubuntu的更新源中下载的原始的vim,没有安装任何插件)。
2.6.2 git/repo
vim ~/.bashrc
git,repo代码管理工具的安装,在ubuntu中,git是已经集成其中的所以不需要我们再进行安装,下载repo的源码文件,放在你自己安装软件的常用路径,在“~/.bashrc”文件中添加repo对应的环境变量,即可在终端中使用repo的命令。
PATH=$PATH:"/home/eminem/software/repo/"
2.6.3 sdk和eclipse
在官方网站下载linux端的adt工具包,拷贝到linux虚拟机中,解压文件,在“~/.bashrc”文件中添加如下环境变量:
PATH=$PATH:"/home/eminem/software/sdk/platform-tools/"
PATH=$PATH:"/home/eminem/software/sdk/tools/"
2.6.4 opengrok建立源码索引
Precondition:Ubuntu12.04及以上的64位系统,正常连接互联网。
Steps:
sudo -i
apt-get install -y openjdk-7-jdk tomcat7 ctags
wget https://java.net/projects/opengrok/downloads/download/opengrok-0.12.1.5.tar.gz
tar zxvf opengrok-0.12.1.5.tar.gz -C /usr/local/share/
/usr/local/share/opengrok-0.12.1.5/bin/OpenGrok deploy
浏览器打开http://localhost:8080/source,检查Tomcat和OpenGrok是否已正常工作
生成索引
/usr/local/share/opengrok-0.12.1.5/bin/OpenGrok index /path/to/your_source # 数据将保存在 /var/opengrok/
假定你期望每天凌晨零点自动更新,执行 sudo crontab -e,增加以下行
0 0 * * * /usr/local/share/opengrok-0.12.1.5/bin/OpenGrok index /path/to/your_source
2.7 后期编译所需的工具准备
2.7.1 检查python,perl的版本
自己编译安装python,下载对应python的源码,解压并进入相应目录,可能会用到的命令参考如下:
./configure --prefix=${pwd}, 进行配置
make, 编译
sudo make install, 安装
sudo grdit /etc/profile 修改环境变量
PATH="$PATH:/自己的路径/Python-2.7.x" 在文件末尾加上你自己python的安装路径
export PATH
mv /usr/bin/python /usr/bin/python.bak
ln -s 自己新安装的python地址 /usr/bin/python //建立软连接
python -V
2.7.2 hexagon(modem编译会用到的东西,可能需要建立相应的软链接"ln -s 6.4.01 target-version")
#HEXAGON PATH
export HEXAGON_ROOT="/home/eminem/software/hexagon_tools/"
export ARMTOOLS=QDSP6GCC
export HEXAGON_RTOS_RELEASE=6.4.01
2.7.3 安装编译boot镜像必需的arm的编译器
https://developer.arm.com/products/software-development-tools/compilers/arm-compiler-6/downloads
2.8 在ubuntu上手机相关的一些usb驱动设置:
在/etc/udev/rules.d/android.rules 目录下创建一个文件"android.rules"作为android设备的识别文件,里面内容的格式:
SUBSYSTEM=="usb", ATTR{idVendor}=="901b", MODE="0666", GROUP="plugdev"
chmod修改一下这个文件的权限
sudo service udev restart
sudo udevadm control --reload-rules
添加这个文件"~/.android/adb_usb.ini",在里面加设备的vid
这里遇到了一个问题:正确设置了路径之后,显示无此目录或文件,网上查询问题结果是adb是32位的,linux是64位,缺少某些32位库文件所致,解决如下:
sudo apt-get install lib32bz2-1.0
sudo apt-get install lib32ncurses5 lib32stdc++6
第三章 我们需要的工具
3.1 repo/git
git/repo代码库的ssh链接建立.操作如下:
下载git(ubuntu-14.04里git不再是自带安装的,所以需要我们自己下载)
ssh-keygen -t rsa -C "[email protected]" //获取ssh的密钥,添加id_rsa.pub到你需要建立ssh连接的网站的设置里,例如github.
后面就可以进行正常的代码clone和同步.
3.2 vim
3.3
第四章 我们做了些什么(抄开发流程)
????
将你移植设备的安卓源码进行bulid,编译等操作,确认它的确可以让你的设备启动起来。
在原生代码基础上,根据火狐系统的要求进行代码修改,然后重新编译烧录验证。
安卓源码的下载:repo-->初始化repo客户机-->reposync同步安卓源码树-->下载
第五章 问题和解决方法(调试)
8939转到8974平台成功完成移植,mobee/mirage转到namek
草稿完成
【7】结论
麻烦= =
【8】致谢
麻烦= =
【9】参考文献(文献的格式)
[1]书
[2]电子文献
[1]Mozilla Developer Network and individual contributors.Introduction to Firefox OS[EB/OL].[2005-2016].https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS.
[2]Android Open Source Project.The Android Source Code[EB/OL].[2008-2016].http://source.android.com/source/index.html.
[3]Mozilla-b2g.B2G source code[CP/OL].[2012-2015].https://github.com/mozilla-b2g/B2G.
[4]Qualcomm Technologies,Inc.CreatePoint[J/OL].[2011-2016].https://createpoint.qti.qualcomm.com/dashboard/public/.
[5]三星手机开发者论坛.Firefox-os(B2G)移植流程概谈[EB/OL].[2012-9-23]http://www.sanxing.org/thread-2855-1-1.html.
[6]Robert Love(著),陈莉君,康华(译).Linux内核设计与实现[M].北京:机械工业出版社,2011.6.
[7]俞甲子,石凡,潘爱民.程序员的自我修养——链接、装载与库[M].北京:电子工业出版社,2009.4.
[8]Brian W. Kernighan,Dennis M. Ritchie.The C Programming Language,Second edition[M].Prentice Hall PTR,1988.
[9]鸟哥,王世江.鸟哥的Linux私房菜:基础学习篇(第三版)[M].北京:人民邮电出版社,2010.7
[10]刘民博,邓中亮.基于ARM的嵌入式Linux操作系统移植的研究[J].计算机系统应用,2006(11):87-88.
[11]Mozilla Developer Network.Mozilla wiki B2GOS[EB/OL].[2012-2016].https://wiki.mozilla.org/B2G.
[12]薛东升.Firefox OS的奇幻漂流——全面解析新一代Open Web移动操作系统.程序员[J/OL].http://www.csdn.net/article/2013-04-15/2814887,2013(4).
买书:“金枝”
题外话:
别怕 我不是什么好人
孤独就是下雨天 别人都在等伞 你却在等雨停
小时候刮奖刮出“谢”字还不扔,非要把“谢谢惠顾”都刮的干干净净才舍得放手
If you are still looking for that one person who will change your life, take a look in the mirror。
极端来看,我没有,也不想拥有人际关系,已经很久没有一个人静静的发呆了。
可以卑微如尘土,不可扭曲如蛆虫。
当你们有能力做到时,勿忘初心。
在多数场合,我不是觉得对方乏味,就是害怕对方觉得我乏味。
这世上也许没有不爱说话的人 只看遇到谁
已识乾坤大,仍怜草木青
说到底,悲观是一种远见。鼠目寸光的人,不可能悲观。
我不是六岁小孩,没有最喜欢的颜色。
我已经预见了未来,而你不在那里。
今日,吾有所得,不荒,不废
所以你到底有什么兴趣?自己想做什么?不可能只是打游戏吧?
1。锻炼
2。乐器
3。
想买的东西:
1。一双鞋 预算400
done2。海贼浙美版的单行本(目前为止所有)+5本设定集公式书(红黄蓝绿深蓝) 预算600左右
2。箱娘xx
3。filco键盘 圣手二代 预算1000
4。新手机 预算2000-3000
5。一把普通吉他 预算300
6。新的PC机 预算7000-8000
*7。PS4+一些游戏 预算3000
*8。
星空:
「把眼睛闭上,然后躺下来。可以把眼睛睁开了」「啊!~」「怎么样,阿良良木君」「好厉害,说实话,我已经找不出词来形容了」「你词汇量真贫乏呢。那是天津四、牵牛星、织女星、就是有名的夏日三角。然后从那边横向偏移过去,那一带是蛇夫座。所以巨蛇座就是位于那一带的星星。那边特别亮的星星是角宿一,那一带是处女座。那是巨蟹座,有点不好辨认吗?」「这就是全部了」
「这就是全部了」「嗯……?什么?」「我所拥有的,全部」战场原仰望星空说道。「教你学习,可爱的学妹,以及疏远的父亲。然后是――这片星空。我所拥有的就是这些。我能给阿良良木同学的也就是这些。这些就是,全部」「全部…」什么啊~ 原来是这么回事啊。
「喂,阿良良木同学」战场原平静地说道「喜欢、我吗」「喜欢」「我也喜欢阿良良木同学哟」「谢谢」「你喜欢我什么地方」「全部都喜欢。没有不喜欢的地方」「这样啊。真开心啊」「那你喜欢我什么地方呢」「温柔的地方,可爱的地方,在我遇到困难的时候无论何时都会奔来帮助我像王子大人一样的地方」「真开心啊」
季节:
春樱,夏日,秋月,冬雪。