例如 USB storage, AHCI, NVMe 這些東西..
dracut -v -f --add-drivers "ahci libahci libata usb_storage uas nvme nvme_core" -f /boot/initramfs-$(uname -r).img $(uname -r)
不過我真的很不想再碰 RHEL, 不管是 distro 本身還是用它的人.
2018年12月11日 星期二
2018年11月14日 星期三
TPM2 on rhel 7
after install TPM2 software package ( tpm2-abrmd, tpm2-tss, tpm2-tools, tpm2-tss-devel ), added one file "20-tss.rules" into /etc/udev/rules.d/
/etc/udev/rules.d/20-tss.rules :
---
KERNEL=="tpm*", MODE=="0600", OWNER=="tss", GROUP=="tss"
---
then trigger the udev daemon:
udevadm control --reload-rules;udevadm trigger
enable tpm2-abrmd
systemctl enable tpm2-abrmd;systemctl start tpm2-abrmd
ps. CentOS 7 does not need to added 20-tss.rules.
/etc/udev/rules.d/20-tss.rules :
---
KERNEL=="tpm*", MODE=="0600", OWNER=="tss", GROUP=="tss"
---
then trigger the udev daemon:
udevadm control --reload-rules;udevadm trigger
enable tpm2-abrmd
systemctl enable tpm2-abrmd;systemctl start tpm2-abrmd
ps. CentOS 7 does not need to added 20-tss.rules.
2018年11月7日 星期三
DKMS for it87
這個 it87.c 我已經忘記是哪裡拿的, 我猜是從比 4.16 更後面的 kernel source 裡拆出來用, 個別編譯的. 首先的, 先安裝 dkms, 而且建議版本為 2.3-3ubuntu4, 2.3-3ubuntu3 這版確定有 mkdeb 的 bug. 而 2.3-3ubuntu4 的 .deb 我是直接拿 ubuntu 18.04 裡的直接裝在 16.04 用. 檔案下載找這裡:
http://launchpadlibrarian.net/349013047/dkms_2.3-3ubuntu4_all.deb
還有安裝一個必要套件 "debhelper"
在這列一下研究出來的 dkms.conf
---
MAKE="make -C src/ KERNELDIR=/lib/modules/${kernelver}/build"
DEST_MODULE_LOCATION="/kernel/drivers/hwmon"
CLEAN="make -C src/ clean"
BUILT_MODULE_NAME=it87
BUILT_MODULE_LOCATION=src/
PACKAGE_NAME=it87
PACKAGE_VERSION=1.0
REMAKE_INITRD=no
---
src/ 裡的檔案:
compat.h it87.c Makefile
Makefile內容:
---
TARGET := $(shell uname -r)
KERNEL_MODULES := /lib/modules/$(TARGET)
KERNEL_BUILD := /usr/src/linux-headers-$(TARGET)
SYSTEM_MAP := /boot/System.map-$(TARGET)
DRIVER := it87
MOD_SUBDIR = drivers/hwmon
obj-m := $(patsubst %,%.o,$(DRIVER))
obj-ko := $(patsubst %,%.ko,$(DRIVER))
MAKEFLAGS += --no-print-directory
.PHONY: all install modules modules_install clean
all: modules
modules clean:
@$(MAKE) -C $(KERNEL_BUILD) M=$(CURDIR) $@
install: modules_install
modules_install:
cp $(DRIVER).ko $(KERNEL_MODULES)/kernel/$(MOD_SUBDIR)
depmod -a -F $(SYSTEM_MAP) $(TARGET)
---
檔案一定要丟到 /usr/src/ 裡, 以下是我的內容, 版本為 1.0, 必需要有版本號. 以上沒提的檔案通通都可以忽略不用丟進去:
/usr/src/it87-1.0/
├── dkms.conf
├── ITE_Register_map.csv
├── ITE_Register_map.pdf
├── README
├── src
│ ├── compat.h
│ ├── it87.c
│ └── Makefile
└── TODO
這是 DKMS 一般的安裝手冊. 但是按照這個手冊跑, 它只是會編譯 .ko 檔跟安裝而已, 而我要的是每一次 upgrade kernel 時都要自己去編自己安裝...
https://help.ubuntu.com/community/DKMS
於是我簡化一下製作流程:
dkms add -m it87 -v 1.0
dkms build -m it87 -v 1.0
dkms mkdeb -m it87 -v 1.0
然後, 安裝已產生好的 deb:
dpkg -i /var/lib/dkms/it87/1.0/deb/it87-dkms_1.0_amd64.deb
這樣就可以確保每次更改 kernel 時外加的 kernel driver 也一起跟著被編譯, 被加入 initrd 裡.
http://launchpadlibrarian.net/349013047/dkms_2.3-3ubuntu4_all.deb
還有安裝一個必要套件 "debhelper"
在這列一下研究出來的 dkms.conf
---
MAKE="make -C src/ KERNELDIR=/lib/modules/${kernelver}/build"
DEST_MODULE_LOCATION="/kernel/drivers/hwmon"
CLEAN="make -C src/ clean"
BUILT_MODULE_NAME=it87
BUILT_MODULE_LOCATION=src/
PACKAGE_NAME=it87
PACKAGE_VERSION=1.0
REMAKE_INITRD=no
---
src/ 裡的檔案:
compat.h it87.c Makefile
Makefile內容:
---
TARGET := $(shell uname -r)
KERNEL_MODULES := /lib/modules/$(TARGET)
KERNEL_BUILD := /usr/src/linux-headers-$(TARGET)
SYSTEM_MAP := /boot/System.map-$(TARGET)
DRIVER := it87
MOD_SUBDIR = drivers/hwmon
obj-m := $(patsubst %,%.o,$(DRIVER))
obj-ko := $(patsubst %,%.ko,$(DRIVER))
MAKEFLAGS += --no-print-directory
.PHONY: all install modules modules_install clean
all: modules
modules clean:
@$(MAKE) -C $(KERNEL_BUILD) M=$(CURDIR) $@
install: modules_install
modules_install:
cp $(DRIVER).ko $(KERNEL_MODULES)/kernel/$(MOD_SUBDIR)
depmod -a -F $(SYSTEM_MAP) $(TARGET)
---
檔案一定要丟到 /usr/src/ 裡, 以下是我的內容, 版本為 1.0, 必需要有版本號. 以上沒提的檔案通通都可以忽略不用丟進去:
/usr/src/it87-1.0/
├── dkms.conf
├── ITE_Register_map.csv
├── ITE_Register_map.pdf
├── README
├── src
│ ├── compat.h
│ ├── it87.c
│ └── Makefile
└── TODO
這是 DKMS 一般的安裝手冊. 但是按照這個手冊跑, 它只是會編譯 .ko 檔跟安裝而已, 而我要的是每一次 upgrade kernel 時都要自己去編自己安裝...
https://help.ubuntu.com/community/DKMS
於是我簡化一下製作流程:
dkms add -m it87 -v 1.0
dkms build -m it87 -v 1.0
dkms mkdeb -m it87 -v 1.0
然後, 安裝已產生好的 deb:
dpkg -i /var/lib/dkms/it87/1.0/deb/it87-dkms_1.0_amd64.deb
sandisk extreme A2 microSD
很白爛的測試, 測試開機花掉的時間. OS: ubuntu xfce4 16.04.5(LTS) kernel 4.15.0-38, rootfs 為 btrfs, zlib:3 壓縮, no swap, 硬體為 iBASE IB897, atom E3845 1.91Ghz, 2+2GiB DDR3L-1600.
transcend class-10 8G: 64.62秒
sandisk exterme A2 64G: 59.90秒.
transcend class-10 8G: 64.62秒
sandisk exterme A2 64G: 59.90秒.
2018年8月19日 星期日
Windows 10 傳統注音輸入法
這裡要講的不是加 registry 把隱藏的純注音輸入法叫出來, 那種方法會僅只能在桌面 app 使用, 像 win10 專用的 app 如 LINE 就無法使用 (至於僅只能在桌面 app 使用的輸入法有沒有關係呢....? 對我來講僅只有 LINE 受影響而已, 關係不大), 而我自己是用 yahoo 輸入法, 這個輸入法很好用, 但再也沒人維護的情況下, 終就不是長久的解決之道, 也就是說, 一直沒有我滿意的解決方案.
而這個問題直到我發現 PIME 輸入法可以切換輸入法碼表 (也就是選字順序) 開始有了點改變..
PIME 怎麼樣就不是本篇重點不再介紹 (安裝時預設沒有傳統注音, 要自己勾選), 這裡我只寫出個人的設定筆記, 以下沒列的就是我沒改.
一般設定 -> 打字行為:
預設狀態 -> 預設以英文模式啟動
行為設定 -> 使用 Shift 快速切換中英文
候選清單 -> 使用空白鍵作為候選清單換頁鍵
候選清單 -> 優先以聯想字詞排序候選清單 (X) (勾掉不要)
輸出設定 ->
輸出設定 -> 允許內建符號輸入方式連續輸入
其它設定 -> 隱藏不必要的提示訊息
界面外觀 -> 界面設定:
每列顯示候選字個數: 10
每頁顯示候選字個數: 10
碼表設定 -> 輸入法碼表:
輸入法碼表: 傳統注音
最後一個對我很重要, 因為預設是泰瑞注音, 選字順序有很多都跟傳統注音不同, 對一個傳統注音用的很習慣, 早就把選字表背的牢牢的我來說, 改選字順序跟叫我換一個輸入法幾乎沒有差別,
PIME 這個輸入法有個好處, 你的主要語系如果是英文, 也不受影響.
而這個問題直到我發現 PIME 輸入法可以切換輸入法碼表 (也就是選字順序) 開始有了點改變..
PIME 怎麼樣就不是本篇重點不再介紹 (安裝時預設沒有傳統注音, 要自己勾選), 這裡我只寫出個人的設定筆記, 以下沒列的就是我沒改.
一般設定 -> 打字行為:
預設狀態 -> 預設以英文模式啟動
行為設定 -> 使用 Shift 快速切換中英文
候選清單 -> 使用空白鍵作為候選清單換頁鍵
候選清單 -> 優先以聯想字詞排序候選清單 (X) (勾掉不要)
輸出設定 ->
輸出設定 -> 允許內建符號輸入方式連續輸入
其它設定 -> 隱藏不必要的提示訊息
界面外觀 -> 界面設定:
每列顯示候選字個數: 10
每頁顯示候選字個數: 10
碼表設定 -> 輸入法碼表:
輸入法碼表: 傳統注音
最後一個對我很重要, 因為預設是泰瑞注音, 選字順序有很多都跟傳統注音不同, 對一個傳統注音用的很習慣, 早就把選字表背的牢牢的我來說, 改選字順序跟叫我換一個輸入法幾乎沒有差別,
PIME 這個輸入法有個好處, 你的主要語系如果是英文, 也不受影響.
2018年7月7日 星期六
mount --bind in fstab
ex:
/dev/shm /tmp none defaults,bind 0 0
ubuntu 底下加速蠻多的, 也不需要另外多加上 systemd 的 service.
/dev/shm /tmp none defaults,bind 0 0
ubuntu 底下加速蠻多的, 也不需要另外多加上 systemd 的 service.
2018年6月21日 星期四
sdelete for windows
簡單的說這個工具專門清洗非使用中磁區的, 對 SSD 有沒有用我不確定, 但如果你是 VM, VM 裡跑的又是較老舊的 OS 如 WinXP, VM 檔案又是放在有壓縮功能的檔案系統如 btrfs, zfs, 這個清除工具就可以幫你清出一些不用的空間出來.
https://docs.microsoft.com/en-us/sysinternals/downloads/sdelete
https://docs.microsoft.com/en-us/sysinternals/downloads/sdelete
2018年5月30日 星期三
MBR 轉換到 GPT 筆記
現在這篇筆記是寫給已經裝在 MBR partition 的 ubuntu linux distro 轉換到 GPT partition 的手法, 轉換的條件有幾個:
GPT partition 會使用頭尾 17KiB (33 sectors), 所以 34-2047 這段是空白沒有使用的. 過去 grub2 在 MBR 裡會把 2nd boot section 擺在 2-63 sectors 這段空間裡, 在 GPT 我就不知道它擺在哪, 總之我把這段空間整段抹掉拿來做 GPT ef00 partition 竟然是可以用的. 只能說 grub2 好厲害. 不過因為這段僅只有 1007KiB, 所以只能使用 FAT16 的格式.
#update190109: 只需要 1007KiB 大小的是比較舊的 grub, grub2 用的 efi 檔案總共有 4MiB 以上, 不能再使用這種方法安裝. 新版的 grub2 efi 好處是在 grub.cfg 裡就可以指定 disk uuid 可以隨時更改, 壞處是檔案變的很肥大...
而在 gdisk 裡操作切割 34-2047 這段, 要在 gdisk 下, 先切 "x" Expert command mode 下用 "l" (L) 將基本區塊指定為 1 (預設為 2048, 1MiB), 再切 "m" 回一般模式, 就可以手動分割出 34-2047 這段為一個 partition 出來. 設定好 partition type 為 ef00 後, 用 "s", 就可以自動排序成該有的先後順序.
假設目標硬碟為 /dev/sdX, EFI System partition (ef00) 為 /dev/sdX1, rootfs 為 /dev/sdX2, 工作目錄為 /tmp/rootfs, /dev/sdX1 記得要掛在 rootfs 的 boot/efi/ 下:
grub-install \
--recheck \
--force \
--target=x86_64-efi \
--bootloader-id=ubuntu \
--boot-directory=/tmp/rootfs/boot/ \
--efi-directory=/tmp/rootfs/boot/efi/ \
--modules="part_gpt ext2" \
/dev/sdX
mkdir -p /tmp/rootfs/boot/efi/EFI/BOOT
mv /tmp/rootfs/boot/efi/EFI/ubuntu/grubx64.efi /tmp/rootfs/efi/EFI/BOOT/bootx64.efi
update 20181218: 以上紅字為使用 ubuntu 版 amd64 grub2 binary 時 "必需" 字串與步驟. bootloader-id 為什麼非 ubuntu 不可這別問我, 我不知道. move 到 EFI/BOOT/bootx64.efi 前面有說, 也是必需, 否則一堆板子認不到.
- 建議 x86-64 的系統. 這是 ubuntu 官方文件這樣建議, 不是我寫的. 以我所知道從 2011 年 intel 開始大力推展 UEFI BIOS 以來, 64bit UEFI 也可以開 32bit boot-loader, 反過來不行, 所以很大多數的板子用的都是 64bit UEFI (可能有些 intel reference board 還在死命抗拒 x86-64 還在用 ia32 UEFI 那不在我們討論範圍內..), 所以我也是建議使用 x86-64 的系統.
- 磁碟的剩餘 sector 數必需大於 34, 因為 GPT partition 會有另一個備份 partition table 放在硬碟尾端 34 sectors 上, 所以轉換到 GPT 時需要保留. 在用 fdisk -l 看 MBR martition 硬碟時可以看到第一行硬碟機有多少 sectors 可用, 例如
- Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
- /dev/sdb2 59793408 1953521663 1893728256 903G 83 Linux
- 前者必需要比後者大最少 34. 一般來說較新的 distro fdisk 都會以 1MiB 當基本單位, 而硬碟機很少有可用空間是 1048576byte 整數倍的, 所以會碰上不能用的可能性實在不太高....
- ubuntu 準備兩個套件 grub-efi-amd64 grub-efi-amd64-bin
- UEFI 認得的 file system 種類. 我所知只有 FAT16, FAT32, NTFS, ext4不支援.
- GPT partition 編號要為 ef00 (EFI System). (ubuntu 官方文件提到如果是 MBR, 用的就是 0xef, 而且要設定為 bootable. 但我沒有實驗過在 UEFI 下使用 MBR).
- ps. ef02 為非必需.
- EFI System 的有效大小看使用的檔案系統, FAT16 可以 512KiB 起跳,
但 FAT32 最少要 33MiB (含) 起跳, 否則 BIOS 認不到. 在做 mkfs.vfat 前保守一點用 wipefs -fa 清掉這個 FAT partition 殘存的資料, 否則有機會造成即使空間足夠, format 成 FAT32 BIOS 一樣認不到. - 預設基本目錄為 EFI/BOOT/BOOTx64.efi, EFI 底下不是 BOOT 它認不到, BOOT 底下沒有 BOOTx64.efi 也認不到, 別問我為什麼我不知道. asus 是這樣, VM workstation 也是這樣.
GPT partition 會使用頭尾 17KiB (33 sectors), 所以 34-2047 這段是空白沒有使用的. 過去 grub2 在 MBR 裡會把 2nd boot section 擺在 2-63 sectors 這段空間裡, 在 GPT 我就不知道它擺在哪, 總之我把這段空間整段抹掉拿來做 GPT ef00 partition 竟然是可以用的. 只能說 grub2 好厲害. 不過因為這段僅只有 1007KiB, 所以只能使用 FAT16 的格式.
#update190109: 只需要 1007KiB 大小的是比較舊的 grub, grub2 用的 efi 檔案總共有 4MiB 以上, 不能再使用這種方法安裝. 新版的 grub2 efi 好處是在 grub.cfg 裡就可以指定 disk uuid 可以隨時更改, 壞處是檔案變的很肥大...
而在 gdisk 裡操作切割 34-2047 這段, 要在 gdisk 下, 先切 "x" Expert command mode 下用 "l" (L) 將基本區塊指定為 1 (預設為 2048, 1MiB), 再切 "m" 回一般模式, 就可以手動分割出 34-2047 這段為一個 partition 出來. 設定好 partition type 為 ef00 後, 用 "s", 就可以自動排序成該有的先後順序.
假設目標硬碟為 /dev/sdX, EFI System partition (ef00) 為 /dev/sdX1, rootfs 為 /dev/sdX2, 工作目錄為 /tmp/rootfs, /dev/sdX1 記得要掛在 rootfs 的 boot/efi/ 下:
- mount /dev/sdX2 /tmp/rootfs
- mkdir -p /tmp/rootfs/boot/efi
- mount /dev/sdX1 /tmp/rootfs/boot/efi
grub-install \
--recheck \
--force \
--target=x86_64-efi \
--bootloader-id=ubuntu \
--boot-directory=/tmp/rootfs/boot/ \
--efi-directory=/tmp/rootfs/boot/efi/ \
--modules="part_gpt ext2" \
/dev/sdX
mkdir -p /tmp/rootfs/boot/efi/EFI/BOOT
mv /tmp/rootfs/boot/efi/EFI/ubuntu/grubx64.efi /tmp/rootfs/efi/EFI/BOOT/bootx64.efi
update 20181218: 以上紅字為使用 ubuntu 版 amd64 grub2 binary 時 "必需" 字串與步驟. bootloader-id 為什麼非 ubuntu 不可這別問我, 我不知道. move 到 EFI/BOOT/bootx64.efi 前面有說, 也是必需, 否則一堆板子認不到.
2018年5月10日 星期四
`linux-update-symlinks` is not available.
一如 bug report 所說, 是 linux-base 這個套件有少東西, 須要升級. 但是沒有講要升到哪一版. 我測試的結果是必需要 4.5 (4.5ubuntu1)開始才有:
https://packages.ubuntu.com/bionic/linux-base
google 到的都是一堆廢話, 就是沒有寫怎麼解. 下載上面那個安裝包裡的東西再 dpkg -i 就可以了.
https://packages.ubuntu.com/bionic/linux-base
google 到的都是一堆廢話, 就是沒有寫怎麼解. 下載上面那個安裝包裡的東西再 dpkg -i 就可以了.
2018年4月27日 星期五
yocto rebuild package
rebuild 其實很簡單, -f -c clean 再 -f -c deploy (有的套件不支援) 或 -f -c compile 就好. 麻煩的是你要知道這套件叫什麼名字. 因為隨著引入的 meta 套件不同, 命名會有所不同.
例如在 error task log 裡有提到
qtquickcontrols2_git.bb
在 yocto 的套件命名規則裡, 底線 "_" 之後都是版本, 之前都是套件名稱, 所以特別把在這之前的名稱過濾出來即可:
bitbake qtquickcontrols2 -f -c clean;bitbake qtquickcontrols2 -f -c compile
多下一個 clean 會比較保險.
linux kernel 在 yocto 官方名稱記得是叫 linux-yocto, 所以像 intel 的 yocto bsp 重編 kernel 你就要下 bitbake linux-yocto -f -c deploy
例如在 error task log 裡有提到
qtquickcontrols2_git.bb
在 yocto 的套件命名規則裡, 底線 "_" 之後都是版本, 之前都是套件名稱, 所以特別把在這之前的名稱過濾出來即可:
bitbake qtquickcontrols2 -f -c clean;bitbake qtquickcontrols2 -f -c compile
多下一個 clean 會比較保險.
linux kernel 在 yocto 官方名稱記得是叫 linux-yocto, 所以像 intel 的 yocto bsp 重編 kernel 你就要下 bitbake linux-yocto -f -c deploy
2018年3月19日 星期一
android ignore imgdiff
when build system image (target command "systemimage") got the shit message:
"failed to break apart source image"
fuck it!
modify the code to ignore this idiot work:
"bootable/recovery/applypatch/imgdiff.cpp"
int main(int argc, char** argv) {
int zip_mode = 0;
+ return 0; //return "success" direct, don't do anything stupid.
...
}
I don't know why added garbage work here, may guess CPU toooo fast? fuck..
"failed to break apart source image"
fuck it!
modify the code to ignore this idiot work:
"bootable/recovery/applypatch/imgdiff.cpp"
int main(int argc, char** argv) {
int zip_mode = 0;
+ return 0; //return "success" direct, don't do anything stupid.
...
}
I don't know why added garbage work here, may guess CPU toooo fast? fuck..
2018年3月14日 星期三
wpa_supplicant assign MAC address
參考
這是指定 AP MAC address 的做法. 這種場合是你不能設定 AP 名稱, AP 的 2.4Ghz / 5Ghz 都用一樣的 SSID, 或你只需要連上某個特定的 AP 時, 就需要這樣做:
現在有 ".TPE-FGreeADWifi-Car" 這個車廂內專用 SSID 可用, 才解決這個問題.
這是指定 AP MAC address 的做法. 這種場合是你不能設定 AP 名稱, AP 的 2.4Ghz / 5Ghz 都用一樣的 SSID, 或你只需要連上某個特定的 AP 時, 就需要這樣做:
FILE /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel
ap_scan=1
network={
bssid=00:50:17:31:1a:11
ssid="YourSSID"
psk="your-secret-key"
scan_ssid=1
proto=RSN
key_mgmt=WPA-PSK
group=CCMP TKIP
pairwise=CCMP TKIP
priority=5
}
題外話. 在這之前台北捷運無線網路不管是車廂內還是站內都用同一個 SSID, 變成座車時只要站內的信號比較強, android 內 wpa_supplicant 就會很雞婆的切換過去, 然後就不能上網了. wpa_supplicant 動作又慢, web browser 動作也慢, 手機 CPU 動作更慢, 等到認證可以連上網時車子已經離站了, 然後你又要再連線一次...現在有 ".TPE-FGreeADWifi-Car" 這個車廂內專用 SSID 可用, 才解決這個問題.
2018年3月10日 星期六
Windows 10 update
〔Win〕+〔R〕並輸入「gpedit.msc」後再按下〔確定〕鈕。 進入了「群組原則編輯器」畫面後,請展開左邊「電腦設定」→「系統管理範本」→「 Windows元件」→「Windows Update」,並點選兩下右邊的「設定自動更新」。 預設值是「尚未設定」,請點選「已啟用」後在選項上指定2或4
來源
Win+R -> gpedit.msc -> LocalComputerPolicy->ComputerConfiguration->AdministrativeTemplates-> WindowsComponents->WindowsUpdate->ConfigureAutomaticUpdates->Enable->Select 2
在噓你機器上有確定要手動按才會更新,暫時不會亂搞了。
update 2018/05/01: 功能更新 (RS4) 不會擋, 看來必需要有更強制的手段
來源
Win+R -> gpedit.msc -> LocalComputerPolicy->ComputerConfiguration->AdministrativeTemplates-> WindowsComponents->WindowsUpdate->ConfigureAutomaticUpdates->Enable->Select 2
在噓你機器上有確定要手動按才會更新,暫時不會亂搞了。
update 2018/05/01: 功能更新 (RS4) 不會擋, 看來必需要有更強制的手段
2018年2月13日 星期二
排骨雞乾麵
簡單的講結論, 要我給分數我會給 6 分 (滿分10分)
然後才是我的評價.
首先的它的醬包跟湯麵版的只是很接近, 並不一樣, 油比較少比較稠, 可能是為了某些人會留些麵湯的吃法設想. 雖然說不是很好拌, 但比起一堆流動油質的醬料包比起來感覺較有料, 麵著味的比較徹底. 但醬料裡也跟湯麵版的醬料一樣有不知所謂的類排骨肉塊, 這種東西在湯麵裡有水可以吸還比較好, 但放到乾麵裡來就會顯的很失敗. 如果要我建議, 我會建議這種料要不再打碎一點, 要不就拿掉.
粉包. 粉包之所以擺醬包後面寫是因為我認為粉包放的時間要抓的夠好, 殘湯也要在某種程度以上時放下去最好. 它的粉包跟湯麵版完全一樣, 也有糖醃過的高麗菜 (整個排骨雞麵裡幾乎最畫龍點睛的單位我認為就是它), 但這是乾麵, 所以一般的吃法是把這種料變成湯料..... 當然啦, 以我的泡法來說我並不喜歡這樣, 我喜歡吃重鹹, 不管是維力雜醬麵還什麼乾麵, 我都把這種粉包, 在整包麵全都泡軟, 水倒到一半時, 再下下去, 再讓這些湯料包吸收水份. 這時湯料包的鹽還有調味料可以附在麵上, 讓麵體並不會那麼清淡. 這樣做法的缺點就是要特地抓時間, 抓水量, 這樣的做法其實已經脫離 "方便" 的意義.
再來把麵湯都倒掉後, 才是上前面講的醬料.
再來講它的麵體. 它的麵體屬於那種泡不爛, 要高溫開水的那種, 基本上沒 5 分鐘以上搞不定, 而且更別說它在正常的碗裡面都要壓碎幹麻的, 水淹不到全部, 還要翻翻再泡這樣. 要快的話我會建議找統一蔥燒牛肉麵, 那是目前我所知麵類 (米粉麵線那些不算) 裡真正 3 分鐘 50 度水溫搞的定的麵種. 而本文講的這種麵種, 連全家賣的關東煮用拉麵都比它容易泡開.
就是這個. 拿來拌乾麵真的超讚. 又不會有拉麵那討人厭的鹼水味. 所以結論是這種麵條, 如果你願意等個 10 分鐘的話, 它可以很可口很好吃. 不想等的話, 整碗拿去微波爐裡再加熱個 90 秒....
最後呢, 分數給那麼低主要還是因為麵要花太長久的時間才泡的開, 其它粉包醬料嘛...... 臺灣泡麵都長那樣, 評分沒啥意義.
然後才是我的評價.
首先的它的醬包跟湯麵版的只是很接近, 並不一樣, 油比較少比較稠, 可能是為了某些人會留些麵湯的吃法設想. 雖然說不是很好拌, 但比起一堆流動油質的醬料包比起來感覺較有料, 麵著味的比較徹底. 但醬料裡也跟湯麵版的醬料一樣有不知所謂的類排骨肉塊, 這種東西在湯麵裡有水可以吸還比較好, 但放到乾麵裡來就會顯的很失敗. 如果要我建議, 我會建議這種料要不再打碎一點, 要不就拿掉.
粉包. 粉包之所以擺醬包後面寫是因為我認為粉包放的時間要抓的夠好, 殘湯也要在某種程度以上時放下去最好. 它的粉包跟湯麵版完全一樣, 也有糖醃過的高麗菜 (整個排骨雞麵裡幾乎最畫龍點睛的單位我認為就是它), 但這是乾麵, 所以一般的吃法是把這種料變成湯料..... 當然啦, 以我的泡法來說我並不喜歡這樣, 我喜歡吃重鹹, 不管是維力雜醬麵還什麼乾麵, 我都把這種粉包, 在整包麵全都泡軟, 水倒到一半時, 再下下去, 再讓這些湯料包吸收水份. 這時湯料包的鹽還有調味料可以附在麵上, 讓麵體並不會那麼清淡. 這樣做法的缺點就是要特地抓時間, 抓水量, 這樣的做法其實已經脫離 "方便" 的意義.
再來把麵湯都倒掉後, 才是上前面講的醬料.
再來講它的麵體. 它的麵體屬於那種泡不爛, 要高溫開水的那種, 基本上沒 5 分鐘以上搞不定, 而且更別說它在正常的碗裡面都要壓碎幹麻的, 水淹不到全部, 還要翻翻再泡這樣. 要快的話我會建議找統一蔥燒牛肉麵, 那是目前我所知麵類 (米粉麵線那些不算) 裡真正 3 分鐘 50 度水溫搞的定的麵種. 而本文講的這種麵種, 連全家賣的關東煮用拉麵都比它容易泡開.
就是這個. 拿來拌乾麵真的超讚. 又不會有拉麵那討人厭的鹼水味. 所以結論是這種麵條, 如果你願意等個 10 分鐘的話, 它可以很可口很好吃. 不想等的話, 整碗拿去微波爐裡再加熱個 90 秒....
最後呢, 分數給那麼低主要還是因為麵要花太長久的時間才泡的開, 其它粉包醬料嘛...... 臺灣泡麵都長那樣, 評分沒啥意義.
2018年2月1日 星期四
2018年1月24日 星期三
2018年1月17日 星期三
Windows Services for UNIX 3.5
我因為還有些拉檔軟體要跑所以還有在使用很老舊的 Windows XP, 使用它的理由也很簡單, 512MiB RAM 就可以跑的好好的. 裝這個沒什麼目地, 就只是給老舊的 Windows XP 可以連 NFS 而已. 檔案來這裡找:
http://www.filewatcher.com/m/SFU35SEL_EN.exe.228178504-0.html
怎麼用可以參考這篇
https://technet.microsoft.com/zh-tw/library/cc754350(v=ws.11).aspx
唯需注意的是在 windows 下使用的路徑一樣, 所以 NFS 跟 samba 共用的資源名稱最好不要一樣, 以方便 windows 去認哪個是哪個. 使用 NFS 我主要的目地只是拿來取代原本的 SMB 而已, NFS 有比 SMB (網芳) 要快嗎? 沒有, 略慢於 SMB.. 但 Windows 端最主要的 performance issue 會在 NTFS + 有開啟檔案壓縮上, 只要有開壓縮就會變的奇慢, 這個問題一直到 Windows 10 (build 1709) 上都存在.
而 btrfs 跟 zfs 即使有開啟檔案壓縮, 也並不會像 NTFS 掉速剩 1/4 如此誇張.
Windows 的 disk IO 能力大家都知道, 別 complain 它了..
http://www.filewatcher.com/m/SFU35SEL_EN.exe.228178504-0.html
怎麼用可以參考這篇
https://technet.microsoft.com/zh-tw/library/cc754350(v=ws.11).aspx
唯需注意的是在 windows 下使用的路徑一樣, 所以 NFS 跟 samba 共用的資源名稱最好不要一樣, 以方便 windows 去認哪個是哪個. 使用 NFS 我主要的目地只是拿來取代原本的 SMB 而已, NFS 有比 SMB (網芳) 要快嗎? 沒有, 略慢於 SMB.. 但 Windows 端最主要的 performance issue 會在 NTFS + 有開啟檔案壓縮上, 只要有開壓縮就會變的奇慢, 這個問題一直到 Windows 10 (build 1709) 上都存在.
而 btrfs 跟 zfs 即使有開啟檔案壓縮, 也並不會像 NTFS 掉速剩 1/4 如此誇張.
Windows 的 disk IO 能力大家都知道, 別 complain 它了..
2018年1月3日 星期三
cifs mount
在 ubuntu 的 kernel 套件 kernel 4.13 開始似乎不再支援 smb ver.1, kernel 本身的支援能力倒是沒什麼太大問題, 有問題的地方在預設似乎都用 smb ver.1 ?? 所以會被 (例如 win10) 擋下來.
解法很簡單, mount cifs 時 option 多加一個 vers=, ex:
mount -t cifs //127.0.0.1/testfs /tmp/rootfs -o vers=2.1
各版 windows SMB 版本參考
https://blogs.technet.microsoft.com/josebda/2012/06/06/windows-server-2012-which-version-of-the-smb-protocol-smb-1-0-smb-2-0-smb-2-1-or-smb-3-0-are-you-using-on-your-file-server/
解法很簡單, mount cifs 時 option 多加一個 vers=, ex:
mount -t cifs //127.0.0.1/testfs /tmp/rootfs -o vers=2.1
各版 windows SMB 版本參考
https://blogs.technet.microsoft.com/josebda/2012/06/06/windows-server-2012-which-version-of-the-smb-protocol-smb-1-0-smb-2-0-smb-2-1-or-smb-3-0-are-you-using-on-your-file-server/
訂閱:
文章 (Atom)