QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2305|回复: 7

终于让slax-frodo用上unicon了

[复制链接]
发表于 2005-11-21 20:52:58 | 显示全部楼层 |阅读模式
美中不足,为了使用unicon的输入法,内核版本降到了2.4.25
initrd.gz也改动了不少,U盘没有 removable的后缀了
发表于 2005-11-22 11:20:39 | 显示全部楼层
不错,一起来分享一下吧。
对了,仅仅是能显示中文了还是输入法也能用?
回复

使用道具 举报

 楼主| 发表于 2005-11-23 20:44:34 | 显示全部楼层
输入法也能用

不过改动比较大,因为 2.4内核没有 sysfs (devfs我很不习惯),所以dev文件夹里的设备不能用sysfs自动生成,要先手动mknod好

initrd.gz里边要改, 01_kernel.mo里边也要改,liblinuxlive里边也有几个函数要改
改得面目全非了,呵呵

源码包用的是 turbolinux 的,在这里可以下到


ftp://ftp.turbolinux.com/pub/TurboLinux/TurboLinux/ia32/Server/8/updates/Vender/Panasonic-Comm/RPMS/
回复

使用道具 举报

 楼主| 发表于 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]
回复

使用道具 举报

 楼主| 发表于 2005-11-23 21:07:59 | 显示全部楼层
要是还要做改动,我就放弃slax,自己动手丰衣足食算了
  
回复

使用道具 举报

发表于 2005-11-24 09:08:48 | 显示全部楼层
差不多,你可以自己做一个了
但是所有的改动都是要使用2.4内核的情况,slax的5系列都是针对2.6的
不过unicon可以在2.6下编译成功,弄好了的情况下可以正常显示中文,但是输入法不行。
回复

使用道具 举报

 楼主| 发表于 2005-11-24 23:06:21 | 显示全部楼层
差不多,你可以自己做一个了  
但是所有的改动都是要使用2.4内核的情况,slax的5系列都是针对2.6的
不过unicon可以在2.6下编译成功,弄好了的情况下可以正常显示中文,但是输入法不行


是的,我简单的看过代码,主要是捕获键盘的操作不能被用户态的程序捕获,导致输入法切换失效。这应该是2.6安全性增强的体现。原本还想自己给2.6打个补丁,后来发现太难,放弃了。回到2.4,因为主要是做rescue的工作,console能显示输入中文才是最重要的。

另外,2.6.14.2的 unicon+bootsplash 也编译好了,我觉得fanx作为livecd打个bootsplash搞炫一点比较好

bootsplash用2.6.13的patch,有两个文件会reject,照着手动改一下就好了

呵呵
回复

使用道具 举报

发表于 2005-11-25 15:39:52 | 显示全部楼层
做得不错,等你弄好了以后就借过来出一个特别版,坐享其成了
unicon+bootspalsh+输入法
我编译过unicon,虽然编译能成功,但是配置老是生效不了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-27 06:57 , Processed in 0.079380 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表