佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 4819|回复: 111

招兵买马 - Project code C4rImP3 v0.0.0 (v0.0.1b 新鲜出炉)

[复制链接]
发表于 27-5-2005 09:42 PM | 显示全部楼层 |阅读模式
晤 ... 在佳礼认识各位已有好一些日子. 虽然大多数未成谋面, 但是我相信这里有高手如云.
值得咱门这些新手, 或者一些像我一样半新不旧的"手", 学习/一起切磋. Linux网聚, 如果没记错,因该搞过两次了, 虽然出席者不多但是也算是个好的开始. 虽然有人会觉得这些不过是乌合之众, 成不了什么大气. 也有人认为我国的Linux或OSS用户群比不过外国的. 这 ... 大错特错! 其实我国OSS群强大,有些甚至很有影响力 ...只不过咱们这里(Cari)的确是输了一大截. 不是要批评, 不过咱门不必自己骗自己.问的问题来来去去不就是, "怎么burn cd?", "那里找distro", "舍麽distro适合我?" 之类. 这些新手问题我提议开一个"新手问题一箩箩"置顶, 如果再有同类问题, 直接在那里找, 有用的贴, 咱门一律连接到那里去.

有些人可能有提出一些project, 但是说的人多, 做的人少(没有?). 不要不认! 我想是时候改革了. 以前时不予我, 现在7月过后我就得空了. 是时候大家来搞一个project, 借此多多交流, 顺便提升自己的实力. 这个project, 我不想太过 ambitious,也不要太容易.不要骗自己, 有些不是咱门能力范围的, 咱门就别插只脚近去. 不论成功与否, 这个project必须让咱门在某种角度上提升自己的level. 这个project, 必须以一个人为中心 - 我,断语鸟. 酱子就算有些人离队/放弃/有说没做/十分钟热度,都不会影响project的发展.

好了! ... project的目的, 咱门来建一个咱门的distro, 这个distro并不是咱门所熟悉的full distro, 这些太过复杂, 对很多人来说简直就是天方夜谭. 不适合咱们. 我们来建一个只有一个目的的distro - mp3 playback. 全部东西只在单片1.44mb的floppy上. project 代号 C4rImP3 (读 ka-rim-pee). 用此单片开机, mount 咱们的hdd, 用console (mp3blaster/mpg123)来听歌. 虽然没什么用处不过,我们可以借此了解linux的基本, 了解一个distro是如何建起来. 对有些新手, 这或许有些牵强, 不过没关系, 一路上你肯定会学到东西.对有些高手来说, 这或许不值一晒. 那, 我希望你多多帮忙, 有问必答. 答案对错, 没关系, 要灌水也可以, 要弹要赞要贬, 不要客气.

Project 分2个阶段 现在到7月中. 收集资料(两个月可以学到很多东西了), 希望朋友们把有用的资料连到这里来. 八月开始做工. 工程分三步骤.

1) compiler kernel, 这个kernel 一定要 <750kb. 一定要 2.4.x (除了2.4.20). 对象是i386. 在这两个月期间大家可以学习如何浓缩内核. 学习如何
compile. 了解为什么必须要从编内核. 放心,这比你想象中还要简单, 除非你想在win32下进行compile ... 那 ...晤 ...
2) 建立 root file system, 这个一定要是最小的root file system, 我们只有 ~700kb 的空间还要灌入mp3 program呢. 借此我们可以了解什么是root file system, 了解linux档案系统的结构/etc /bin /usr fstab initd passwd bla bla, 了解何谓glibc? 何谓uclibc? 到时咱门必须两者选其一. 再来就是了解linux最基本的有哪些工具. 这里我们采用一个浓缩工具箱, busybox. 要不然就没法把所有用具缩入 ~700kb. 了解有哪些工具, 我们才可以断定那些需要,
那些不需要. 不必全部一律灌进去 (install linux 使用 full install 是下下策). 借此了解何谓 static/dynamic编辑. 为何必须用static?
3) 建立部分完整的 C4rImP3 v0.0.x. 这里我们必须了解何谓ramdisk, 为舍麽需要ramdisk (编辑kernel, 必须加入ramdisk支援)? 这时我们应该还没把 mp3 program 嵌入. 不过想看看那单片能不能够开机罢了. 还有占了多大的位置. 再来就是回到2)再想办法吧mp3blaster/mpg123嵌入. 第一个完整的是 C4rImP3 v0.1.0. 过后再改良, programming, beautifying ...bla bla bla.

如何? 有兴趣? 加入吧? 一切只在这里讨论, 不用email/不用msn/bla bla bla ... 老实说这个projec成功与否, 依我的level, 50%-50%. 没有100%的把握. 不过如果不成, 至少也可以在某种程度上提升一些lvl值/exp值的. 不是吗?

还等舍麽? google: kernel compile, busybox, uclibc, glibc, boot floopy, how to build a floppy linux,linux from scratch ... bla bla bla ... 把有用的冬冬贴上来啊!

凡是都有个开始: 我把有用的连接都整理到这里:-

主页
http://www.ocean.ukm.my/people/juneng/project/carimp3/

比较短的:
http://aurach.ewu.edu/ield/ield_course/lectures/ield_ch2.html
比较详细完整的:-
http://www.tldp.org/LDP/Pocket-Linux-Guide/html/index.html
http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html (编辑内核)

[ Last edited by 斷羽鳥 on 3-6-2005 at 01:49 AM ]
回复

使用道具 举报


ADVERTISEMENT

发表于 27-5-2005 10:37 PM | 显示全部楼层
有趣。我要插一脚。要如何开始呢?
回复

使用道具 举报

发表于 27-5-2005 11:39 PM | 显示全部楼层
yeah... 好也
又有新活动了

来来来。。。
断羽帅哥,我来支持你了
7月,我应该可以帮忙咯
希望我这个菜鸟帮得上忙
嘻嘻。。。
回复

使用道具 举报

 楼主| 发表于 28-5-2005 12:25 AM | 显示全部楼层
donynam 于 27-5-2005 10:37 PM  说 :
有趣。我要插一脚。要如何开始呢?


这个project, 第一个要做的就是要了解linux, 必须要有至少两样 component 才能作用. kernel & root filesystem. 而咱们第一关, 就是要 compile kernel, 要做的就是去了解compile kernel的一切. 然后我们有一个难题, 就是kernel必须减去一半, 从原来的1.4-1.5mb去到 700kb左右. 用google来帮你.

你可以做的就是把kernel减到一半, 然后吧 .config, 给咱们瞧瞧, 看看是否有漏掉必需的冬冬. 之前说过kernel必须是2.4.x系列. 不用2.6的原因是, 2.6必须由 bootloader 起跑. 我不想用bootloader. 2.4.20 有 bugs, 尽量避免. 其他的, 都可以试试, 我用的是2.4.29. 至今只能缩到850kb. 必须多了解些咚咚, 看看如何再缩.   

johe 靓女: 大家志在切磋. 因为我看到有些人对 kernel/distro 有兴趣, 所以可以借这个project, 了解我们想知道的东西. 多多支持, 多多交流, 酱咱们下次聚会, 或许会比较多人来呢??!!
回复

使用道具 举报

发表于 28-5-2005 12:29 AM | 显示全部楼层
回复

使用道具 举报

发表于 28-5-2005 01:00 AM | 显示全部楼层
我要插一脚。
不过,我认为1。44MB的设置是否会太小了?
纠错程序我本身认为就会占上至少200K了。不过应该还是OK吧。

MP3 播放不是很难,不过不知能不能做到自动生成PLAYLIST。(好象有在哪里看过这类的PLAYER的DOCUMENTATION,就是想不起来。。。)

我想我也是大约7月才得空。。。
回复

使用道具 举报

Follow Us
 楼主| 发表于 28-5-2005 01:25 AM | 显示全部楼层
khang 于 28-5-2005 01:00 AM  说 :
我要插一脚。
不过,我认为1。44MB的设置是否会太小了?
纠错程序我本身认为就会占上至少200K了。不过应该还是OK吧。

MP3 播放不是很难,不过不知能不能做到自动生成PLAYLIST。(好象有在哪里看过这类 ...


1.44会比较考功力, 不过如果把所有的咚咚compiler against uCLibc, 而不用glibc的话我想应该勉强可以. 生成playlist 与否, 我们可以过后再弄,用ls, 自己可以写一个简便的.

最重要的是, 制成开机片, 更重要的是, 大家可以学习到东西, 成败与否暂且不论.

纠错程序? debugger ? 对不起不是很了解这词! 所有程序必须statically compiled.

neow_wy给的连接非常有用, 有空的话花个周末, 细细的研究一下. 肯定能让你在这个project起步.

[ Last edited by 斷羽鳥 on 28-5-2005 at 01:36 AM ]
回复

使用道具 举报

发表于 28-5-2005 10:06 AM | 显示全部楼层
我暂时不行,没有时间分身参与。

不过,偶尔给点意见还行。

Linux 和 C 我都有点认识, 应该还可以给点意见。
回复

使用道具 举报


ADVERTISEMENT

发表于 28-5-2005 10:08 AM | 显示全部楼层
还有, MP3 格式是patented 的, 所以这个Distro 不能是GPL。

断羽, 你真够Linux的, 连 资料里 “来自”都放  /home/断羽鸟

下次我回去,看有没有机会合作搞OSS consultation 。

[ Last edited by jangancari on 27-5-2005 at 08:13 PM ]
回复

使用道具 举报

 楼主| 发表于 28-5-2005 02:07 PM | 显示全部楼层
jangancari 于 28-5-2005 10:06 AM  说 :
我暂时不行,没有时间分身参与。

不过,偶尔给点意见还行。

Linux 和 C 我都有点认识, 应该还可以给点意见。


那先谢谢了. 也没说包成功, GPL不GPL改天再讨论, 现在来说有点早了些. 据我所观察, 好多mp3 floppy都胎死腹中了. 不过最起码如果不行, 也能来个开机片, 了解下Linux的基本, 学习学习.

话说回来, mp3 patent 拥有者还可真混蛋,我等什么时候ogg vorbis坐上大哥的宝座!

一只鸟一只狗有什么搞头啊?
回复

使用道具 举报

发表于 30-5-2005 02:29 AM | 显示全部楼层
我盡力吧..不敢承諾,嘿嘿.
看來第一個得解決的問題是内核瘦身。
聲效卡的驅動該選那些。
網絡的看來就省了吧。。。。。。。。。

還是先把内核的結構來給他說一說呢?
不然怎麽瘦身?
回复

使用道具 举报

发表于 30-5-2005 05:11 PM | 显示全部楼层
soundcard driver 怎么办? include 太多kernel会爆吗?
回复

使用道具 举报

 楼主| 发表于 30-5-2005 09:15 PM | 显示全部楼层
我想只支援, soundblaster 系列. 不然就做成两个不同的kernel, 在不就是让用户自己编自己的kernel.  

我最近作了一片开机片, 1000kb 左右, 还有400kb, 不懂足不足够给mpg123. 不过做得出开机片, 至少有了个成功的开头, mount hdd基本上通了. 我用syslinux loader + busybox + glibc. 想问说有谁有过类似经验? 来谈谈. 再来就是正式搞mpg123了. 太大的话才把glibc换去uclibc.

[ Last edited by 斷羽鳥 on 30-5-2005 at 09:18 PM ]
回复

使用道具 举报

 楼主| 发表于 31-5-2005 05:29 PM | 显示全部楼层
各位, 有事宣布, C4rImP3 v0.0.1 早产了. 我过去几天弄了弄没想到既然弄了出来. 自己也没想到. 设了个网页.

http://www.ocean.ukm.my/people/juneng/project/carimp3/


一下是基本 features:-

- 基本上将近600kb 左右的内核只是支援,SBlive与intel i810+AC97 codec.系统档方面有 vfat 和 ext2. 有必要的朋友自己编个适合自己的。
- 基于syslinux 2.13 (bootloader)
- 基本的 *nix utilities 如 ls, mount, grep … 等等基于busybox v1.0, 用glibc.
- mpg123 用 v0.59. static binary 来自网上。 我自己还在研究如何 compile statically和用 strip 把 binary 减到 minimum. 有谁可以帮个忙? Programmer, 我需要你们了。
- 暂时还没有mixer? 有没有现成的可用? 越小越好! 帮帮忙找找!!? 要不然声量有点小.
- 所有的东西只占了1100kb 左右.   还有300kb 左右给mixer 和编个 shell based interface. (号召programmer …!!?)

因为没 mixer, 所以还不能控制声浪. 加mixer & 加 cdrom support 是下一个目标. 现在只有image files.. 等我把所有的步骤写成scripts, 我再来说说如何一步步建造 C4rImP3.
回复

使用道具 举报

发表于 1-6-2005 01:15 PM | 显示全部楼层
哇。。。

恭喜哟,成功了。。。
你们试了吗?
要支持哟。。。
也欢迎提出意见和改进版。。。
回复

使用道具 举报

发表于 1-6-2005 10:29 PM | 显示全部楼层
说真的

为什么要MP3 ? 看看 OGG 吧
看来你们是用OSS吧 ?
回复

使用道具 举报


ADVERTISEMENT

发表于 1-6-2005 10:52 PM | 显示全部楼层
愿意分享你的心得吗?
愿意分享你的SOURCE吗?
回复

使用道具 举报

发表于 2-6-2005 06:27 AM | 显示全部楼层
我也想参加,
1.44MB floppy disk
kernel
ramdisk ultility
compressed mp3 player

kernel -> mount ram disk / hard disk -> uncompress the mp3 player -> launch mp3 player.

这样做可以提高HDD的安全, 确保不向HDD写入任何资料. 而且可以放入功能更强大的MP3 Player

概念是有了, 但我对linux的认识真的很少。 希望大家多多指教
回复

使用道具 举报

 楼主| 发表于 3-6-2005 01:33 AM | 显示全部楼层
啊 ... 忙了两天回来. 晤 ....

xwing: C4rImP3 v0.0.1b 和OSS无关.仔细的阅读这贴, 就会找到C4rImP3用的是什么.
不用ogg 是因为我有很多mp3s.再说我也找不到适合的ogg player. 有没有好介绍?

jimmy_0: 当然愿意分享. 我打算抽点时间出来. 写一个完整的scripts 从头到尾. 那么你们可以研究/阅读那个script, 以便了解当中的详情. 老实说, 还真的是有很多detail 的呢.

megablue, 你所提到的都是C4rImP3 v0.0.1b的基本架构.root filesystem 就是 compressed ROM (gzip -9) , 不能写入, 只能读出. kernel up 之后, C4rImP3 会把mp3player 抄进 ramdisk. 你compile的kernel, 必须有 ramdisk/initial ramdisk support. 你不需要其他的utilities. 还有你需要一些基本utilities, umount,ls, mount, grep etc etc. 可以参考 busybox浓缩工具箱. 这些 C4rImP3都有.

等我的script好了之后, 你可以详细的研究研究. 有什么, 我完全愿意分享.

还有很重要得一点. 各位如果你们帮我测试, 记得在 reboot/poweroff 前做:
#umount -a
shutdown script 还没有完整, 这是为了你们HDD着想.

还有, v0.0.1 应该很快可以出炉, 我找到了mixer!

[ Last edited by 斷羽鳥 on 3-6-2005 at 01:38 AM ]
回复

使用道具 举报

发表于 3-6-2005 07:02 PM | 显示全部楼层
呵呵,既然可以做floopy版本的,可不可能做一个live cd版本?
直接把mp3和OS一起burn进cd里面…
呵呵
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 29-4-2024 02:17 AM , Processed in 0.074318 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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