-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
325 lines (279 loc) · 35.8 KB
/
index.html
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
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
<!DOCTYPE html><html lang="zh-Hans" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0,viewport-fit=cover"><title>SmallTalk - Stay Hungry, Stay Foolish.</title><meta name="author" content="wanix1988"><meta name="copyright" content="wanix1988"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="Wanglinwei's Blog">
<meta property="og:type" content="website">
<meta property="og:title" content="SmallTalk">
<meta property="og:url" content="https://wanix1988.github.io/index.html">
<meta property="og:site_name" content="SmallTalk">
<meta property="og:description" content="Wanglinwei's Blog">
<meta property="og:locale">
<meta property="og:image" content="https://wanix1988.github.io/img/avatar.png">
<meta property="article:author" content="wanix1988">
<meta property="article:tag" content="Computer,Programming,Math,Machine Learning,Deap Learning">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://wanix1988.github.io/img/avatar.png"><link rel="shortcut icon" href="/img/avatar.png"><link rel="canonical" href="https://wanix1988.github.io/index.html"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="css/index.css?v=4.13.0"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/[email protected]/dist/fancybox/fancybox.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: {"path":"/search.xml","preload":false,"top_n_per_article":1,"unescape":false,"languages":{"hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found"}},
translate: undefined,
noticeOutdate: undefined,
highlight: {"plugin":"highlight.js","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
copy: {
success: 'Copy Successful',
error: 'Copy Error',
noSupport: 'Browser Not Supported'
},
relativeDate: {
homepage: false,
post: false
},
runtime: '',
dateSuffix: {
just: 'Just now',
min: 'minutes ago',
hour: 'hours ago',
day: 'days ago',
month: 'months ago'
},
copyright: undefined,
lightbox: 'fancybox',
Snackbar: undefined,
infinitegrid: {
js: 'https://cdn.jsdelivr.net/npm/@egjs/[email protected]/dist/infinitegrid.min.js',
buttonText: 'Load More'
},
isPhotoFigcaption: false,
islazyload: false,
isAnchor: false,
percent: {
toc: true,
rightside: false,
},
autoDarkmode: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: 'SmallTalk',
isPost: false,
isHome: true,
isHighlightShrink: false,
isToc: false,
postUpdate: '2024-06-29 22:29:34'
}</script><script>(win=>{
win.saveToLocal = {
set: (key, value, ttl) => {
if (ttl === 0) return
const now = Date.now()
const expiry = now + ttl * 86400000
const item = {
value,
expiry
}
localStorage.setItem(key, JSON.stringify(item))
},
get: key => {
const itemStr = localStorage.getItem(key)
if (!itemStr) {
return undefined
}
const item = JSON.parse(itemStr)
const now = Date.now()
if (now > item.expiry) {
localStorage.removeItem(key)
return undefined
}
return item.value
}
}
win.getScript = (url, attr = {}) => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
script.onerror = reject
script.onload = script.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
script.onload = script.onreadystatechange = null
resolve()
}
Object.keys(attr).forEach(key => {
script.setAttribute(key, attr[key])
})
document.head.appendChild(script)
})
win.getCSS = (url, id = false) => new Promise((resolve, reject) => {
const link = document.createElement('link')
link.rel = 'stylesheet'
link.href = url
if (id) link.id = id
link.onerror = reject
link.onload = link.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
link.onload = link.onreadystatechange = null
resolve()
}
document.head.appendChild(link)
})
win.activateDarkMode = () => {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
win.activateLightMode = () => {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
}
}
const t = saveToLocal.get('theme')
if (t === 'dark') activateDarkMode()
else if (t === 'light') activateLightMode()
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
if (asideStatus === 'hide') {
document.documentElement.classList.add('hide-aside')
} else {
document.documentElement.classList.remove('hide-aside')
}
}
const detectApple = () => {
if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
document.documentElement.classList.add('apple')
}
}
detectApple()
})(window)</script><link rel="stylesheet" href="/css/mycss.css"><meta name="generator" content="Hexo 7.1.1"><link rel="alternate" href="atom.xml" title="SmallTalk" type="application/atom+xml">
</head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="../img/avatar.png" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="../archives/"><div class="headline">Articles</div><div class="length-num">8</div></a><a href="../tags/"><div class="headline">Tags</div><div class="length-num">7</div></a><a href="../categories/"><div class="headline">Categories</div><div class="length-num">2</div></a></div><hr class="custom-hr"/><div class="menus_items"><div class="menus_item"><a class="site-page" href="../index.html"><i class="fa-fw fas fa-home"></i><span> Home</span></a></div><div class="menus_item"><a class="site-page" href="../archives/"><i class="fa-fw fas fa-archive"></i><span> Archives</span></a></div><div class="menus_item"><a class="site-page" href="../tags/"><i class="fa-fw fas fa-tags"></i><span> Tags</span></a></div><div class="menus_item"><a class="site-page" href="../categories/"><i class="fa-fw fas fa-folder-open"></i><span> Categories</span></a></div><div class="menus_item"><a class="site-page" href="../link/"><i class="fa-fw fas fa-link"></i><span> Link</span></a></div><div class="menus_item"><a class="site-page" href="../about/"><i class="fa-fw fas fa-heart"></i><span> About</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background-image: url('/img/pietro-de-grandi-T7K4aEPoGGk-unsplash.jpg')"><nav id="nav"><span id="blog-info"><a href="../index.html" title="SmallTalk"><img class="site-icon" src="../img/avatar.png"/><span class="site-name">SmallTalk</span></a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search" href="javascript:void(0);"><i class="fas fa-search fa-fw"></i><span> Search</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="../index.html"><i class="fa-fw fas fa-home"></i><span> Home</span></a></div><div class="menus_item"><a class="site-page" href="../archives/"><i class="fa-fw fas fa-archive"></i><span> Archives</span></a></div><div class="menus_item"><a class="site-page" href="../tags/"><i class="fa-fw fas fa-tags"></i><span> Tags</span></a></div><div class="menus_item"><a class="site-page" href="../categories/"><i class="fa-fw fas fa-folder-open"></i><span> Categories</span></a></div><div class="menus_item"><a class="site-page" href="../link/"><i class="fa-fw fas fa-link"></i><span> Link</span></a></div><div class="menus_item"><a class="site-page" href="../about/"><i class="fa-fw fas fa-heart"></i><span> About</span></a></div></div><div id="toggle-menu"><a class="site-page" href="javascript:void(0);"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">SmallTalk</h1><div id="site-subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://github.com/wanix1988" target="_blank" title="Github"><i class="fab fa-github" style="color: #24292e;"></i></a><a class="social-icon" href="../mailto:[email protected]" target="_blank" title="Email"><i class="fab fa-envelope" style="color: #4a7dbe;"></i></a><a class="social-icon" href="https://twitter.com/wanglinwei88" target="_blank" title="Twitter"><i class="fab fa-x-twitter"></i></a></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="post_cover left"><a href="2024/06/29/Linux-Kali-%E5%AE%89%E8%A3%85Mysql-MariaDB/" title="Linux(Kali)安装Mysql(MariaDB)"><img class="post-bg" src="/img/pexels-rovenimagescom-949587.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Linux(Kali)安装Mysql(MariaDB)"></a></div><div class="recent-post-info"><a class="article-title" href="2024/06/29/Linux-Kali-%E5%AE%89%E8%A3%85Mysql-MariaDB/" title="Linux(Kali)安装Mysql(MariaDB)">Linux(Kali)安装Mysql(MariaDB)</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2024-06-29T13:37:27.000Z" title="Created 2024-06-29 21:37:27">2024-06-29</time></span></div><div class="content">情景说明因业务需要开展Linux系统内存优化,需要将所有数据源采集后存入数据库,方便后续查询和分析,以及可视化。先在PC上安装MySQL,进行建表和开发过程。
安装过程
使用apt安装mysql-server
sudo apt install mysql-server
使用apt安装的MySQL已经完成了启动和自启动,无需使用systemctl enable/start,可以使用下面的命令来启动/停止/查看状态
1234sudo service mysql status # 查看服务状态sudo service mysql start # 启动服务sudo service mysql stop # 停止服务sudo service mysql restart # 重启服务
安装完成后的MySQL还需要进行设置才能使用,否则无法连接上
sudo mysql_secure_installation
按照步骤输入安装密码,进行选择,完成安装
使用客户端测试连接
错误及其解决方法
Q: 1698 - Access denied for user ‘root‘@’localh ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="2024/04/01/Add-customization-information-in-kernel-boot-time/" title="Add customization information in kernel boot time"><img class="post-bg" src="/img/pexels-pixabay-259915.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Add customization information in kernel boot time"></a></div><div class="recent-post-info"><a class="article-title" href="2024/04/01/Add-customization-information-in-kernel-boot-time/" title="Add customization information in kernel boot time">Add customization information in kernel boot time</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2024-04-01T14:18:08.000Z" title="Created 2024-04-01 22:18:08">2024-04-01</time></span></div><div class="content">
添加自定义启动信息12345678910111213141516171819202122diff --git a/init/main.c b/init/main.cindex 9e6ab6d593bd..24f915fa4bb6 100644--- a/init/main.c+++ b/init/main.c@@ -874,6 +874,8 @@ static void __init print_unknown_bootoptions(void) asmlinkage __visible __init __no_sanitize_address __noreturn __no_stack_protector void start_kernel(void) {+ const char *custom_banner = "Welcome to rpi/Linux compiled by wanix1988";+ char *command_line; char *after_dashes; @@ -893,6 +895 ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="2024/03/17/Pairing-devices-over-Wi-Fi-in-Android/" title="Pairing devices over Wi-Fi in Android"><img class="post-bg" src="/img/pexels-steve-johnson-1509534.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Pairing devices over Wi-Fi in Android"></a></div><div class="recent-post-info"><a class="article-title" href="2024/03/17/Pairing-devices-over-Wi-Fi-in-Android/" title="Pairing devices over Wi-Fi in Android">Pairing devices over Wi-Fi in Android</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2024-03-17T12:36:44.000Z" title="Created 2024-03-17 20:36:44">2024-03-17</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="categories/Android/">Android</a></span></div><div class="content">Android使用Wi-Fi配对的原理和实现原理Android Studio中插件实现的原理
源码
https://cs.android.com/android-studio/platform/tools/adt/idea/+/mirror-goog-studio-master-dev:android-adb/src/com/android/tools/idea/adb/wireless/WiFiPairingServiceImpl.kt
重点函数说明
2.1 检查adb mdns的支持状况
123456789101112131415161718192021222324252627282930313233343536override fun checkMdnsSupport(): ListenableFuture<MdnsSupportState> { // TODO: Investigate updating (then using) ddmlib instead of spawning an adb client command, so that ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="2024/03/12/hello-world/" title="Hello World"><img class="post-bg" src="/img/pexels-rovenimagescom-949587.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Hello World"></a></div><div class="recent-post-info"><a class="article-title" href="2024/03/12/hello-world/" title="Hello World">Hello World</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2024-03-12T04:56:08.308Z" title="Created 2024-03-12 12:56:08">2024-03-12</time></span></div><div class="content">Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="2018/12/04/Debug-Linux-Kernel-With-KGDB/" title="Debug Linux Kernel With KGDB"><img class="post-bg" src="/img/pexels-rovenimagescom-949587.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Debug Linux Kernel With KGDB"></a></div><div class="recent-post-info"><a class="article-title" href="2018/12/04/Debug-Linux-Kernel-With-KGDB/" title="Debug Linux Kernel With KGDB">Debug Linux Kernel With KGDB</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2018-12-04T03:30:00.000Z" title="Created 2018-12-04 11:30:00">2018-12-04</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="categories/kernel/">kernel</a></span></div><div class="content">使用KGDB调试Linux Kernel(20181114)
Grub启动命令行中添加kgdboc=ttyS0,115200 kgdbwait nokaslra) rodata=off
这条好像没什么用?待验证
b)必须添加nokaslr,否则vmlinux符号会对不上,无法正常显示debug信息和下断点
使用socat做转发a) sudo socat -d -d /tmp/vboxsock PTY
记下打印出的转发设备,比如/dev/pts/4
这个操作要在串口连接虚拟机前做,不然就会直接退出,连接不上了
控制台不要关闭
如果没有权限连接/dev/pts/4,可以在gdb中执行下面的命令开启权限
sudo chmod 777 /dev/pts/4
不要在start_kernel处下断点,因为kgdb在start_kernel执行后才初始化,所以不会在start_kernel断下来
References
https://kgdb.wiki.kernel.org/index.php/Main_Page
https://kernelnewbies. ...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="2018/11/13/debug-linux-kernel-with-virtualbox/" title="debug_linux_kernel_with_virtualbox"><img class="post-bg" src="/img/pexels-pixabay-259915.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="debug_linux_kernel_with_virtualbox"></a></div><div class="recent-post-info"><a class="article-title" href="2018/11/13/debug-linux-kernel-with-virtualbox/" title="debug_linux_kernel_with_virtualbox">debug_linux_kernel_with_virtualbox</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2018-11-13T14:25:52.000Z" title="Created 2018-11-13 22:25:52">2018-11-13</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="categories/kernel/">kernel</a></span></div><div class="content">使用VirtualBox搭建Linux Kernel调试平台1.安装linux-source-$(uname -r)a) 最好在Host上安装/编译,然后将linux-source目录挂载到虚拟机中安装,如果在虚拟机中安装和编译,会导致debug kernel的时候无法访问源码和symbols
b) 如果/分区够大(free > 30GB),可以选择放在/usr/src目录下,否则找分区free空间较大的放置,防止空间不够
2.解压/usr/src/linux-source-$(uname -r),并修改相关目录权限3.使用make oldconfig创建模板config4.使用make menuconfig客制化选项 ==> 打开debug开关和所需其他功能5.make -j4 && make modules6.make install && make modules_install7.sudo mkinitramfs 4.15.0 -o /boot/initrd-4.15.8a) 这步必须要做,否则开机找不到initramfs会无法挂载/ ...</div></div></div><div class="recent-post-item"><div class="post_cover left"><a href="2018/08/12/difference-between-stdcall-cdcel-fastcall/" title="difference_between___stdcall___cdcel___fastcall"><img class="post-bg" src="/img/pexels-photomix-company-96627.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="difference_between___stdcall___cdcel___fastcall"></a></div><div class="recent-post-info"><a class="article-title" href="2018/08/12/difference-between-stdcall-cdcel-fastcall/" title="difference_between___stdcall___cdcel___fastcall">difference_between___stdcall___cdcel___fastcall</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2018-08-12T14:51:13.000Z" title="Created 2018-08-12 22:51:13">2018-08-12</time></span></div><div class="content">stdcall、cdcel和__fastcall三者的区别stdcall、cdecl和__fastcall是三种函数调用协议,函数调用协议会影响函数参数的入栈方式、栈内数据的清除方式、编译器函数名的修饰规则等。
调用协议常用场合
__stdcall:Windows API默认的函数调用协议。
__cdecl:C/C++默认的函数调用协议。
__fastcall:适用于对性能要求较高的场合。
函数参数入栈方式
__stdcall:函数参数由右向左入栈。
__cdecl:函数参数由右向左入栈。
__fastcall:从左开始不大于4字节的参数放入CPU的ECX和EDX寄存器,其余参数从右向左入栈。
问题一:__fastcall在寄存器中放入不大于4字节的参数,故性能较高,适用于需要高性能的场合。
栈内数据清除方式
__stdcall:函数调用结束后由被调用函数清除栈内数据。
__cdecl:函数调用结束后由函数调用者清除栈内数据。
__fastcall:函数调用结束后由被调用函数清除栈内数据。
问题一:不同编译器设定的栈结构不尽相同,跨开发平台时由函数调用者清除栈内数据不可行。
...</div></div></div><div class="recent-post-item"><div class="post_cover right"><a href="2018/06/12/Running-Arm64-Linux-Kernel-in-Qemu/" title="Running Arm64 Linux Kernel in Qemu"><img class="post-bg" src="/img/pexels-steve-johnson-1509534.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="Running Arm64 Linux Kernel in Qemu"></a></div><div class="recent-post-info"><a class="article-title" href="2018/06/12/Running-Arm64-Linux-Kernel-in-Qemu/" title="Running Arm64 Linux Kernel in Qemu">Running Arm64 Linux Kernel in Qemu</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2018-06-12T13:44:16.000Z" title="Created 2018-06-12 21:44:16">2018-06-12</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="categories/kernel/">kernel</a></span></div><div class="content">原由看了一下《奔跑吧Linux内核》这本书,决定好好研究一下ARM64平台,包括汇编和Linux Kernel相关的知识。网络上搜索到了之前他人搭建成功的帖子,自己照着做一遍却发现qemu启动后没有任何输出,查看进程占用率却非常高,感觉就是qemu cpu跑飞了。仔细思考后觉得问题一定出在编译器上面,所以下载了linaro提供的最新编译器,果然解决问题。下面把整个流程记录一下,方便后来人。
软件环境
Ubuntu 18.04 LTS
Qemu 2.11.1
Linaro aarch64 linux toolchain
Linux Kernel Torvalds 4.7 or 4.17
软件环境配置说明
Ubuntu 16.04或者18.04应该都没问题,但是12.04或者14.04可能需要源码编译qemu(未验证)
Qemu我尝试了source code build和直接通过sudo apt install qemu-system-aarch64来安装,都没有问题。source code build的时候都指明需要添加--target-list=aarch64-softmmu,我也 ...</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="../img/avatar.png" onerror="this.onerror=null;this.src='../img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">wanix1988</div><div class="author-info__description">Wanglinwei's Blog</div></div><div class="card-info-data site-data is-center"><a href="../archives/"><div class="headline">Articles</div><div class="length-num">8</div></a><a href="../tags/"><div class="headline">Tags</div><div class="length-num">7</div></a><a href="../categories/"><div class="headline">Categories</div><div class="length-num">2</div></a></div><a id="card-info-btn" href="https://github.com/wanix1988"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/wanix1988" target="_blank" title="Github"><i class="fab fa-github" style="color: #24292e;"></i></a><a class="social-icon" href="../mailto:[email protected]" target="_blank" title="Email"><i class="fab fa-envelope" style="color: #4a7dbe;"></i></a><a class="social-icon" href="https://twitter.com/wanglinwei88" target="_blank" title="Twitter"><i class="fab fa-x-twitter"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>Announcement</span></div><div class="announcement_content">雁过留痕</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>Recent Post</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="../2024/06/29/Linux-Kali-%E5%AE%89%E8%A3%85Mysql-MariaDB/" title="Linux(Kali)安装Mysql(MariaDB)"><img src="../img/pexels-rovenimagescom-949587.jpg" onerror="this.onerror=null;this.src='../img/404.jpg'" alt="Linux(Kali)安装Mysql(MariaDB)"/></a><div class="content"><a class="title" href="../2024/06/29/Linux-Kali-%E5%AE%89%E8%A3%85Mysql-MariaDB/" title="Linux(Kali)安装Mysql(MariaDB)">Linux(Kali)安装Mysql(MariaDB)</a><time datetime="2024-06-29T13:37:27.000Z" title="Created 2024-06-29 21:37:27">2024-06-29</time></div></div><div class="aside-list-item"><a class="thumbnail" href="../2024/04/01/Add-customization-information-in-kernel-boot-time/" title="Add customization information in kernel boot time"><img src="../img/pexels-pixabay-259915.jpg" onerror="this.onerror=null;this.src='../img/404.jpg'" alt="Add customization information in kernel boot time"/></a><div class="content"><a class="title" href="../2024/04/01/Add-customization-information-in-kernel-boot-time/" title="Add customization information in kernel boot time">Add customization information in kernel boot time</a><time datetime="2024-04-01T14:18:08.000Z" title="Created 2024-04-01 22:18:08">2024-04-01</time></div></div><div class="aside-list-item"><a class="thumbnail" href="../2024/03/17/Pairing-devices-over-Wi-Fi-in-Android/" title="Pairing devices over Wi-Fi in Android"><img src="../img/pexels-steve-johnson-1509534.jpg" onerror="this.onerror=null;this.src='../img/404.jpg'" alt="Pairing devices over Wi-Fi in Android"/></a><div class="content"><a class="title" href="../2024/03/17/Pairing-devices-over-Wi-Fi-in-Android/" title="Pairing devices over Wi-Fi in Android">Pairing devices over Wi-Fi in Android</a><time datetime="2024-03-17T12:36:44.000Z" title="Created 2024-03-17 20:36:44">2024-03-17</time></div></div><div class="aside-list-item"><a class="thumbnail" href="../2024/03/12/hello-world/" title="Hello World"><img src="../img/pexels-rovenimagescom-949587.jpg" onerror="this.onerror=null;this.src='../img/404.jpg'" alt="Hello World"/></a><div class="content"><a class="title" href="../2024/03/12/hello-world/" title="Hello World">Hello World</a><time datetime="2024-03-12T04:56:08.308Z" title="Created 2024-03-12 12:56:08">2024-03-12</time></div></div><div class="aside-list-item"><a class="thumbnail" href="../2018/12/04/Debug-Linux-Kernel-With-KGDB/" title="Debug Linux Kernel With KGDB"><img src="../img/pexels-rovenimagescom-949587.jpg" onerror="this.onerror=null;this.src='../img/404.jpg'" alt="Debug Linux Kernel With KGDB"/></a><div class="content"><a class="title" href="../2018/12/04/Debug-Linux-Kernel-With-KGDB/" title="Debug Linux Kernel With KGDB">Debug Linux Kernel With KGDB</a><time datetime="2018-12-04T03:30:00.000Z" title="Created 2018-12-04 11:30:00">2018-12-04</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
<i class="fas fa-folder-open"></i>
<span>Categories</span>
</div>
<ul class="card-category-list" id="aside-cat-list">
<li class="card-category-list-item "><a class="card-category-list-link" href="../categories/Android/"><span class="card-category-list-name">Android</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="../categories/kernel/"><span class="card-category-list-name">kernel</span><span class="card-category-list-count">3</span></a></li>
</ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>Tags</span></div><div class="card-tag-cloud"><a href="../tags/debug-linux-kernel-kgdbkdb/" style="font-size: 1.1em; color: #999">debug,linux,kernel,kgdbkdb</a> <a href="../tags/kernel-boot-banner-log/" style="font-size: 1.1em; color: #999">kernel,boot,banner,log</a> <a href="../tags/debug-linux-kernel-virtualbox-kgdb-serial/" style="font-size: 1.1em; color: #999">debug,linux,kernel,virtualbox,kgdb,serial</a> <a href="../tags/Android-adb-Wi-Fi-Pairing/" style="font-size: 1.1em; color: #999">Android,adb,Wi-Fi,Pairing</a> <a href="../tags/kernel/" style="font-size: 1.1em; color: #999">kernel</a> <a href="../tags/Linux-Kali-Mysql-MariaDB/" style="font-size: 1.1em; color: #999">Linux,Kali,Mysql,MariaDB</a> <a href="../tags/C-C/" style="font-size: 1.1em; color: #999">C/C++</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>Archives</span></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="../archives/2024/06/"><span class="card-archive-list-date">June 2024</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="../archives/2024/04/"><span class="card-archive-list-date">April 2024</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="../archives/2024/03/"><span class="card-archive-list-date">March 2024</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="../archives/2018/12/"><span class="card-archive-list-date">December 2018</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="../archives/2018/11/"><span class="card-archive-list-date">November 2018</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="../archives/2018/08/"><span class="card-archive-list-date">August 2018</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="../archives/2018/06/"><span class="card-archive-list-date">June 2018</span><span class="card-archive-list-count">1</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>Info</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">Article :</div><div class="item-count">8</div></div><div class="webinfo-item"><div class="item-name">Total Count :</div><div class="item-count">5.4k</div></div><div class="webinfo-item"><div class="item-name">UV :</div><div class="item-count" id="busuanzi_value_site_uv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">PV :</div><div class="item-count" id="busuanzi_value_site_pv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">Last Update :</div><div class="item-count" id="last-push-date" data-lastPushDate="2024-06-29T14:29:34.109Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">©2018 - 2024 By wanix1988</div><div class="framework-info"><span>Framework </span><a href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>Theme </span><a href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div><div class="footer_custom_text">过去多少快乐记忆, 何妨与你一起去追</div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="Toggle Between Light And Dark Mode"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="Toggle between Single-column and Double-column"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside-config" type="button" title="Setting"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="Back To Top"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div><script src="js/utils.js?v=4.13.0"></script><script src="js/main.js?v=4.13.0"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/[email protected]/dist/fancybox/fancybox.umd.min.js"></script><div class="js-pjax"><script>window.typedJSFn = {
init: (str) => {
window.typed = new Typed('#subtitle', Object.assign({
strings: str,
startDelay: 300,
typeSpeed: 150,
loop: true,
backSpeed: 50,
}, null))
},
run: (subtitleType) => {
if (true) {
if (typeof Typed === 'function') {
subtitleType()
} else {
getScript('https://cdn.jsdelivr.net/npm/[email protected]/dist/typed.umd.min.js').then(subtitleType)
}
} else {
subtitleType()
}
}
}
</script><script>function subtitleType () {
getScript('https://sdk.jinrishici.com/v2/browser/jinrishici.js').then(() => {
jinrishici.load(result =>{
if (true) {
const sub = ["Stay Hungry, Stay Foolish.","让我们面对现实,让我们忠于理想。"]
const content = result.data.content
sub.unshift(content)
typedJSFn.init(sub)
} else {
document.getElementById('subtitle').textContent = result.data.content
}
})
})
}
typedJSFn.run(subtitleType)
</script><script>(() => {
const $mermaid = document.querySelectorAll('#article-container .mermaid-wrap')
if ($mermaid.length === 0) return
const runMermaid = () => {
window.loadMermaid = true
const theme = document.documentElement.getAttribute('data-theme') === 'dark' ? 'dark' : 'default'
Array.from($mermaid).forEach((item, index) => {
const mermaidSrc = item.firstElementChild
const mermaidThemeConfig = '%%{init:{ \'theme\':\'' + theme + '\'}}%%\n'
const mermaidID = 'mermaid-' + index
const mermaidDefinition = mermaidThemeConfig + mermaidSrc.textContent
const renderFn = mermaid.render(mermaidID, mermaidDefinition)
const renderV10 = () => {
renderFn.then(({svg}) => {
mermaidSrc.insertAdjacentHTML('afterend', svg)
})
}
const renderV9 = svg => {
mermaidSrc.insertAdjacentHTML('afterend', svg)
}
typeof renderFn === 'string' ? renderV9(renderFn) : renderV10()
})
}
const loadMermaid = () => {
window.loadMermaid ? runMermaid() : getScript('https://cdn.jsdelivr.net/npm/[email protected]/dist/mermaid.min.js').then(runMermaid)
}
btf.addGlobalFn('themeChange', runMermaid, 'mermaid')
window.pjax ? loadMermaid() : document.addEventListener('DOMContentLoaded', loadMermaid)
})()</script></div><div id="doraemon_to_top"><img alt="doraemon_to_top" onclick="fly_to_top()" src="<FilePath_图片>"></div><script src="/js/my.js"></script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script><div id="local-search"><div class="search-dialog"><nav class="search-nav"><span class="search-dialog-title">Search</span><span id="loading-status"></span><button class="search-close-button"><i class="fas fa-times"></i></button></nav><div class="is-center" id="loading-database"><i class="fas fa-spinner fa-pulse"></i><span> Loading the Database</span></div><div class="search-wrap"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="Search for Posts" type="text"/></div></div><hr/><div id="local-search-results"></div><div id="local-search-stats-wrap"></div></div></div><div id="search-mask"></div><script src="../js/search/local-search.js?v=4.13.0"></script></div></div></body></html>