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
Corsair Vengeance RGB Pro 128GB (4 x 32GB) PC4-25600 (DDR4-3200) Memory...
$200.00
xpg ram ddr4 16gb 4133 (2x 8gig)
$25.00
Corsair Vengeance LPX DDR4 Lot of 2 16GB Ram Sticks Memory 3200MHz
$29.97
A-Tech 8GB DDR3 1600 PC3-12800 Laptop SODIMM 204-Pin Memory RAM PC3L DDR3L 1x 8G
$13.99
Team T-FORCE VULCAN Z 32GB (2 x 16GB) PC RAM DDR4 3200 (PC4 25600) Memory
$54.99
Lot of 20 320GB - 16GB (x20) 2RX8 2666V Samsung PC4 DDR4 SODIMM Memory RAM +CASE
$399.99
Team T-FORCE VULCAN Z 16GB (2 x 8GB) 288-Pin PC RAM DDR4 3200 (PC4 25600) Intel
$33.99
HyperX FURY DDR3 8GB 16GB 32GB 1600 MHz PC3-12800 Desktop RAM Memory DIMM 240pin
$15.90
HYNIX HMT31GR7BFR4C-H9 8GB PC3-10600R DDR3-1333MHZ 2Rx4 (LOT OF 8) DRAT-3
$40.00
128GB Kit 4x 32GB PC4-17000 LRDIMM DELL POWEREDGE R730xd R730 R630 Memory RAM
$139.96