|
楼主 |
发表于 2005-11-23 21:03:38
|
显示全部楼层
主要就改了这么多,还在调试,能不能进Xwindow也不知道,等有时间发个全的吧!
下面几个肯定是要改的
1、dev文件夹里的设备不能指望sysfs了,手动加吧(initrd.gz和kernel.mo都要改。
2、busybox要自己重编译,原来那个的内核工具只支持2.6内核
3、配置好内核后重编译,squashfs的模块可以patch到kernel里边去,unionfs需要单独编译(1.1.x版本的编译通不过,只能用1.0.14)
4、我没有压缩module,原来那个4444k的initrd不够大,要重做,改成8192k
5、liblinuxlive中这几个函数要改
# modprobe module $1, including all dependencies, suppress all messages
# (own function because modprobe in busybox doesn't work with gzipped modules)
# $1 = module name, eg. ehci-hcd
# $2 = optional argument
#
modprobe_module()
{
if [ "$1" = "" ]; then return 1; fi
PRINTK=`cat /proc/sys/kernel/printk`
echo "0" >/proc/sys/kernel/printk
modprobe $1
echo "$PRINTK" >/proc/sys/kernel/printk
if [ "$err" -ne 0 ]; then echolog "error inserting module $1 ($err)"; fi
return $err
}
# List all partition devices
# take list of all partitions and output unique disks.
# Return empty result when nohd parameter was given.
#
list_partition_devices()
{
if [ "`cmdline_parameter nohd`" != "" ]; then return 1; fi
cat /proc/partitions | sed -r "s/^[0-9[:space:]]+/\/dev\//" | grep /dev/ | cut -d " " -f1
}
# create correct fstab file in $1/etc/fstab and create apropriate
# mount directories in $1
# $1 = root directory (union)
#
activate_fstab()
{
mkdir -p $1/etc
FSTAB="$1/etc/fstab"
echo "tmpfs / tmpfs defaults 0 0" >$FSTAB
echo "devpts /dev/pts devpts gid=5,mode=620 0 0" >>$FSTAB
echo "proc /proc proc defaults 0 0" >>$FSTAB
list_cdrom_devices | while read DEVICE; do
MOUNTDIR="/mnt/`basename $DEVICE`_cdrom"
mkdir -p $1/$MOUNTDIR
echo "$DEVICE $MOUNTDIR iso9660 noauto,users,exec 0 0 $FSTABLLFLAG" >>$FSTAB
done
list_partition_devices | while read DEVICE; do
DEV="`basename $DEVICE`"; DEV0="`echo $DEV | cut -b 1-3`"
# skip this device if mountpoint exists
MOUNTDIR="/mnt/$DEV
if [ -d "$1/$MOUNTDIR" ]; then continue; fi
# try to mount the device and unmount it. If OK, we can add it to fstab
mount_device "$DEVICE" "$1/$MOUNTDIR"
FS="`cat /proc/mounts | grep $DEVICE | grep $MOUNTDIR | cut -d \" \" -f 3 | head -n 1`"
umount "$1/$MOUNTDIR" 2>/dev/null
if [ $? -eq 0 ]; then
echo "$DEVICE $MOUNTDIR $FS auto,users,suid,dev,exec 0 0 $FSTABLLFLAG" >>$FSTAB
else # remove empty directory
rmdir "$1/$MOUNTDIR" 2>/dev/null
fi
done
fdisk -l 2>/dev/null | grep -i "Linux swap" | egrep "^/dev/" \
| cut -f 1 -d " " | sed -r "s/(.+)/\\1 swap swap defaults 0 0 $FSTABLLFLAG/" >>$FSTAB
echo "/dev/fd0 /mnt/floppy auto noauto,users,suid,dev,exec 0 0" >>$FSTAB
mkdir -p $1/mnt/floppy
}
usb加载的模块名字变了,也要改,ide-scsi也要加载[/quote] |
|