2023年12月30日 星期六

於Acer的AspireSwitch10上安裝Slackware 15.0

因為覺得Win10對這台筆電來說系統太大了

決定換裝成Linux,只是選用Slackware 15.0來裝

只是這個筆電僅支援EFI 開機,而且還要用32位元的EFI

 所以得先去下載bootia32.efi檔

下載後於隨身碟中建立資料夾/EFI/BOOT

然後再將slackware64-15.0的光碟影像檔中的資料複製到另一個隨身碟或分割區中

並將檔案放入後即可開機

開機後會進到grub的維修模式 

 首先要先找到slackware的隨身碟或分割區

用ls 

 

此時依照可能的位置去找

ls (cd0)/


 此時輸入

set root=(cd0)

linux /EFI/BOOT/huge.s

initrd /EFI/BOOT/initrd.img 

 

然後開機

輸入boot

這樣就可以正常進入開機程序

主要需要注意的是,在分割硬碟時不可以使用GPT的格式,而是選用dos格式,如下

 

 這邊我是先分割好硬碟再進入安裝程序

安裝程序依照slackware的安裝步驟

但是安裝完成後重開後發生EFI進不去的狀況

只好用一開始做好的EFI來開機

輸入 set root(hd0,msdos1)

linux /EFI/Slackware/vmlinuz root=/dev/mmcblk1p3

initrd /EFI/Slackware/initrd.gz

boot

開機,但會在mount /時出錯

覺得是因為使用mmc的關係,少掛載了關於mmc的模組

這個時候我另外一台主機上重建initrd.gz 

利用 mkinitrd

mkinitrd -c -k 5.15.145 -f ext4 -r /dev/sda2 -m \
intel_soc_dts_thermal:intel_soc_dts_iosf:\intel_powerclamp:coretemp:kvm_intel:kvm:spi_nor:irqbypass:r8723bs:\mtd:crct10dif_pclmul:crc32_pclmul:libarc4:polyval_generic:iTCO_wdt:gf128mul:\spi_intel_platform:mei_pxp:mei_hdcp:ghash_clmulni_intel:intel_pmc_bxt:spi_intel:\iTCO_vendor_support:gpio_keys:mmc_block:cfg80211:sha512_ssse3:intel_rapl_msr:\i915:aesni_intel:hci_uart:crypto_simd:ak8975:cryptd:btqca:intel_cstate:acer_wmi:btrtl:\drm_buddy:intel_bytcrc_pwrsrc:i2c_algo_bit:sparse_keymap:btbcm:i8042:\

int3401_thermal:ttm:mei_txe:btintel:vfat:processor_thermal_device:fat:\

serio:wmi_bmof:mei:lpc_ich:processor_thermal_rfim:drm_display_helper:\

inv_mpu6050_i2c:bluetooth:cec:inv_mpu6050:intel_gtt:processor_thermal_mbox:\

industrialio_triggered_buffer:ac97_bus:processor_thermal_rapl:soc_button_array:\

dptf_power:dw_dmac:mousedev:kfifo_buf:joydev:int3406_thermal:cm32181:\

mac_hid:ecdh_generic:int3400_thermal:int3403_thermal:intel_rapl_common:\

acpi_thermal_rel:int340x_thermal_zone:intel_int0002_vgpio:acpi_pad:rfkill:\

i2c_mux:sdhci_acpi:industrialio:i2c_hid_acpi:sdhci:mmc_core:i2c_hid:8250_dw:\

hid_multitouch:hid_ite:loop:fuse:dm_mod:bpf_preload:ip_tables:x_tables:ext4:\

crc32c_generic:crc16:mbcache:jbd2:uas:usb_storage:crc32c_intel:\

xhci_pci:xhci_pci_renesas:video:wmi:usbhid -u -o /boot/initrd.gz

然後將vmlinuz跟重建好的initrd.gz都放進可以開機的隨身碟中

重新開機再進grub的維修模式中輸入

set root(hd0,msdos1)

linux /EFI/Slackware/vmlinuz root=/dev/mmcblk1p3

initrd /EFI/Slackware/initrd.gz

boot

此時就可以正常開機

目前只能這樣才能正常開機,不知道為什麼無法從他的固態硬碟中開機

2023年11月30日 星期四

於Archlinux中設定本地字元

 編輯 /etc/locale.gen

在其中 找到#zh_TW.UTF-8 UTF-8

將#刪除後執行locale-gen

這樣就可以顯示正常的繁體中文字元

簡單記錄一下Archlinx關於bash跟ls的設定

 可以在/etc/bash.bashrc中修改自己喜歡的樣式

 PS1='[\u@\h:\W]\$ '

alias ls='/bin/ls -F -b -T 0 --color=auto'


2023年10月3日 星期二

Raspberry pi 配合 Archlinux做簡單檔案伺服器

 這邊簡單紀錄一下

目前用的是archlinux  6.1.54-2-rpi-ARCH配合Raspberry pi 2的板子

先行做套件更新

pacman -Suy

把samba裝起來

pacman -S samba

接下來用編輯器把smb.conf建立起來

[global]

workgroup = XXXX

server min protocol = SMB3

server string = XXXX

netbios name = XXXX

security = uesr

hosts allow = 127.

 

[home]

comment = home

browseable = no

writable = yes

directory mode = 0755

create mode = 0664

 

然後用testparm 確認smb.conf是否正確

接下來用systemctl啟動

systemctl start smb

systemctl start nmb

systemctl enable smb

systemctl enable nmb



2023年9月9日 星期六

處理一個特殊狀況的檔案系統

 有些時候會遇到類似runtime OS的檔案系統

想把這樣的系統中的資料掛載成檔案系統,除了要有原本該runtime OS的系統工具外,其實也可以用手動的方式解出來。

用hex之類的編輯器去找需要的相關內容

 

 

比如說上方的VXDOS16 FAT16

 

這個是在00380080h 資料內容是 EB 3E 90 56的位置

正常檔案系統開頭應該是從0000000h開始,而不是在中途

所以利用 linux dd指令把00380080h的位置切出來

dd if=inputFile of=outFile obs=512 ibs=1 skip=3670144

切出來後用hex編輯器去看EB 3E 90 56 已在000000h的位置


此時利用mount -o loop 去把檔案掛起來

mount -o loop outFile /mnt/memory

用ls去看

 

這樣就表示有把檔案成功的切成檔案系統


 


2022年8月22日 星期一

除了玩作業系統,也玩一下PLC(Program Logic Control)

 PLC(Program Logic Control)

工作多多少少都會用到這個,只是應用的不是常用的三菱的FX或A mode

屬於三菱CNC的範疇

不過大體上使用的語法都是相同的,差別是CNC有自定義的固定點

跟FX還有mode那一種自由度很高的不太相同

基本命令從LD開始,OUT結尾

當然一般都是用階梯圖,打命令算是骨灰級的人在用的

 

如同底下就是階梯圖

換成指令的話就是

LD X200

OUT Y200 

其實這樣的指令也很像組合語言的指令

不過光會階梯圖是不行的,得懂得電機的電路圖才行。

因為在架構時先有電機的電路圖,才能利用PLC配上機械動作

 

2021年12月1日 星期三

利用win10的子系統建立Linux

 先安裝windows子系統Linux版


 

 

 

 

 

 

 

 

然後打開PowerShell

輸入wsl.exe -l -o 

查看可以裝的Linux有哪些

 






接下來就是安裝

這邊選擇Ubuntu-20.04來裝

輸入wsl.exe --install -d Ubuntu-20.04




接下來會跳出啟動視窗

要建立帳號跟密碼喔


 


這樣就完成安裝了