Difference between revisions of "Bugs/Installer"


From Knoppix Documentation Wiki
Jump to: navigation, search
Line 2: Line 2:
 
unfortunately I'm using an old SCSI-adapter (Tekram 390UF). The necessary module -ncr53c8xx.ko or sym53c8xx.ko - isn't included in the kernel modules. Is there a workaround to load the module ncr53c8xx or the sym53c8xx on boot?
 
unfortunately I'm using an old SCSI-adapter (Tekram 390UF). The necessary module -ncr53c8xx.ko or sym53c8xx.ko - isn't included in the kernel modules. Is there a workaround to load the module ncr53c8xx or the sym53c8xx on boot?
 
Can I use any precompiled module for a 2.6-kernel?
 
Can I use any precompiled module for a 2.6-kernel?
 +
 +
----
 +
 +
Hi, <br> I am making a LiveCD (of my work on localization) based on knoppix. The problem i have with Knoppix-installer is as follows. When i INSTALL knoppix, the installer just ignores all the other OS installations on the hard disk and creates a Grub menu that contains just the new installation.
 +
<p>I have made some changes to the install script boot-tools.bm so that it scans hard disk partitions for other installations and make entries for them in the new Grum menu. Its not tested.
 +
</p><p>'''I would like to know if there would be any improvements to knoppix-installer in the near future related to this.'''
 +
</p><p>Diff (-pu) follows..
 +
<pre>--- fsextract-NEW/usr/share/knoppix-installer/modules/booting/boot-tools.bm 2005-11-30 17:23:05.000000000 +0530
 +
+++ boot-tools.bm 2005-12-27 15:00:28.000000000 +0530
 +
@@ -52,7 +52,7 @@ create_initrd()
 +
# TODO: :-)
 +
[ -z "$(which mkext2fs)" -a -x "tools/mkext2fs" ] && cp -f tools/mkext2fs $TARGET_MNT_POINT/usr/sbin/
 +
perl -pi -e "s/mkcramfs/mkext2fs -f/g" $TARGET_MNT_POINT/etc/mkinitrd/mkinitrd.conf
 +
- #perl -pi -e "s/mkcramfs/mkext2fs/g" $TARGET_MNT_POINT/etc/mkinitrd/mkinitrd.conf  ---SWECHA
 +
+ # SWECHA -- Added -f to above line.
 +
export INITRD_PARAM_$INITRD_POSTFIX="ramdisk_size=100000 "
 +
fi
 +
 
 +
@@ -568,7 +568,60 @@ translate_linux_to_grub () {
 +
    return 0
 +
}
 +
 +
+# SWECHA specific function
 +
+get_grub_menu()
 +
+{
 +
+  mnt_point="/mnt/inst"
 +
+  [ ! -e $mnt_point ] && mkdir $mnt_point
 +
+  PART=$1
 +
+  mount -o ro $PART $mnt_point 2>&1 >/dev/null
 +
+  [ $? -ne 0 ] &&  return 1
 +
+                                                                                                                           
 +
+  menu_file=$mnt_point/boot/grub/menu.lst
 +
+  if [ ! -e "$menu_file" ] ; then umount $PART ; return 1; fi
 +
+                                                                                                                           
 +
+  return 0
 +
+}
 +
 +
+# SWECHA specific function
 +
+# uses fdisk to detect all partitions..
 +
+# From each Linux partition it tries to get boot/grub/menu.lst
 +
+#    accumilates the boot entries from all of them and adds
 +
+#    them to a the menu.lst of the newly installed grub.
 +
+#  For each Fat32 partition found.. it adds a Win2k/xp entry to menu.lst
 +
+#
 +
+create_swecha_menu()
 +
+{
 +
+ #back up the default menu.lst created by the default knoppix installer
 +
+ cp $TARGET_MNT_POINT/boot/grub/menu.lst $TARGET_MNT_POINT/boot/grub/menu.knoppix.lst
 +
+
 +
+ #Linux partion list
 +
+ for DP in `/sbin/fdisk -l /dev/hda | grep -r "^/dev" | grep -i linux | cut -d' ' -f1` # for each linux partition...
 +
+ do
 +
+  get_grub_menu $DP
 +
+  [ $? -ne 0 ] && continue
 +
+  echo "# -------------From $DP --------------------------" >> $TARGET_MNT_POINT/boot/grub/menu.lst
 +
+  awk '/[Tt]itle/ { start = 1 }; { if(start==1) print $0}'  $menu_file  >> $TARGET_MNT_POINT/boot/grub/menu.lst
 +
+  umount $DP
 +
+ done
 +
+                                                                                                                           
 +
+ #Win partitions
 +
+ for DP in `/sbin/fdisk -l /dev/hda | grep -r "^/dev" | grep -i fat | cut -d' ' -f1` # for each FAT32 partition...
 +
+ do
 +
+  hd=`echo $DP | cut -d'a' -f2`
 +
+  let hd=$hd-1
 +
+  echo "# -------------From $DP --------------------------" >> $TARGET_MNT_POINT/boot/grub/menu.lst
 +
+  cat <<EOI >> $TARGET_MNT_POINT/boot/grub/menu.lst
 +
+                                                                                                                           
 +
+title Win 2k/XP/..
 +
+chainloader (hd0,$hd)+1
 +
+                                                                                                                           
 +
+EOI
 +
+  done
 +
+
 +
+  return 0 
 +
+}
 +
 +
install_grub()
 +
{
 +
# create device.map
 +
@@ -714,6 +767,8 @@ EOF
 +
grub-install --root-directory=$TARGET_MNT_POINT "(hd0)" >/dev/null 2>/dev/null
 +
;;
 +
esac
 +
+
 +
+ create_swecha_menu # SWECHA
 +
 +
return 0
 +
}
 +
</pre>
  
 
<!--Please add all bug reports above this line -->
 
<!--Please add all bug reports above this line -->
 
[[Category:Bug Pages]]
 
[[Category:Bug Pages]]

Revision as of 12:28, 28 December 2005

Hi, unfortunately I'm using an old SCSI-adapter (Tekram 390UF). The necessary module -ncr53c8xx.ko or sym53c8xx.ko - isn't included in the kernel modules. Is there a workaround to load the module ncr53c8xx or the sym53c8xx on boot? Can I use any precompiled module for a 2.6-kernel?


Hi,
I am making a LiveCD (of my work on localization) based on knoppix. The problem i have with Knoppix-installer is as follows. When i INSTALL knoppix, the installer just ignores all the other OS installations on the hard disk and creates a Grub menu that contains just the new installation.

I have made some changes to the install script boot-tools.bm so that it scans hard disk partitions for other installations and make entries for them in the new Grum menu. Its not tested.

I would like to know if there would be any improvements to knoppix-installer in the near future related to this.

Diff (-pu) follows..

--- fsextract-NEW/usr/share/knoppix-installer/modules/booting/boot-tools.bm	2005-11-30 17:23:05.000000000 +0530
+++ boot-tools.bm	2005-12-27 15:00:28.000000000 +0530
@@ -52,7 +52,7 @@ create_initrd()
 		# TODO: :-)
 		[ -z "$(which mkext2fs)" -a -x "tools/mkext2fs" ] && cp -f tools/mkext2fs $TARGET_MNT_POINT/usr/sbin/
 		perl -pi -e "s/mkcramfs/mkext2fs -f/g" $TARGET_MNT_POINT/etc/mkinitrd/mkinitrd.conf
-		#perl -pi -e "s/mkcramfs/mkext2fs/g" $TARGET_MNT_POINT/etc/mkinitrd/mkinitrd.conf   ---SWECHA
+		# SWECHA -- Added -f to above line.
 		export INITRD_PARAM_$INITRD_POSTFIX="ramdisk_size=100000 "
 	fi
  
@@ -568,7 +568,60 @@ translate_linux_to_grub () {
     return 0
 }
 
+# SWECHA specific function
+get_grub_menu()
+{
+  mnt_point="/mnt/inst"
+  [ ! -e $mnt_point ] && mkdir $mnt_point
+  PART=$1
+  mount -o ro $PART $mnt_point 2>&1 >/dev/null
+  [ $? -ne 0 ] &&  return 1
+                                                                                                                             
+  menu_file=$mnt_point/boot/grub/menu.lst
+  if [ ! -e "$menu_file" ] ; then umount $PART ; return 1; fi
+                                                                                                                             
+  return 0
+}
 
+# SWECHA specific function 
+# uses fdisk to detect all partitions..
+# From each Linux partition it tries to get boot/grub/menu.lst
+#    accumilates the boot entries from all of them and adds 
+#     them to a the menu.lst of the newly installed grub.
+#  For each Fat32 partition found.. it adds a Win2k/xp entry to menu.lst
+# 
+create_swecha_menu() 
+{
+ #back up the default menu.lst created by the default knoppix installer
+ cp $TARGET_MNT_POINT/boot/grub/menu.lst $TARGET_MNT_POINT/boot/grub/menu.knoppix.lst
+ 
+ #Linux partion list
+ for DP in `/sbin/fdisk -l /dev/hda | grep -r "^/dev" | grep -i linux | cut -d' ' -f1` # for each linux partition...
+ do
+   get_grub_menu $DP
+   [ $? -ne 0 ] && continue
+   echo "# -------------From $DP --------------------------" >> $TARGET_MNT_POINT/boot/grub/menu.lst
+   awk '/[Tt]itle/ { start = 1 }; { if(start==1) print $0}'  $menu_file  >> $TARGET_MNT_POINT/boot/grub/menu.lst
+   umount $DP
+ done
+                                                                                                                             
+ #Win partitions
+ for DP in `/sbin/fdisk -l /dev/hda | grep -r "^/dev" | grep -i fat | cut -d' ' -f1` # for each FAT32 partition...
+ do
+   hd=`echo $DP | cut -d'a' -f2`
+   let hd=$hd-1
+   echo "# -------------From $DP --------------------------" >> $TARGET_MNT_POINT/boot/grub/menu.lst
+   cat <<EOI >> $TARGET_MNT_POINT/boot/grub/menu.lst
+                                                                                                                             
+title Win 2k/XP/..
+chainloader (hd0,$hd)+1
+                                                                                                                             
+EOI
+  done
+ 
+  return 0  
+}
+  
 install_grub()
 {
 	# create device.map
@@ -714,6 +767,8 @@ EOF
 			grub-install --root-directory=$TARGET_MNT_POINT "(hd0)" >/dev/null 2>/dev/null
 			;;
 	esac
+
+	create_swecha_menu # SWECHA 
 	
 	return 0
 }