hello
I have remstered image of knoppix 644 and everything work fine, but recently I found problem with one Al in One Acer computer.
When booting from usb stick - all is ok, but i would like to boot from SD card. Acer has build in SD/MMC reader, but whem i put SD card with KOPPIX image and start booting boot process stops in place where it is looking for knoppix in block devices.
I 've unpacked minirt.gz and tryed to modyfy init script for searching in mmcblk devices for Knoppix image.
644 does not load driver for mmcblk devices so i copied mmc_core.ko mmc_block.ko sdhci.ko sdhci-pci.ko to modules dir and mdified init to load that modules and also make coresponding nodes in dev dir.
Now i can mout mmcblk0p1 on mnt-system
I packed minirt made iso and made bootabe SD
Now when booting i get message - "knoppix found on mmcblk0p1" and "Do not remove medium until stop."
But then i get /sbin/init help mesage insted of loading system.
Could anybody help with this?
Hello
Surely there is a bug.
I'm not script guru and i did what I could.
Meybe someone better in scripting could post modified init script with support booting from mmcblk device.
Hello
Finally i get it working.
What I have done: (Knoppix 644 )
added nesessery modules to/modules
changed load_modules for loading modules in proper order
load_modules(){
insmod /modules/mmc_core.ko
insmod /modules/mmc_block.ko
insmod /modules/sdhci.ko
insmod /modules/sdhci-pci.ko
# local mod
# for mod in /modules/*.ko /modules/scsi/*.ko; do
# [ -r "$mod" -a ! -d /sys/module/"${mod%.ko}" ] && insmod "$mod"
# done
}
In Knoppix 6.7 there is no need for loadingmodules but it does not create nodes in /dev
(I've remstered 644 form my needs and still using it, besides 6.7 has problems with ati mobility radeon HD 3650)
added function
mmcmt() {
cat /proc/partitions | grep mmcblk >/dev/null
if [ $? ]; then
cat /proc/partitions | awk '$4 ~ /mmcblk/ { print "mknod ", "/dev/"$4, " b ", $1,$2 }' | while read line
do
$line
done
fi
}
modified listpartitions
listpartitions(){
local pattern file
mmcmt
for pattern in "$@"; do
for file in $(find /sys/class/block -maxdepth 2 -name "$pattern"); do
file="${file##*/}"
[ -b "/dev/$file" ] && echo "/dev/$file"
done
done
# awk 'BEGIN{old="__start"}/'"$1"'/{if($0==old){exit}else{old=$0;if($4&&$4!="name"){p rint "/dev/"$4}}}' /proc/partitions # Insufficient, does not find CD-Roms
}
added pattern for looking for knoppix
if [ -z "$TSCLIENT" ]; then
if [ -n "$root" ]; then
if ! findknoppix $root; then
if [ -d /sys/bus/usb/drivers/usb-storage ]; then
for i in 1 2 3 4 5 6 7 8 9 10; do
message -n -e "\r${CRE}${BLUE}${WAITFORUSB}${NORMAL}"
sleep 2
findknoppix $root && break
done
[ "$?" = "0" ] || debugshell "${CRE}${RED}${NOTFOUND}${NORMAL}"
else
debugshell "${CRE}${RED}${NOTFOUND}${NORMAL}"
fi
fi
elif ! findknoppix $(listpartitions 'mmcblk[0-9]p[0-9]''hd[a-z]' 'hd[a-z][0-9]*' 'scd[0-9]*' 'sr[0-9]*' 'sd[a-z]' 'sd[a-z][0-9]*'); then
if [ -d /sys/bus/usb/drivers/usb-storage ]; then
for i in 1 2 3 4 5 6 7 8 9 10; do
message -n -e "\r${CRE}${BLUE}${WAITFORUSB}${NORMAL}"
sleep 2
findknoppix $(listpartitions 'mmcblk[0-9]p[0-9]' 'scd[0-9]*' 'sr[0-9]*' 'sd[a-z]' 'sd[a-z][0-9]*') && break
done
[ "$?" = "0" ] || debugshell "${CRE}${RED}${NOTFOUND}${NORMAL}"
fi
fi
fi
and it works
Lenovo ThinkBook 15-IIL 15.6” FHD Laptop Core i5 16GB RAM 256GB SSD Windows 11
$360.51
Lenovo LOQ Laptop, 15.6" FHD IPS 144Hz, i5-13450HX, 12GB, 512GB SSD
$769.49
Lenovo Laptop Computer ThinkPad 14" Core i5 8GB RAM 256GB SSD WiFi Windows 10 PC
$172.30
Lenovo - Ideapad 3i 15.6" FHD Touch Laptop - Core i5-1155G7 with 8GB Memory -...
$349.99
Lenovo Ideapad 1 15Amn7 15.6" Laptop Ryzen 3 7320U 8GB 256GB SSD W11H-64
$199.99
Lenovo 100e Laptop PC Computer 11.6" Windows 10 Celeron 4GB RAM 64GB SSD
$74.99
Lenovo Legion Pro 5i 16" Gaming Laptop RTX 4070 8GB i9-13900HX 16GB RAM 1TB SSD
$1399.99
Lenovo ThinkPad T480 i7-8650U Bare System
$115.00
Lenovo Tab P11 Pro Gen 2, 11.2" 420 nits, 6GB, 128GB, Android 12
$208.49
~10th Gen~ 14" Lenovo i5 Quad Core Laptop: 16GB RAM 512GB SSD Windows 11 Pro
$314.99