fastboot erase sbl1
fastboot reboot
開機後因為sbl1 partition不見,
系統會直接進edl
平台為Qcom的8909, 滿舊的.
不知道較新的平台適不適用就是了.
2019年6月25日 星期二
[工作] Jenkins資料備份方式
預設Jenkins的資料放在home目錄的.jenkins下
所以備份只要把.jenkins用tar保存起來就好
$ tar zcvf jenkins-backup.tgz .jenkins/* --exclude=./war
就算你的Jenkins重新安裝, 只要把檔案解壓縮回去.jenkins,
資料也會馬上回復.
所以備份只要把.jenkins用tar保存起來就好
$ tar zcvf jenkins-backup.tgz .jenkins/* --exclude=./war
就算你的Jenkins重新安裝, 只要把檔案解壓縮回去.jenkins,
資料也會馬上回復.
2019年6月11日 星期二
[工作] Ubuntu增加一個開機執行的service的方式
Ubuntu 16.04後使用systemd控管service,
user可以透過systemctl控管.
想增加自己的service,
先新增.service檔案在/lib/systemd/system下
ex.
/lib/systemd/system/myservice.service
一個基本的service的內容為
[Unit]
Description=nfsmount
[Service]
Type=simple
ExecStart=/bin/bash /usr/bin/myservice
ExecStop=/bin/kill -s QUIT $MAINPID
[Install]
WantedBy=multi-user.target
ExecStart為開後或執行systemctl start nfsmount後對應的
ExecStop為執行systemctl stop nfsmount
完成之後執行
systemctl enable nfsmount.service
systemctl daemon-reload
之後每次開機後就會執行你的service
user可以透過systemctl控管.
想增加自己的service,
先新增.service檔案在/lib/systemd/system下
ex.
/lib/systemd/system/myservice.service
一個基本的service的內容為
[Unit]
Description=nfsmount
[Service]
Type=simple
ExecStart=/bin/bash /usr/bin/myservice
ExecStop=/bin/kill -s QUIT $MAINPID
[Install]
WantedBy=multi-user.target
ExecStart為開後或執行systemctl start nfsmount後對應的
ExecStop為執行systemctl stop nfsmount
完成之後執行
systemctl enable nfsmount.service
systemctl daemon-reload
之後每次開機後就會執行你的service
2019年4月15日 星期一
[工作] vim分頁的一些用法
1. 將其中一個頁面用新分頁開啟
a. 看目前分頁的編號
:ls
1 a "src/java/com/android/internal/telephony/PhoneSubInfoController.java" line 0
2 a "src/java/com/android/internal/telephony/Phone.java" line 0
3 a "src/java/com/android/internal/telephony/PhoneFactory.java" line 0
5 #a "src/java/com/android/internal/telephony/RIL.java" line 89
6 %a "src/java/com/android/internal/telephony/GsmCdmaPhone.java" line 1
找到要開啟新分頁的編號, 然後
:tab sb 6
將編號6的頁面用新分頁開啟
2. 保存現在開啟的所有分頁, 並在下次全部開回來
保存
:mksession [session_file_name]
重開
:source [session_file_name]
a. 看目前分頁的編號
:ls
1 a "src/java/com/android/internal/telephony/PhoneSubInfoController.java" line 0
2 a "src/java/com/android/internal/telephony/Phone.java" line 0
3 a "src/java/com/android/internal/telephony/PhoneFactory.java" line 0
5 #a "src/java/com/android/internal/telephony/RIL.java" line 89
6 %a "src/java/com/android/internal/telephony/GsmCdmaPhone.java" line 1
找到要開啟新分頁的編號, 然後
:tab sb 6
將編號6的頁面用新分頁開啟
2. 保存現在開啟的所有分頁, 並在下次全部開回來
保存
:mksession [session_file_name]
重開
:source [session_file_name]
2019年3月21日 星期四
[工作] Ubuntu下讓user使用sudo command不需要密碼
修改/etc/sudoers檔案, 文件建議使用visudo修改
$ sudo visudo
然後加入:
username ALL = NOPASSWD: /bin/mount, /bin/umount
這樣之後那個user下sudo mount/sudo umount都不需要再輸入密碼.
如果要讓所有command都不用密碼:
username ALL = NOPASSWD: ALL
修改完之後儲存, 登出再登入後生效.
$ sudo visudo
然後加入:
username ALL = NOPASSWD: /bin/mount, /bin/umount
這樣之後那個user下sudo mount/sudo umount都不需要再輸入密碼.
如果要讓所有command都不用密碼:
username ALL = NOPASSWD: ALL
修改完之後儲存, 登出再登入後生效.
2019年3月11日 星期一
[工作] Linux shell: Here document用法 (cat << EOF)
在shell裡面看到usage的用法:
cat >&2 <<- _USAGE_
Usage:
aaa
bbb
ccc
_USAGE_
意思就是把第一個_USAGE_後面所有文字都導到&2(錯誤輸出)去,
直到第二個_USAGE_為止.
也可以導到檔案裡面:
cat >output.txt <<- _USAGE_
Usage:
aaa
bbb
ccc
_USAGE_
cat >&2 <<- _USAGE_
Usage:
aaa
bbb
ccc
_USAGE_
意思就是把第一個_USAGE_後面所有文字都導到&2(錯誤輸出)去,
直到第二個_USAGE_為止.
也可以導到檔案裡面:
cat >output.txt <<- _USAGE_
Usage:
aaa
bbb
ccc
_USAGE_
2019年3月10日 星期日
[工作] multi-user環境build Android N/O時遇到jack的相關問題
根據這篇
jack基本上不支援multi-user build code,
而且因為有許多問題,
Android P跟之後的版本已經拿掉了.
主要問題發生在build machine上,
UserA成功build完一版,
UserB也想要build, 會發生jack error.
主因是UserA build的時候, launch jack server, 佔用8076 & 8077 port,
UserB要build的時候, 會再launch一次, 發現port已經被佔走了, 產生error.
目前只能用workaround的方式cover.
在error之後,
到$HOME/.jack-server/config.properties裡面把port改掉:
jack.server.service.port=8086
jack.server.admin.port=8087
然後$HOME/.jack-settings也改:
SERVER_PORT_SERVICE=8086
SERVER_PORT_ADMIN=8087
再重新build, 就可以了.
ps. .jack-server, .jack-settings會再build的途中, start jack時產生.
jack基本上不支援multi-user build code,
而且因為有許多問題,
Android P跟之後的版本已經拿掉了.
主要問題發生在build machine上,
UserA成功build完一版,
UserB也想要build, 會發生jack error.
主因是UserA build的時候, launch jack server, 佔用8076 & 8077 port,
UserB要build的時候, 會再launch一次, 發現port已經被佔走了, 產生error.
目前只能用workaround的方式cover.
在error之後,
到$HOME/.jack-server/config.properties裡面把port改掉:
jack.server.service.port=8086
jack.server.admin.port=8087
然後$HOME/.jack-settings也改:
SERVER_PORT_SERVICE=8086
SERVER_PORT_ADMIN=8087
再重新build, 就可以了.
ps. .jack-server, .jack-settings會再build的途中, start jack時產生.
訂閱:
文章 (Atom)