2026年7月17日 星期五

為了玩AI轉用Mint Linux

其實因為Slackware實在有太多套件得補齊,加上得動到Glibc,
因為動到了Glibc得花很多時間去建立編譯環境,加上卡到很多問題,只好放棄在Slackware上用Stable Diffusion跟ollama
基本上也很多原因啦,沒有太多時間可以處理套件間的衝突,也把系統再度搞掛,就慢慢的找一個可以替用,然後可以做混和環境Linux上跑windows的軟體
目前直接就裝上Mint Linux很方便的裝上Stable Diffusion跟ollama(換成了llama.cpp)
就方便性來講提升很多,不用煩惱套件的問題,這點確實方便

2025年7月26日 星期六

最近開機都進不了windows,也把Linux搞壞了

最近開機windows10都會出現藍底白字, 然後最近不小心也把Linux系統搞掛, 所以用隨身碟先件個短命系統來拯救Linux 想法先把Linux系統做簡單備份 然後把系統改成Slackware-current的版本, 畢竟Slackware15.0有點舊了 因為現在有些需要用glibc_2.35以上 所以也是到了該更新系統的情境了 至少沒有微軟更新這麼勤,但還是偶爾會遇到 不過用LInux倒是比較好一點,至少沒有限定硬體

2025年4月19日 星期六

在想用DSP(Digital Singnal Processors)來做AI運算的可能性

因為想到AI有大量使用乘法跟加法運算,如果用DSP來運算是否會比買顯卡跟運算卡來的便宜。 首先得先知道過得去的顯卡運算能力 拿RTX3050來看是8.5TFLOPS 其核心為安培架構,有64個32位元的整數核心跟128個單精度浮點數核心,因為不是運算卡所以沒有雙精度浮點 速度可以達1.7Ghz,最大可以用8G的DDR6 一張大約6000元 那麼如果拿TMS320C6745來比較一下 大約是0.002736TFLOPS 本身就可以直接做64位元的浮點運算,單跟雙都可以,在雙精度浮點運算只要4個週期,單精度浮點運算3個週期 至於32位元的浮點運算只要1個週期 時脈只有456MHz,最大可以使用16bit的128MB SDRAM 1顆賣725元,當然數量越多越便宜,買十顆的話5792元 就這樣來看如果要建構相當於顯卡的核心數量128個大約要56030元 至於拿DSP來當運算的優點算是DSP的程式相當自由化,可針對性的優化程序 只是說笑能不好說,當然也不知道有沒有人實作這樣的東西啦 一切都是隨便想想

2025年1月12日 星期日

利用MSbuild命令來建置程式,將版本都修改成VS22的版本

一般對於舊的建置檔會出現版本錯誤 所以要修改vcxproj的檔案內容 修改標籤為10.0.18362.0 還要修改標籤為v143 依照目前的版本為10.0.18362.0跟工具版本為v143 都改好後就可以利用MSBuild來執行建置 但是x86的要使用x86 Native來建置 x64就用x64 Native來建置 這樣就可以建置舊版本

2024年12月21日 星期六

淺嚐MariaDB(Mysql)加python加excel

 首先架設好MariaDB(MySQL)以及準備好資料庫

然後安裝Python並且加上openpyxl模組、mysql-connector-python模組〈也有pymysql模組〉

最後再來準備個Excel就可以開始


首先確認可以用 python來打開Excel檔

import openpyxl

fn = test1.xlsm

wb = openpyxl.load_workoook(fn)

print(type(wb))

print("列出全部工作表", wb.sheetnames)

print("目前使用中的工作表〈上次最後存檔的工作表〉", wb.active)

#指定操作的工作表

ws = wb['工作表1']

#如果是使用中的工作表可以用 ws = wb.active喔

#列出全工作表1內容

for row in ws.iter_rows[values_only=True):

     print(type(row)

     print(row)

#關閉檔案

wb.close()

這樣就可以測試了

再來確認python可以正常連線mysql,這邊要注意的是mysql的主機在遠方的話會無法連線,所以主機還要設定成可以遠方連線的狀態

import mysql.connetor

conn = mysql.connector.connect(

 host = 'localhost' #遠方的話請改成IP

 user='user'

 password='pasword'

 charset='utf8' # 先宣告成utf8格式

)

cursor = conn.cursor()

cursor.execute("show databases;")

result = cursor.fetchall()

print(result)

conn.close()

看測試有沒有正常連線

接下來就是兩個組合一起,把Excel的資料寫到資料庫中

import mysql.connetor

import openpyxl


fn = 'test1.xlsm'

wb = openpyxl.load_workoook(fn)

ws = wb.active

#mysql Command

command = "INSERT INTO Test1 (No) VALUES ('{0}')"   

# 這邊用{0}就是等一下把Excel的資料放進來的變數

for row in ws['A2':'A9999']:

   for cell in row:

    if cell in row:

        var = cell.value

           command1 = command .formart(val)

            cursor.execute(command1)

            conn.commit()

conn.close()

wb.close()

以上就可以把資料寫到資料庫中,至於反向也是類似方式

變成資料庫查詢後的資料再寫到Excel中


在Slackware中建立跟設定MariaDB

 在Slackware中建立跟設定MariaDB

1. 安裝標準的資料庫

mysql_install_db

2. 變更資料庫的群組跟人員,主要是因為用root建立時期資料庫檔會變成root

chown -R mysql:mysql /var/lib/mysql

3. 讓rc.mysqld程執行狀態

chmod 755 /etc/rc.d/rc.mysqld

4.執行

/etc/rc.d/rc.mysqld start

5.做安全配置

mysql_secure_install

過程中會詢問root是否要變更密碼,一般是會分開不同的密碼

其他的就y回答即可

2024年8月20日 星期二

在Linux中調整cpu頻率及效能

利用 /sys/devices/system/cpu/cpufreq/policy/scaling_min_freq 中設定最低頻率

◎ 當有多核心時policy會從policy0 到 policy該系統中的最多核心數

使用命令

echo 頻率,單位KHz > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq

範例設定為3.3GHz

echo 3300000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq

接下來可以設定效能狀況

/sys/devices/system/cpu/cpufreq/policy/scaling_governor

可以設定的值有

preformance:使用全速的狀態

ondemand:大約設定在75%的狀態

conservative:大約設定在95%的狀態

powersave:設定再最低速度狀態

userspace:由使用者指定,須配合/sys/devices/system/cpu/cpufreq/policy/scaling_setspeed

 範例將cpu設定到全速

echo "preformance" > /sys/devices/system/cpu/cpufreq/policy/scaling_governor

2024年1月20日 星期六

在Aspire Switch 10中設定grub的方法

 在嘗試安裝grub很多次後

依照正常的部分先做

grub-install --target=i386-efi --efi-directory=/boot/efi \
--removable --boot-directory=/boot/efi/EFI \
--bootloader-id=grub /dev/sdX

我這邊利用外接的隨身碟來當ELF的開機

執行完成後要將/boot/EFI下的目錄複製到隨身碟中

這樣就能正常開機

一般用

32位元版EFI 命令

grub-install --target=i386-efi --efi-directory=/boot/efi --removable

64位元版EFI 命令

grub-install --target=x86_64-efi --efi-directory=/boot/efi --removable


進入bios 把Security EFI的部份作設定

加入在開機區的部份 \HD\EFI\Slackware15.0\grubia32.efi
這樣就能夠用本身的硬碟開機
最近有看到方法, 進入BIOS後
1. 進Secutity
2. 把Ease all Secure Boot Settint:
3. Select an UEFI file as trustedfor executing: 選擇開機的檔案grubia32 然後到Boot Secure Boot 改成Disabled

2024年1月9日 星期二

Arch linux 設定網路(有線)

 首先呢確認網路介面

 

由於後期網路介面跟早期命名方式有所差異

早期一是用eth0 eth1 eth2 .....

現在是依照裝置類型:

en Ethernet LAN

wl Wifi LAN

裝置位置 + 裝置編號

所以架構起來就像  en p0 s3 = enp0s3

 

確定好介面後,這邊用DHCP來取得ip位址

首先建立檔案於 /etc/systemd/network

建檔名稱為 20-wired.network

內容如下 

[Match]

Name=enp0s3

#Name=Device

[Network]

DHCP=ipv4

存檔後

執行systemctl enable systemd-networkd.service

再執行 systemctl start systemd-networkd.service

這樣網路就可以使用了

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

此時就可以正常開機

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