Updated all covers and small css change
@@ -2,6 +2,7 @@
|
|||||||
title: "STSD: Stop Talking Start Doing"
|
title: "STSD: Stop Talking Start Doing"
|
||||||
date: 2016-10-26 22:50:33 -0400
|
date: 2016-10-26 22:50:33 -0400
|
||||||
tags: Diary
|
tags: Diary
|
||||||
|
cover: '/static/2024-04/logo.png'
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ title: "Using charles proxy to monitor mobile SSL traffics"
|
|||||||
date: 2016-10-27 22:50:33 -0400
|
date: 2016-10-27 22:50:33 -0400
|
||||||
tags: ["Network", "Charles proxy"]
|
tags: ["Network", "Charles proxy"]
|
||||||
author: Pengzhan Hao
|
author: Pengzhan Hao
|
||||||
cover: '/static/2021-12/charles-proxy-logo.png'
|
cover: '/static/2024-04/charles.png'
|
||||||
---
|
---
|
||||||
|
|
||||||
In this blog, I will generally talk about how to use proper tools to monitor SSL traffics of a mobile devices. Currently, I only can dealing with those SSL traffics which use an obviously certification. Some applications may not using system root cert or they doesn't provide us a method to modify their own certs. For these situation, I still didn't find a good solutions for it. But I'll keep updating this if I get one.
|
In this blog, I will generally talk about how to use proper tools to monitor SSL traffics of a mobile devices. Currently, I only can dealing with those SSL traffics which use an obviously certification. Some applications may not using system root cert or they doesn't provide us a method to modify their own certs. For these situation, I still didn't find a good solutions for it. But I'll keep updating this if I get one.
|
||||||
|
|||||||
@@ -3,17 +3,18 @@ title: "Some of my previews experiment works: 2016"
|
|||||||
date: 2016-10-28 12:27:33 -0400
|
date: 2016-10-28 12:27:33 -0400
|
||||||
tags: ["Research", "Log", "Miscellanies"]
|
tags: ["Research", "Log", "Miscellanies"]
|
||||||
author: Pengzhan Hao
|
author: Pengzhan Hao
|
||||||
|
cover: '/static/2024-04/research2016.png'
|
||||||
---
|
---
|
||||||
This blog contains only some basic record of my works. For some details, I will write a unique blog just for some specific topics.
|
This blog contains only some basic record of my works. For some details, I will write a unique blog just for some specific topics.
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
# 2016-10
|
## 2016-10
|
||||||
|
|
||||||
## Time Experiment of rsync
|
### Time Experiment of rsync
|
||||||
|
|
||||||
Patch is based on rsync with version 3.1.2. \[[Rsync](https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz)\|[Patch](/static/2016-10/rsync/rsync-3.1.2-time.patch)\]
|
Patch is based on rsync with version 3.1.2. \[[Rsync](https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz)\|[Patch](/static/2016-10/rsync/rsync-3.1.2-time.patch)\]
|
||||||
|
|
||||||
### How to collect data
|
#### How to collect data
|
||||||
|
|
||||||
Basically, everything of transmission time and computation time will be output with overall time will be printed on the console.
|
Basically, everything of transmission time and computation time will be output with overall time will be printed on the console.
|
||||||
But we also need some bash script to collect data through different size of random size and with different modification through them.
|
But we also need some bash script to collect data through different size of random size and with different modification through them.
|
||||||
@@ -22,11 +23,11 @@ But we also need some bash script to collect data through different size of rand
|
|||||||
- Start from 8K to 64M, modify at last, \[[Bash script](/static/2016-10/rsync/small2Big_change_at_last.sh)\]
|
- Start from 8K to 64M, modify at last, \[[Bash script](/static/2016-10/rsync/small2Big_change_at_last.sh)\]
|
||||||
- Start from 8K to 64M, modify at random place with a (slow) python script, \[[Bash script](/static/2016-10/rsync/small2Big_change_at_anyplace.sh)\|[Python program](/static/2016-10/rsync/addbyte.py)\]
|
- Start from 8K to 64M, modify at random place with a (slow) python script, \[[Bash script](/static/2016-10/rsync/small2Big_change_at_anyplace.sh)\|[Python program](/static/2016-10/rsync/addbyte.py)\]
|
||||||
|
|
||||||
## Time Experiment of seafile
|
### Time Experiment of seafile
|
||||||
|
|
||||||
Patch is based on seafile 5.1.4. You can find the release from [seafile official repo](https://github.com/haiwen/seafile/releases). You may follow official compile instructions from [here](https://manual.seafile.com/build_seafile/linux.html). \[[Patch **no longer avaiable, new version at following sections**]()\]
|
Patch is based on seafile 5.1.4. You can find the release from [seafile official repo](https://github.com/haiwen/seafile/releases). You may follow official compile instructions from [here](https://manual.seafile.com/build_seafile/linux.html). \[[Patch **no longer avaiable, new version at following sections**]()\]
|
||||||
|
|
||||||
### How to collect data
|
#### How to collect data
|
||||||
|
|
||||||
We also need everything be done using scripting. But this time I only design added some distance between two increasing files' sizes.
|
We also need everything be done using scripting. But this time I only design added some distance between two increasing files' sizes.
|
||||||
|
|
||||||
@@ -42,7 +43,7 @@ awk '/CDC|HUT|ALL/ {print $4,$5}' ~/.ccnet/log/seafile.log > results.stat
|
|||||||
~~~~
|
~~~~
|
||||||
|
|
||||||
|
|
||||||
### Install Seafile on odroid xu
|
#### Install Seafile on odroid xu
|
||||||
|
|
||||||
Due to failure of my cross-compile to seafile on android. I used develop board as a replacement experiment platform for ARM-seafile testing. I used a [odroid xu](http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137510300620) as hardware standard. Because all I need is an ARM platform, only an ARM-Ubuntu is enough for me. But develop prototype on a board is much fun than coding, I won't address much this time. But I'll start a blog telling some really cool stuff I made for a strange aim.
|
Due to failure of my cross-compile to seafile on android. I used develop board as a replacement experiment platform for ARM-seafile testing. I used a [odroid xu](http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137510300620) as hardware standard. Because all I need is an ARM platform, only an ARM-Ubuntu is enough for me. But develop prototype on a board is much fun than coding, I won't address much this time. But I'll start a blog telling some really cool stuff I made for a strange aim.
|
||||||
|
|
||||||
@@ -60,11 +61,11 @@ sudo dd if=ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img of=/dev/sdb bs=1M conv
|
|||||||
sync
|
sync
|
||||||
~~~~
|
~~~~
|
||||||
|
|
||||||
# 2016-11
|
## 2016-11
|
||||||
|
|
||||||
## Android Kernel
|
### Android Kernel
|
||||||
|
|
||||||
### How to build an Android Kernel?
|
#### How to build an Android Kernel?
|
||||||
|
|
||||||
Generally, I won't tell anything in this parts, just mark some related links, and point out some mistakes or error solutions.
|
Generally, I won't tell anything in this parts, just mark some related links, and point out some mistakes or error solutions.
|
||||||
|
|
||||||
@@ -74,11 +75,11 @@ Generally, I won't tell anything in this parts, just mark some related links, an
|
|||||||
|
|
||||||
- [Packing and Flashing a Boot.img](https://softwarebakery.com/building-the-android-kernel-on-linux) **[highly recommend]**
|
- [Packing and Flashing a Boot.img](https://softwarebakery.com/building-the-android-kernel-on-linux) **[highly recommend]**
|
||||||
|
|
||||||
# 2016-12
|
## 2016-12
|
||||||
|
|
||||||
## Android Kernel
|
### Android Kernel
|
||||||
|
|
||||||
### How to compile with ftrace?
|
#### How to compile with ftrace?
|
||||||
|
|
||||||
If we want to debug under android, ftrace is a great tool for working. But, ftrace is not available in android if we used default configure file. Android kernel configuration is in **arch/arm64/kernel/configs**. We need to add few lines under that.
|
If we want to debug under android, ftrace is a great tool for working. But, ftrace is not available in android if we used default configure file. Android kernel configuration is in **arch/arm64/kernel/configs**. We need to add few lines under that.
|
||||||
|
|
||||||
@@ -94,7 +95,7 @@ CONFIG_SCHED_TRACER=y
|
|||||||
CONFIG_STACK_TRACER=y
|
CONFIG_STACK_TRACER=y
|
||||||
~~~~
|
~~~~
|
||||||
|
|
||||||
### How to extract android images: Dump an image
|
#### How to extract android images: Dump an image
|
||||||
|
|
||||||
If we want to hold a rooted status after flashing boot, we need to extract an image from android devices. We can first use following command to find which blocks belongs to. According to some references, [this article](http://forum.xda-developers.com/showthread.php?t=2450045) provide three ways to dump an image, I picked one for easy using.
|
If we want to hold a rooted status after flashing boot, we need to extract an image from android devices. We can first use following command to find which blocks belongs to. According to some references, [this article](http://forum.xda-developers.com/showthread.php?t=2450045) provide three ways to dump an image, I picked one for easy using.
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ title: "Xv6 introduction"
|
|||||||
date: 2017-07-28 14:56:55 -0400
|
date: 2017-07-28 14:56:55 -0400
|
||||||
tags: ["Xv6", "Teaching", "Operating system"]
|
tags: ["Xv6", "Teaching", "Operating system"]
|
||||||
author: Pengzhan Hao
|
author: Pengzhan Hao
|
||||||
cover: '/static/2021-10/Xv6_LS_Command_Output.png'
|
cover: '/static/2024-04/xv6.png'
|
||||||
---
|
---
|
||||||
|
|
||||||
In this post, you will learn a few basic concepts of xv6. Learning path will be closed coupled to first project assignment I gave when I assisted in teaching OS classes.
|
In this post, you will learn a few basic concepts of xv6. Learning path will be closed coupled to first project assignment I gave when I assisted in teaching OS classes.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ title: "Generate Word Cloud Figures with Chinese-Tokenization and WordCloud pyt
|
|||||||
date: 2020-09-15 22:00:14 -0400
|
date: 2020-09-15 22:00:14 -0400
|
||||||
tags: Visualization
|
tags: Visualization
|
||||||
author: Pengzhan Hao
|
author: Pengzhan Hao
|
||||||
cover: '/static/2020-09/2020-06-28.png'
|
cover: '/static/2024-04/wordcloud.png'
|
||||||
---
|
---
|
||||||
|
|
||||||
Let's generate a word cloud like this.
|
Let's generate a word cloud like this.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ title: "EDDL: How do we train neural networks on limited edge devices - PART 1"
|
|||||||
date: 2021-10-13 16:53:20 -0400
|
date: 2021-10-13 16:53:20 -0400
|
||||||
tags: ["Research", "Edge computing"]
|
tags: ["Research", "Edge computing"]
|
||||||
author: Pengzhan Hao
|
author: Pengzhan Hao
|
||||||
cover: '/static/2021-10/edgelearn-1.png'
|
cover: '/static/2024-04/eddl1.png'
|
||||||
---
|
---
|
||||||
This post introduces our previous milestone in project "Edge trainer", as the paper "EDDL: A Distributed Deep Learning System for Resource-limited Edge Computing Environment." was published.
|
This post introduces our previous milestone in project "Edge trainer", as the paper "EDDL: A Distributed Deep Learning System for Resource-limited Edge Computing Environment." was published.
|
||||||
As the first part of the introductions, I focus only on the motivation and summary of our works.
|
As the first part of the introductions, I focus only on the motivation and summary of our works.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ title: "EDDL: How do we train neural networks on limited edge devices - PART 2"
|
|||||||
date: 2021-10-31 13:01:14 -0400
|
date: 2021-10-31 13:01:14 -0400
|
||||||
tags: ["Research", "Edge computing"]
|
tags: ["Research", "Edge computing"]
|
||||||
author: Pengzhan Hao
|
author: Pengzhan Hao
|
||||||
cover: '/static/2021-10/f.5_Impl_leader_worker.png'
|
cover: '/static/2024-04/eddl2.png'
|
||||||
mathjax: true
|
mathjax: true
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ title: "Labs of CS350"
|
|||||||
date: 2022-02-22 17:08:17 -0400
|
date: 2022-02-22 17:08:17 -0400
|
||||||
tags: ["Xv6", "Teaching", "Operating system", "Binghamton university"]
|
tags: ["Xv6", "Teaching", "Operating system", "Binghamton university"]
|
||||||
author: Pengzhan Hao
|
author: Pengzhan Hao
|
||||||
cover: '/static/2022-02/BU.jpeg'
|
cover: '/static/2024-04/bu.png'
|
||||||
---
|
---
|
||||||
|
|
||||||
This will be a series regarding lab I gave during the spring 2022 semester.
|
This will be a series regarding lab I gave during the spring 2022 semester.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ title: "Debug Kubelet"
|
|||||||
date: 2024-04-10 03:34:00 -0400
|
date: 2024-04-10 03:34:00 -0400
|
||||||
tags: ["Kubernetes", "Kubelet", "Debug"]
|
tags: ["Kubernetes", "Kubelet", "Debug"]
|
||||||
author: Pengzhan Hao
|
author: Pengzhan Hao
|
||||||
cover: '/static/2024-04/Kubelet.webp'
|
cover: '/static/2024-04/kubelet.png'
|
||||||
---
|
---
|
||||||
|
|
||||||
## Debug logs
|
## Debug logs
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
.image {
|
.image {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
border-radius: 13px;
|
||||||
@extend .image--md;
|
@extend .image--md;
|
||||||
}
|
}
|
||||||
.image--md {
|
.image--md {
|
||||||
|
|||||||
@@ -1051,7 +1051,7 @@ input:focus { outline: none; }
|
|||||||
|
|
||||||
.button--xl.button--circle, .button--xl.swiper__button { width: 2.8rem; height: 2.8rem; }
|
.button--xl.button--circle, .button--xl.swiper__button { width: 2.8rem; height: 2.8rem; }
|
||||||
|
|
||||||
.image { max-width: 100%; }
|
.image { max-width: 100%; border-radius: 13px; }
|
||||||
|
|
||||||
.image--md, .image { width: 12rem; }
|
.image--md, .image { width: 12rem; }
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><generator uri="https://jekyllrb.com/" version="4.2.2">Jekyll</generator><link href="https://blog.pengzhan.dev/feed.xml" rel="self" type="application/atom+xml" /><link href="https://blog.pengzhan.dev/" rel="alternate" type="text/html" hreflang="en" /><updated>2024-04-18T21:19:41-04:00</updated><id>https://blog.pengzhan.dev/feed.xml</id><title type="html">STSD</title><subtitle>My personal blog, some contents are useful, the others are not. Just like my mediocre life.
|
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><generator uri="https://jekyllrb.com/" version="4.2.2">Jekyll</generator><link href="https://blog.pengzhan.dev/feed.xml" rel="self" type="application/atom+xml" /><link href="https://blog.pengzhan.dev/" rel="alternate" type="text/html" hreflang="en" /><updated>2024-04-19T00:41:17-04:00</updated><id>https://blog.pengzhan.dev/feed.xml</id><title type="html">STSD</title><subtitle>My personal blog, some contents are useful, the others are not. Just like my mediocre life.
|
||||||
</subtitle><author><name>Pengzhan Hao</name><email>haopengzhan@gmail.com</email></author><entry><title type="html">Inotify watcher leaks in Kubelet</title><link href="https://blog.pengzhan.dev/posts/inotify-watcher-leaks-in-kubelet" rel="alternate" type="text/html" title="Inotify watcher leaks in Kubelet" /><published>2024-04-18T16:35:00-04:00</published><updated>2024-04-18T21:14:15-04:00</updated><id>https://blog.pengzhan.dev/posts/inotify-watcher-leaks-in-kubelet</id><content type="html" xml:base="https://blog.pengzhan.dev/posts/inotify-watcher-leaks-in-kubelet"><![CDATA[<h2 id="symptom">Symptom</h2>
|
</subtitle><author><name>Pengzhan Hao</name><email>haopengzhan@gmail.com</email></author><entry><title type="html">Inotify watcher leaks in Kubelet</title><link href="https://blog.pengzhan.dev/posts/inotify-watcher-leaks-in-kubelet" rel="alternate" type="text/html" title="Inotify watcher leaks in Kubelet" /><published>2024-04-18T16:35:00-04:00</published><updated>2024-04-18T21:14:15-04:00</updated><id>https://blog.pengzhan.dev/posts/inotify-watcher-leaks-in-kubelet</id><content type="html" xml:base="https://blog.pengzhan.dev/posts/inotify-watcher-leaks-in-kubelet"><![CDATA[<h2 id="symptom">Symptom</h2>
|
||||||
<p>Recently, I faced an issue where Kubelet on a node reported error message failed to create file descriptors.</p>
|
<p>Recently, I faced an issue where Kubelet on a node reported error message failed to create file descriptors.</p>
|
||||||
|
|
||||||
@@ -985,13 +985,13 @@ Using ssh may connect to different physical devices under same domain name, this
|
|||||||
</code></pre></div></div>]]></content><author><name>Pengzhan Hao</name></author><category term="Xv6" /><category term="Teaching" /><category term="Operating system" /><summary type="html"><![CDATA[In this post, you will learn a few basic concepts of xv6. Learning path will be closed coupled to first project assignment I gave when I assisted in teaching OS classes. Understand system call and know how to implement a simple one will be coved as the first half. In the second half of this post, I will discuss a little bit more on how to debug xv6 using gdb.]]></summary></entry><entry><title type="html">Some of my previews experiment works: 2016</title><link href="https://blog.pengzhan.dev/posts/some-of-my-previews-exper-work" rel="alternate" type="text/html" title="Some of my previews experiment works: 2016" /><published>2016-10-28T12:27:33-04:00</published><updated>2021-12-11T13:35:39-05:00</updated><id>https://blog.pengzhan.dev/posts/some-of-my-previews-exper-work</id><content type="html" xml:base="https://blog.pengzhan.dev/posts/some-of-my-previews-exper-work"><![CDATA[<p>This blog contains only some basic record of my works. For some details, I will write a unique blog just for some specific topics.
|
</code></pre></div></div>]]></content><author><name>Pengzhan Hao</name></author><category term="Xv6" /><category term="Teaching" /><category term="Operating system" /><summary type="html"><![CDATA[In this post, you will learn a few basic concepts of xv6. Learning path will be closed coupled to first project assignment I gave when I assisted in teaching OS classes. Understand system call and know how to implement a simple one will be coved as the first half. In the second half of this post, I will discuss a little bit more on how to debug xv6 using gdb.]]></summary></entry><entry><title type="html">Some of my previews experiment works: 2016</title><link href="https://blog.pengzhan.dev/posts/some-of-my-previews-exper-work" rel="alternate" type="text/html" title="Some of my previews experiment works: 2016" /><published>2016-10-28T12:27:33-04:00</published><updated>2021-12-11T13:35:39-05:00</updated><id>https://blog.pengzhan.dev/posts/some-of-my-previews-exper-work</id><content type="html" xml:base="https://blog.pengzhan.dev/posts/some-of-my-previews-exper-work"><![CDATA[<p>This blog contains only some basic record of my works. For some details, I will write a unique blog just for some specific topics.
|
||||||
<!--more--></p>
|
<!--more--></p>
|
||||||
|
|
||||||
<h1 id="2016-10">2016-10</h1>
|
<h2 id="2016-10">2016-10</h2>
|
||||||
|
|
||||||
<h2 id="time-experiment-of-rsync">Time Experiment of rsync</h2>
|
<h3 id="time-experiment-of-rsync">Time Experiment of rsync</h3>
|
||||||
|
|
||||||
<p>Patch is based on rsync with version 3.1.2. [<a href="https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz">Rsync</a>|<a href="/static/2016-10/rsync/rsync-3.1.2-time.patch">Patch</a>]</p>
|
<p>Patch is based on rsync with version 3.1.2. [<a href="https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz">Rsync</a>|<a href="/static/2016-10/rsync/rsync-3.1.2-time.patch">Patch</a>]</p>
|
||||||
|
|
||||||
<h3 id="how-to-collect-data">How to collect data</h3>
|
<h4 id="how-to-collect-data">How to collect data</h4>
|
||||||
|
|
||||||
<p>Basically, everything of transmission time and computation time will be output with overall time will be printed on the console.
|
<p>Basically, everything of transmission time and computation time will be output with overall time will be printed on the console.
|
||||||
But we also need some bash script to collect data through different size of random size and with different modification through them.</p>
|
But we also need some bash script to collect data through different size of random size and with different modification through them.</p>
|
||||||
@@ -1002,11 +1002,11 @@ But we also need some bash script to collect data through different size of rand
|
|||||||
<li>Start from 8K to 64M, modify at random place with a (slow) python script, [<a href="/static/2016-10/rsync/small2Big_change_at_anyplace.sh">Bash script</a>|<a href="/static/2016-10/rsync/addbyte.py">Python program</a>]</li>
|
<li>Start from 8K to 64M, modify at random place with a (slow) python script, [<a href="/static/2016-10/rsync/small2Big_change_at_anyplace.sh">Bash script</a>|<a href="/static/2016-10/rsync/addbyte.py">Python program</a>]</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2 id="time-experiment-of-seafile">Time Experiment of seafile</h2>
|
<h3 id="time-experiment-of-seafile">Time Experiment of seafile</h3>
|
||||||
|
|
||||||
<p>Patch is based on seafile 5.1.4. You can find the release from <a href="https://github.com/haiwen/seafile/releases">seafile official repo</a>. You may follow official compile instructions from <a href="https://manual.seafile.com/build_seafile/linux.html">here</a>. [<a href="">Patch <strong>no longer avaiable, new version at following sections</strong></a>]</p>
|
<p>Patch is based on seafile 5.1.4. You can find the release from <a href="https://github.com/haiwen/seafile/releases">seafile official repo</a>. You may follow official compile instructions from <a href="https://manual.seafile.com/build_seafile/linux.html">here</a>. [<a href="">Patch <strong>no longer avaiable, new version at following sections</strong></a>]</p>
|
||||||
|
|
||||||
<h3 id="how-to-collect-data-1">How to collect data</h3>
|
<h4 id="how-to-collect-data-1">How to collect data</h4>
|
||||||
|
|
||||||
<p>We also need everything be done using scripting. But this time I only design added some distance between two increasing files’ sizes.</p>
|
<p>We also need everything be done using scripting. But this time I only design added some distance between two increasing files’ sizes.</p>
|
||||||
|
|
||||||
@@ -1022,7 +1022,7 @@ But we also need some bash script to collect data through different size of rand
|
|||||||
<span class="nb">awk</span> <span class="s1">'/CDC|HUT|ALL/ {print $4,$5}'</span> ~/.ccnet/log/seafile.log <span class="o">></span> results.stat
|
<span class="nb">awk</span> <span class="s1">'/CDC|HUT|ALL/ {print $4,$5}'</span> ~/.ccnet/log/seafile.log <span class="o">></span> results.stat
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<h3 id="install-seafile-on-odroid-xu">Install Seafile on odroid xu</h3>
|
<h4 id="install-seafile-on-odroid-xu">Install Seafile on odroid xu</h4>
|
||||||
|
|
||||||
<p>Due to failure of my cross-compile to seafile on android. I used develop board as a replacement experiment platform for ARM-seafile testing. I used a <a href="http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137510300620">odroid xu</a> as hardware standard. Because all I need is an ARM platform, only an ARM-Ubuntu is enough for me. But develop prototype on a board is much fun than coding, I won’t address much this time. But I’ll start a blog telling some really cool stuff I made for a strange aim.</p>
|
<p>Due to failure of my cross-compile to seafile on android. I used develop board as a replacement experiment platform for ARM-seafile testing. I used a <a href="http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137510300620">odroid xu</a> as hardware standard. Because all I need is an ARM platform, only an ARM-Ubuntu is enough for me. But develop prototype on a board is much fun than coding, I won’t address much this time. But I’ll start a blog telling some really cool stuff I made for a strange aim.</p>
|
||||||
|
|
||||||
@@ -1044,11 +1044,11 @@ unxz ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img.xz
|
|||||||
<span class="nb">sync</span>
|
<span class="nb">sync</span>
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<h1 id="2016-11">2016-11</h1>
|
<h2 id="2016-11">2016-11</h2>
|
||||||
|
|
||||||
<h2 id="android-kernel">Android Kernel</h2>
|
<h3 id="android-kernel">Android Kernel</h3>
|
||||||
|
|
||||||
<h3 id="how-to-build-an-android-kernel">How to build an Android Kernel?</h3>
|
<h4 id="how-to-build-an-android-kernel">How to build an Android Kernel?</h4>
|
||||||
|
|
||||||
<p>Generally, I won’t tell anything in this parts, just mark some related links, and point out some mistakes or error solutions.</p>
|
<p>Generally, I won’t tell anything in this parts, just mark some related links, and point out some mistakes or error solutions.</p>
|
||||||
|
|
||||||
@@ -1063,11 +1063,11 @@ unxz ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img.xz
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h1 id="2016-12">2016-12</h1>
|
<h2 id="2016-12">2016-12</h2>
|
||||||
|
|
||||||
<h2 id="android-kernel-1">Android Kernel</h2>
|
<h3 id="android-kernel-1">Android Kernel</h3>
|
||||||
|
|
||||||
<h3 id="how-to-compile-with-ftrace">How to compile with ftrace?</h3>
|
<h4 id="how-to-compile-with-ftrace">How to compile with ftrace?</h4>
|
||||||
|
|
||||||
<p>If we want to debug under android, ftrace is a great tool for working. But, ftrace is not available in android if we used default configure file. Android kernel configuration is in <strong>arch/arm64/kernel/configs</strong>. We need to add few lines under that.</p>
|
<p>If we want to debug under android, ftrace is a great tool for working. But, ftrace is not available in android if we used default configure file. Android kernel configuration is in <strong>arch/arm64/kernel/configs</strong>. We need to add few lines under that.</p>
|
||||||
|
|
||||||
@@ -1082,7 +1082,7 @@ unxz ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img.xz
|
|||||||
<span class="nv">CONFIG_STACK_TRACER</span><span class="o">=</span>y
|
<span class="nv">CONFIG_STACK_TRACER</span><span class="o">=</span>y
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<h3 id="how-to-extract-android-images-dump-an-image">How to extract android images: Dump an image</h3>
|
<h4 id="how-to-extract-android-images-dump-an-image">How to extract android images: Dump an image</h4>
|
||||||
|
|
||||||
<p>If we want to hold a rooted status after flashing boot, we need to extract an image from android devices. We can first use following command to find which blocks belongs to. According to some references, <a href="http://forum.xda-developers.com/showthread.php?t=2450045">this article</a> provide three ways to dump an image, I picked one for easy using.</p>
|
<p>If we want to hold a rooted status after flashing boot, we need to extract an image from android devices. We can first use following command to find which blocks belongs to. According to some references, <a href="http://forum.xda-developers.com/showthread.php?t=2450045">this article</a> provide three ways to dump an image, I picked one for easy using.</p>
|
||||||
|
|
||||||
|
|||||||
@@ -463,7 +463,7 @@ After short checking, I found the node has max_user_watches of 10000, but the To
|
|||||||
</li></ul><ul class="right-col menu"><li><i class="fas fa-user"></i> <span>Pengzhan Hao</span></li><li><i class="far fa-calendar-alt"></i> <span>Apr 18, 2024</span>
|
</li></ul><ul class="right-col menu"><li><i class="fas fa-user"></i> <span>Pengzhan Hao</span></li><li><i class="far fa-calendar-alt"></i> <span>Apr 18, 2024</span>
|
||||||
</li></ul></div><meta itemprop="author" content="Pengzhan Hao"/><meta itemprop="datePublished" content="2024-04-18T16:35:00-04:00">
|
</li></ul></div><meta itemprop="author" content="Pengzhan Hao"/><meta itemprop="datePublished" content="2024-04-18T16:35:00-04:00">
|
||||||
<meta itemprop="keywords" content="Kubernetes,Kubelet,Debug,Inotify"></div>
|
<meta itemprop="keywords" content="Kubernetes,Kubelet,Debug,Inotify"></div>
|
||||||
</article><article class="item" itemscope itemtype="http://schema.org/BlogPosting"><div class="item__image" style="vertical-align: middle"><img class="image" src="/static/2024-04/Kubelet.webp" /></div><div class="item__content">
|
</article><article class="item" itemscope itemtype="http://schema.org/BlogPosting"><div class="item__image" style="vertical-align: middle"><img class="image" src="/static/2024-04/kubelet.png" /></div><div class="item__content">
|
||||||
<header><a href="/posts/Debug-kubelet"><h2 itemprop="headline" class="item__header">Debug Kubelet</h2></a></header>
|
<header><a href="/posts/Debug-kubelet"><h2 itemprop="headline" class="item__header">Debug Kubelet</h2></a></header>
|
||||||
<div class="item__description"><div class="article__content" itemprop="description articleBody">Debug logs
|
<div class="item__description"><div class="article__content" itemprop="description articleBody">Debug logs
|
||||||
|
|
||||||
@@ -479,7 +479,7 @@ Like all others program’s debugging, the most straightforward way for newbies
|
|||||||
</li></ul><ul class="right-col menu"><li><i class="fas fa-user"></i> <span>Pengzhan Hao</span></li><li><i class="far fa-calendar-alt"></i> <span>Apr 10, 2024</span>
|
</li></ul><ul class="right-col menu"><li><i class="fas fa-user"></i> <span>Pengzhan Hao</span></li><li><i class="far fa-calendar-alt"></i> <span>Apr 10, 2024</span>
|
||||||
</li></ul></div><meta itemprop="author" content="Pengzhan Hao"/><meta itemprop="datePublished" content="2024-04-10T03:34:00-04:00">
|
</li></ul></div><meta itemprop="author" content="Pengzhan Hao"/><meta itemprop="datePublished" content="2024-04-10T03:34:00-04:00">
|
||||||
<meta itemprop="keywords" content="Kubernetes,Kubelet,Debug"></div>
|
<meta itemprop="keywords" content="Kubernetes,Kubelet,Debug"></div>
|
||||||
</article><article class="item" itemscope itemtype="http://schema.org/BlogPosting"><div class="item__image" style="vertical-align: middle"><img class="image" src="/static/2022-02/BU.jpeg" /></div><div class="item__content">
|
</article><article class="item" itemscope itemtype="http://schema.org/BlogPosting"><div class="item__image" style="vertical-align: middle"><img class="image" src="/static/2024-04/bu.png" /></div><div class="item__content">
|
||||||
<header><a href="/posts/cs350-labs"><h2 itemprop="headline" class="item__header">Labs of CS350</h2></a></header>
|
<header><a href="/posts/cs350-labs"><h2 itemprop="headline" class="item__header">Labs of CS350</h2></a></header>
|
||||||
<div class="item__description"><div class="article__content" itemprop="description articleBody">This will be a series regarding lab I gave during the spring 2022 semester.
|
<div class="item__description"><div class="article__content" itemprop="description articleBody">This will be a series regarding lab I gave during the spring 2022 semester.
|
||||||
|
|
||||||
@@ -500,7 +500,7 @@ To help all stud...</div><p><a href="/posts/cs350-labs">Read more</a></p></div><
|
|||||||
</li></ul><ul class="right-col menu"><li><i class="fas fa-user"></i> <span>Pengzhan Hao</span></li><li><i class="far fa-calendar-alt"></i> <span>Feb 22, 2022</span>
|
</li></ul><ul class="right-col menu"><li><i class="fas fa-user"></i> <span>Pengzhan Hao</span></li><li><i class="far fa-calendar-alt"></i> <span>Feb 22, 2022</span>
|
||||||
</li></ul></div><meta itemprop="author" content="Pengzhan Hao"/><meta itemprop="datePublished" content="2022-02-22T16:08:17-05:00">
|
</li></ul></div><meta itemprop="author" content="Pengzhan Hao"/><meta itemprop="datePublished" content="2022-02-22T16:08:17-05:00">
|
||||||
<meta itemprop="keywords" content="Xv6,Teaching,Operating system,Binghamton university"></div>
|
<meta itemprop="keywords" content="Xv6,Teaching,Operating system,Binghamton university"></div>
|
||||||
</article><article class="item" itemscope itemtype="http://schema.org/BlogPosting"><div class="item__image" style="vertical-align: middle"><img class="image" src="/static/2021-10/f.5_Impl_leader_worker.png" /></div><div class="item__content">
|
</article><article class="item" itemscope itemtype="http://schema.org/BlogPosting"><div class="item__image" style="vertical-align: middle"><img class="image" src="/static/2024-04/eddl2.png" /></div><div class="item__content">
|
||||||
<header><a href="/posts/eddl-how-do-we-train-on-limited-edge-devices-part2"><h2 itemprop="headline" class="item__header">EDDL: How do we train neural networks on limited edge devices - PART 2</h2></a></header>
|
<header><a href="/posts/eddl-how-do-we-train-on-limited-edge-devices-part2"><h2 itemprop="headline" class="item__header">EDDL: How do we train neural networks on limited edge devices - PART 2</h2></a></header>
|
||||||
<div class="item__description"><div class="article__content" itemprop="description articleBody">In the last post, part1, our idea of distributed learning on edge environment was generally addressed.
|
<div class="item__description"><div class="article__content" itemprop="description articleBody">In the last post, part1, our idea of distributed learning on edge environment was generally addressed.
|
||||||
I introduced the reason why edge distributed learning is needed and what improvements it can achieve.
|
I introduced the reason why edge distributed learning is needed and what improvements it can achieve.
|
||||||
@@ -517,7 +517,7 @@ Before designin...</div><p><a href="/posts/eddl-how-do-we-train-on-limited-edge-
|
|||||||
</li></ul><ul class="right-col menu"><li><i class="fas fa-user"></i> <span>Pengzhan Hao</span></li><li><i class="far fa-calendar-alt"></i> <span>Oct 31, 2021</span>
|
</li></ul><ul class="right-col menu"><li><i class="fas fa-user"></i> <span>Pengzhan Hao</span></li><li><i class="far fa-calendar-alt"></i> <span>Oct 31, 2021</span>
|
||||||
</li></ul></div><meta itemprop="author" content="Pengzhan Hao"/><meta itemprop="datePublished" content="2021-10-31T13:01:14-04:00">
|
</li></ul></div><meta itemprop="author" content="Pengzhan Hao"/><meta itemprop="datePublished" content="2021-10-31T13:01:14-04:00">
|
||||||
<meta itemprop="keywords" content="Research,Edge computing"></div>
|
<meta itemprop="keywords" content="Research,Edge computing"></div>
|
||||||
</article><article class="item" itemscope itemtype="http://schema.org/BlogPosting"><div class="item__image" style="vertical-align: middle"><img class="image" src="/static/2021-10/edgelearn-1.png" /></div><div class="item__content">
|
</article><article class="item" itemscope itemtype="http://schema.org/BlogPosting"><div class="item__image" style="vertical-align: middle"><img class="image" src="/static/2024-04/eddl1.png" /></div><div class="item__content">
|
||||||
<header><a href="/posts/eddl-how-do-we-train-on-limited-edge-devices"><h2 itemprop="headline" class="item__header">EDDL: How do we train neural networks on limited edge devices - PART 1</h2></a></header>
|
<header><a href="/posts/eddl-how-do-we-train-on-limited-edge-devices"><h2 itemprop="headline" class="item__header">EDDL: How do we train neural networks on limited edge devices - PART 1</h2></a></header>
|
||||||
<div class="item__description"><div class="article__content" itemprop="description articleBody">This post introduces our previous milestone in project “Edge trainer”, as the paper “EDDL: A Distributed Deep Learning System for Resource-limited Edge Computing Environment.” was published.
|
<div class="item__description"><div class="article__content" itemprop="description articleBody">This post introduces our previous milestone in project “Edge trainer”, as the paper “EDDL: A Distributed Deep Learning System for Resource-limited Edge Computing Environment.” was published.
|
||||||
As the first part of the introductions, I focus only on the motivation and summary of our works.
|
As the first part of the introductions, I focus only on the motivation and summary of our works.
|
||||||
@@ -530,7 +530,7 @@ More details in design and implementation can be found in l...</div><p><a href="
|
|||||||
</li></ul><ul class="right-col menu"><li><i class="fas fa-user"></i> <span>Pengzhan Hao</span></li><li><i class="far fa-calendar-alt"></i> <span>Oct 13, 2021</span>
|
</li></ul><ul class="right-col menu"><li><i class="fas fa-user"></i> <span>Pengzhan Hao</span></li><li><i class="far fa-calendar-alt"></i> <span>Oct 13, 2021</span>
|
||||||
</li></ul></div><meta itemprop="author" content="Pengzhan Hao"/><meta itemprop="datePublished" content="2021-10-13T16:53:20-04:00">
|
</li></ul></div><meta itemprop="author" content="Pengzhan Hao"/><meta itemprop="datePublished" content="2021-10-13T16:53:20-04:00">
|
||||||
<meta itemprop="keywords" content="Research,Edge computing"></div>
|
<meta itemprop="keywords" content="Research,Edge computing"></div>
|
||||||
</article><article class="item" itemscope itemtype="http://schema.org/BlogPosting"><div class="item__image" style="vertical-align: middle"><img class="image" src="/static/2020-09/2020-06-28.png" /></div><div class="item__content">
|
</article><article class="item" itemscope itemtype="http://schema.org/BlogPosting"><div class="item__image" style="vertical-align: middle"><img class="image" src="/static/2024-04/wordcloud.png" /></div><div class="item__content">
|
||||||
<header><a href="/posts/generate-word-cloud-with-chinese-fenci"><h2 itemprop="headline" class="item__header">Generate Word Cloud Figures with Chinese-Tokenization and WordCloud python libraries</h2></a></header>
|
<header><a href="/posts/generate-word-cloud-with-chinese-fenci"><h2 itemprop="headline" class="item__header">Generate Word Cloud Figures with Chinese-Tokenization and WordCloud python libraries</h2></a></header>
|
||||||
<div class="item__description"><div class="article__content" itemprop="description articleBody">Let’s generate a word cloud like this.
|
<div class="item__description"><div class="article__content" itemprop="description articleBody">Let’s generate a word cloud like this.
|
||||||
Don’t understand the language is not a big deal.
|
Don’t understand the language is not a big deal.
|
||||||
@@ -540,7 +540,7 @@ If your written language is based on latin alphabet(or other language has space
|
|||||||
</li></ul><ul class="right-col menu"><li><i class="fas fa-user"></i> <span>Pengzhan Hao</span></li><li><i class="far fa-calendar-alt"></i> <span>Sep 15, 2020</span>
|
</li></ul><ul class="right-col menu"><li><i class="fas fa-user"></i> <span>Pengzhan Hao</span></li><li><i class="far fa-calendar-alt"></i> <span>Sep 15, 2020</span>
|
||||||
</li></ul></div><meta itemprop="author" content="Pengzhan Hao"/><meta itemprop="datePublished" content="2020-09-15T22:00:14-04:00">
|
</li></ul></div><meta itemprop="author" content="Pengzhan Hao"/><meta itemprop="datePublished" content="2020-09-15T22:00:14-04:00">
|
||||||
<meta itemprop="keywords" content="Visualization"></div>
|
<meta itemprop="keywords" content="Visualization"></div>
|
||||||
</article><article class="item" itemscope itemtype="http://schema.org/BlogPosting"><div class="item__image" style="vertical-align: middle"><img class="image" src="/static/2021-10/Xv6_LS_Command_Output.png" /></div><div class="item__content">
|
</article><article class="item" itemscope itemtype="http://schema.org/BlogPosting"><div class="item__image" style="vertical-align: middle"><img class="image" src="/static/2024-04/xv6.png" /></div><div class="item__content">
|
||||||
<header><a href="/posts/intro-xv6"><h2 itemprop="headline" class="item__header">Xv6 introduction</h2></a></header>
|
<header><a href="/posts/intro-xv6"><h2 itemprop="headline" class="item__header">Xv6 introduction</h2></a></header>
|
||||||
<div class="item__description"><div class="article__content" itemprop="description articleBody">In this post, you will learn a few basic concepts of xv6. Learning path will be closed coupled to first project assignment I gave when I assisted in teaching OS classes.
|
<div class="item__description"><div class="article__content" itemprop="description articleBody">In this post, you will learn a few basic concepts of xv6. Learning path will be closed coupled to first project assignment I gave when I assisted in teaching OS classes.
|
||||||
Understand system call and know how to implement a simple one will be coved as the first half.
|
Understand system call and know how to implement a simple one will be coved as the first half.
|
||||||
@@ -556,7 +556,7 @@ In the second half of this post, I will discuss a little bit more on how to debu
|
|||||||
</li></ul><ul class="right-col menu"><li><i class="fas fa-user"></i> <span>Pengzhan Hao</span></li><li><i class="far fa-calendar-alt"></i> <span>Jul 28, 2017</span>
|
</li></ul><ul class="right-col menu"><li><i class="fas fa-user"></i> <span>Pengzhan Hao</span></li><li><i class="far fa-calendar-alt"></i> <span>Jul 28, 2017</span>
|
||||||
</li></ul></div><meta itemprop="author" content="Pengzhan Hao"/><meta itemprop="datePublished" content="2017-07-28T14:56:55-04:00">
|
</li></ul></div><meta itemprop="author" content="Pengzhan Hao"/><meta itemprop="datePublished" content="2017-07-28T14:56:55-04:00">
|
||||||
<meta itemprop="keywords" content="Xv6,Teaching,Operating system"></div>
|
<meta itemprop="keywords" content="Xv6,Teaching,Operating system"></div>
|
||||||
</article><article class="item" itemscope itemtype="http://schema.org/BlogPosting"><div class="item__content">
|
</article><article class="item" itemscope itemtype="http://schema.org/BlogPosting"><div class="item__image" style="vertical-align: middle"><img class="image" src="/static/2024-04/research2016.png" /></div><div class="item__content">
|
||||||
<header><a href="/posts/some-of-my-previews-exper-work"><h2 itemprop="headline" class="item__header">Some of my previews experiment works: 2016</h2></a></header>
|
<header><a href="/posts/some-of-my-previews-exper-work"><h2 itemprop="headline" class="item__header">Some of my previews experiment works: 2016</h2></a></header>
|
||||||
<div class="item__description"><div class="article__content" itemprop="description articleBody">This blog contains only some basic record of my works. For some details, I will write a unique blog just for some specific topics.</div><p><a href="/posts/some-of-my-previews-exper-work">Read more</a></p></div><div class="article__info clearfix"><ul class="left-col menu"><li>
|
<div class="item__description"><div class="article__content" itemprop="description articleBody">This blog contains only some basic record of my works. For some details, I will write a unique blog just for some specific topics.</div><p><a href="/posts/some-of-my-previews-exper-work">Read more</a></p></div><div class="article__info clearfix"><ul class="left-col menu"><li>
|
||||||
<a class="button button--secondary button--pill button--sm"
|
<a class="button button--secondary button--pill button--sm"
|
||||||
|
|||||||
@@ -456,13 +456,13 @@ c13 9 26 20 30 26 7 11 -9 26 -27 26 -5 0 -3 -5 5 -10 9 -6 10 -10 3 -10 -24
|
|||||||
<div class="article__content" itemprop="articleBody"><p>This blog contains only some basic record of my works. For some details, I will write a unique blog just for some specific topics.
|
<div class="article__content" itemprop="articleBody"><p>This blog contains only some basic record of my works. For some details, I will write a unique blog just for some specific topics.
|
||||||
<!--more--></p>
|
<!--more--></p>
|
||||||
|
|
||||||
<h1 id="2016-10">2016-10</h1>
|
<h2 id="2016-10">2016-10</h2>
|
||||||
|
|
||||||
<h2 id="time-experiment-of-rsync">Time Experiment of rsync</h2>
|
<h3 id="time-experiment-of-rsync">Time Experiment of rsync</h3>
|
||||||
|
|
||||||
<p>Patch is based on rsync with version 3.1.2. [<a href="https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz">Rsync</a>|<a href="/static/2016-10/rsync/rsync-3.1.2-time.patch">Patch</a>]</p>
|
<p>Patch is based on rsync with version 3.1.2. [<a href="https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz">Rsync</a>|<a href="/static/2016-10/rsync/rsync-3.1.2-time.patch">Patch</a>]</p>
|
||||||
|
|
||||||
<h3 id="how-to-collect-data">How to collect data</h3>
|
<h4 id="how-to-collect-data">How to collect data</h4>
|
||||||
|
|
||||||
<p>Basically, everything of transmission time and computation time will be output with overall time will be printed on the console.
|
<p>Basically, everything of transmission time and computation time will be output with overall time will be printed on the console.
|
||||||
But we also need some bash script to collect data through different size of random size and with different modification through them.</p>
|
But we also need some bash script to collect data through different size of random size and with different modification through them.</p>
|
||||||
@@ -473,11 +473,11 @@ But we also need some bash script to collect data through different size of rand
|
|||||||
<li>Start from 8K to 64M, modify at random place with a (slow) python script, [<a href="/static/2016-10/rsync/small2Big_change_at_anyplace.sh">Bash script</a>|<a href="/static/2016-10/rsync/addbyte.py">Python program</a>]</li>
|
<li>Start from 8K to 64M, modify at random place with a (slow) python script, [<a href="/static/2016-10/rsync/small2Big_change_at_anyplace.sh">Bash script</a>|<a href="/static/2016-10/rsync/addbyte.py">Python program</a>]</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2 id="time-experiment-of-seafile">Time Experiment of seafile</h2>
|
<h3 id="time-experiment-of-seafile">Time Experiment of seafile</h3>
|
||||||
|
|
||||||
<p>Patch is based on seafile 5.1.4. You can find the release from <a href="https://github.com/haiwen/seafile/releases">seafile official repo</a>. You may follow official compile instructions from <a href="https://manual.seafile.com/build_seafile/linux.html">here</a>. [<a href="">Patch <strong>no longer avaiable, new version at following sections</strong></a>]</p>
|
<p>Patch is based on seafile 5.1.4. You can find the release from <a href="https://github.com/haiwen/seafile/releases">seafile official repo</a>. You may follow official compile instructions from <a href="https://manual.seafile.com/build_seafile/linux.html">here</a>. [<a href="">Patch <strong>no longer avaiable, new version at following sections</strong></a>]</p>
|
||||||
|
|
||||||
<h3 id="how-to-collect-data-1">How to collect data</h3>
|
<h4 id="how-to-collect-data-1">How to collect data</h4>
|
||||||
|
|
||||||
<p>We also need everything be done using scripting. But this time I only design added some distance between two increasing files’ sizes.</p>
|
<p>We also need everything be done using scripting. But this time I only design added some distance between two increasing files’ sizes.</p>
|
||||||
|
|
||||||
@@ -493,7 +493,7 @@ But we also need some bash script to collect data through different size of rand
|
|||||||
<span class="nb">awk</span> <span class="s1">'/CDC|HUT|ALL/ {print $4,$5}'</span> ~/.ccnet/log/seafile.log <span class="o">></span> results.stat
|
<span class="nb">awk</span> <span class="s1">'/CDC|HUT|ALL/ {print $4,$5}'</span> ~/.ccnet/log/seafile.log <span class="o">></span> results.stat
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<h3 id="install-seafile-on-odroid-xu">Install Seafile on odroid xu</h3>
|
<h4 id="install-seafile-on-odroid-xu">Install Seafile on odroid xu</h4>
|
||||||
|
|
||||||
<p>Due to failure of my cross-compile to seafile on android. I used develop board as a replacement experiment platform for ARM-seafile testing. I used a <a href="http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137510300620">odroid xu</a> as hardware standard. Because all I need is an ARM platform, only an ARM-Ubuntu is enough for me. But develop prototype on a board is much fun than coding, I won’t address much this time. But I’ll start a blog telling some really cool stuff I made for a strange aim.</p>
|
<p>Due to failure of my cross-compile to seafile on android. I used develop board as a replacement experiment platform for ARM-seafile testing. I used a <a href="http://www.hardkernel.com/main/products/prdt_info.php?g_code=G137510300620">odroid xu</a> as hardware standard. Because all I need is an ARM platform, only an ARM-Ubuntu is enough for me. But develop prototype on a board is much fun than coding, I won’t address much this time. But I’ll start a blog telling some really cool stuff I made for a strange aim.</p>
|
||||||
|
|
||||||
@@ -515,11 +515,11 @@ unxz ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img.xz
|
|||||||
<span class="nb">sync</span>
|
<span class="nb">sync</span>
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<h1 id="2016-11">2016-11</h1>
|
<h2 id="2016-11">2016-11</h2>
|
||||||
|
|
||||||
<h2 id="android-kernel">Android Kernel</h2>
|
<h3 id="android-kernel">Android Kernel</h3>
|
||||||
|
|
||||||
<h3 id="how-to-build-an-android-kernel">How to build an Android Kernel?</h3>
|
<h4 id="how-to-build-an-android-kernel">How to build an Android Kernel?</h4>
|
||||||
|
|
||||||
<p>Generally, I won’t tell anything in this parts, just mark some related links, and point out some mistakes or error solutions.</p>
|
<p>Generally, I won’t tell anything in this parts, just mark some related links, and point out some mistakes or error solutions.</p>
|
||||||
|
|
||||||
@@ -534,11 +534,11 @@ unxz ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img.xz
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h1 id="2016-12">2016-12</h1>
|
<h2 id="2016-12">2016-12</h2>
|
||||||
|
|
||||||
<h2 id="android-kernel-1">Android Kernel</h2>
|
<h3 id="android-kernel-1">Android Kernel</h3>
|
||||||
|
|
||||||
<h3 id="how-to-compile-with-ftrace">How to compile with ftrace?</h3>
|
<h4 id="how-to-compile-with-ftrace">How to compile with ftrace?</h4>
|
||||||
|
|
||||||
<p>If we want to debug under android, ftrace is a great tool for working. But, ftrace is not available in android if we used default configure file. Android kernel configuration is in <strong>arch/arm64/kernel/configs</strong>. We need to add few lines under that.</p>
|
<p>If we want to debug under android, ftrace is a great tool for working. But, ftrace is not available in android if we used default configure file. Android kernel configuration is in <strong>arch/arm64/kernel/configs</strong>. We need to add few lines under that.</p>
|
||||||
|
|
||||||
@@ -553,7 +553,7 @@ unxz ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img.xz
|
|||||||
<span class="nv">CONFIG_STACK_TRACER</span><span class="o">=</span>y
|
<span class="nv">CONFIG_STACK_TRACER</span><span class="o">=</span>y
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<h3 id="how-to-extract-android-images-dump-an-image">How to extract android images: Dump an image</h3>
|
<h4 id="how-to-extract-android-images-dump-an-image">How to extract android images: Dump an image</h4>
|
||||||
|
|
||||||
<p>If we want to hold a rooted status after flashing boot, we need to extract an image from android devices. We can first use following command to find which blocks belongs to. According to some references, <a href="http://forum.xda-developers.com/showthread.php?t=2450045">this article</a> provide three ways to dump an image, I picked one for easy using.</p>
|
<p>If we want to hold a rooted status after flashing boot, we need to extract an image from android devices. We can first use following command to find which blocks belongs to. According to some references, <a href="http://forum.xda-developers.com/showthread.php?t=2450045">this article</a> provide three ways to dump an image, I picked one for easy using.</p>
|
||||||
|
|
||||||
|
|||||||
|
After Width: | Height: | Size: 359 KiB |
|
After Width: | Height: | Size: 299 KiB |
|
After Width: | Height: | Size: 131 KiB |
|
After Width: | Height: | Size: 188 KiB |
|
After Width: | Height: | Size: 162 KiB |
|
After Width: | Height: | Size: 268 KiB |
|
After Width: | Height: | Size: 171 KiB |
|
After Width: | Height: | Size: 139 KiB |
|
After Width: | Height: | Size: 497 KiB |