Amacdys V0.22

By Joonas Kekoni

Amacdys is a single disk operating system designed to play mp3 CDs.
OR
Amacdys is bootable mp3 player, that fits into single diskette.

It is designed to be on floppy or El-torrito image of cdrom.

Amacdys uses linux kernel, but can be burned on cd or written on 
floppy REGARDLES OF operating system used in the writing process.

Or booted regardles of the OS (if any) installed in the player machine.

The idea is the create bootable MP3 cdrom that should work
without any software installed in the host machine.
It should also Configure HW automatically and start playing.

Currently this is an Alpha release so you should know
what you are playing with. ( No it does not pose threat to the
contents of your hd, it just may not work at all with your computer.
It does not mount anything writable, so it is safe.)

I have made the source of newest version available,(0.22)
it is probably not be easy to compile. Source
is available only about amacdys core and disk builder and diffs to
mp3blaster.

I am currently using chroot to debian 1.3.1 to compile some of the 
libc5 binaries in libc6 based linux ( Redhat 6.2 ). 
Merely typing make won't get many things(if anything) compiled.

I have Toms libc6->libc5 kit 
But only the amacdys core compiles with it. Same goes with redhats
gcc-libc5. I am still compiling most of the stuff using chroot to
debian 1.3.1. partition. I have compiled so libs to that from sources
and linked some libs to emulate newer versions "required" by the
programs.

In version 0.20 the project wholly libc5. Sndconfig is no longer
compiled statistically towards glic 2.1 as before.
 

Download

How to write the version on floppy

1.44MB version. ( amacd144.img ) Has all ide interfaces and some scsi interfaces supported. Does not have debug shell. # fdformat /dev/fd0H1440 # dd if=amacd144.img of=/dev/fd0H1440 (Or use dos/win95/98/me) and RAWRITE.EXE) Overformatted 1.44 floppy ( = 1.72MB ) version ( amacd172.img ). Supports all scsi and ide interfaces except cdroms in scsi raid controllers. Has also the debug shell. # mknod /dev/fd0H1772 b 2 60 # fdformat /dev/fd0H1722 # dd if=amacd172.img of=/dev/fd0H1722 (dos/win95/98/me) with 2M and rawrite(??) ) 2.88MB version ( amacd288.img ) Everything above and raid controller support. # fdformat /dev/fd0u2880 # dd if=amacd288.img of=/dev/fd0u2880 (Or use dos/win95/98/me) and RAWRITE.EXE)

How to write an image on the CD?

linux/other unix

Use either the 1.44M or 2.88M version. >(Quote from stephen) >It works fine with this command: >mkisofs -o /tmp/cd.img -J -r -a -b amacd288.img /path/to/my/files >The relevant part is "-b amacd288.img" and amacd288.img must reside in >"/path/to/my/files". I have also heard that it is possible use the 1.72MB version as el torrito image. I do not know the details. Please tell me.

Windows

Many windows burners require the boot image to be physical floppy. In order to have physical floppy of 2.88M you need drive for that format. I do not know how common this limitaion is, but at least the "Easy CD creator 'deluxe' " has it. The only workaround I know is the to generate the image with mkisofs or mkhybrid for windows and burn that with your favorite program. This is recommended. Alternatively you can create the image with mkisofs/mkhybrid in unix computer and just burn in windows. I do not know it the are floppy emulators for MS-windowses. Alternatively you can use Nero 4 to burn those disks. Alternatively you could use the 1.44M image, but currently (v 0.211) that limits the number of scsi adapters supported, but not as heavily as in 0.1xx versions

TODO

o Support UDF filesystem in addition of ISO. (to support DVD's and disks written with direct CD. ) --DONE in 0.151 --DROPPED in 0.20 but will be added later. --Added, but not tested in 2.88M version of Amacdys 0.211 o Support Hard disk spindown and cdrom slowdown in order to decrease the amount of noise generated by the computer. --DONE in 0.15 Support spindown also with SCSI-disk. -- NOT DONE o Support cdrom in the PNP-ide interface of SB16. o Support for USB keyboard and sound -- Done in 0.20 for the keybord -- Done in 0.22 for the sound. o Support for audio cd's. (other player??) o dos/Windows 95/98/me based disk creation program similar to tomsrtbt. o Investigate players based on mpg123 instead of mp3blaster (based on splay), since mpg123 runs on 486-120 whereas splay requires pentium. On the other hand I DO like mp3blaster. o Write an estimation how much memory this requires. Possibly optimize for low memory machine. ( NO- I do not want to mount the floppy, since I can't do that with cdrom. Init-ramdisk will be used. Always.) o Use chroot to hide amacdys internals from player. o Correct all the typos in this page. o Move source into CVS ofsourceforge. o Somehow better feedback form managed automatically. o Add SCSI CDROM ejects and closing.

OLD todo

o Upgrade SNDconfig to most recent version to support more sound cards. --DONE in 0.16 --DONE again in v0.21 o Get Manual SoundCard configuration working. -- DONE in 0.16 -- no longer works... -- Put back in the 2.88M of 0.22. o Support UDMA(66) chipsets not supported by standard ide driver. -- Done in version 0.20 (??) Kernel is now version 2.2.18 so the patch should be in now(??). o Support for changing cd. -- DONE in amacdys v 0.21 o Support for empedded pc. Will not be done. There are ready projects for these and they will _not_ need HW autoconfiguration. The idea of amacdys if HW autoconfiguration and smallness. You can get everything statically fit into a without anything special floppy if you do not have autoconfig. o Update MP3blaster to 2.0b17 and isapnp to 1.21 . --Done in v0.20

Not on the TODO list

1. Other linux versions than PC/PowerMAc. 2. NFS/networking. 3. Developement of mp3 algorithms/guis myself. 4. Developement of sound card driver for Linux. 5. Moving program(s) into kernel. 6. Mpeg video anything. 7. MP3 copying/transferring/burning/etc. 8. SMP support.(Linux does not support SMP 486 boxes, fasters work with 1 cpu just fine.) 9. Mouse support. (not needed) 10. Use Glib instead of libc5 or linux 2.4 (too big) 11. Neat looking web page. With lots of javascript... (not needed)

Known bugs:

1. Now the program falls back to manual config if automatic fails, but the standard input does not work. I have solved this one. The /dev/tty does not work. linking that to /dev/tty1 "fixes" that problem. fixed in 0.16 NOTE: manual configuration is no longer supported in V0.20 This will be added hopefully in the future. This might be fixed in 2.88M version of Amacdys v0.22 2. If that worked the manual config would try to insert an unexisting midi module. This is fixed in 0.16 3. Pci sound card does not work.(0.13-0.151) This is also fixed in 0.16. ( My homegrown libc5 comapible pci lib did not work. The current sndconfig is static libc6(<=0.18). v0.20: I got it working , so this program is wholly libc5.) 4. The sound card test sample is broken in the 1.44 and 1.72M versions. (It is played only if manual configuration is needed.) New Bug in 0.16 not yet fixed... I save some disk space with by shorteing the samples, unfortunately they got broken ... -- Fixed in v0.21 5. Udf support is not present in version 0.20, but has been readded in the 2.88M version, It is however not tested at the moment.

Possible problems:

Some bioses may not work with the 1.72M floppy without int 13 extender. High capacity floppy substitutes( LS120 ) that support floppies do(/may?) not support extented floppy formats. If you get message "change floppy" during load you have broken floppy(or drive).

Programs used

Mp3 blaster 2.0B17 (compiled with dynamic libc5 and
static pthreads) Home page
 I do not it is optimal becouse mpg123 runs even on 486-100.
		Mp3 blaster uses Splay engine that is not as optimal. Upgrading the
		splay engine might help. 
		Swapping this program to kmp or cmp would help too. I'll test these later. 
		On the other hand mp3blaster is wery nice UI. 

		I have heard that the author is considering swap to other mp3
		library like xmms or mpg123. (He has not, yesterdays news...)

sndconfig v0.58 
		Written by RedHat
	        The heart of Amacdys. Without this program
		Amacdys would not exists. I have created quite 
	        a special version of sndconfig 0.58 for the amacdys v0.20
		
linux 2.2.18 	Home page
		The linux kernel himself.		

modutils 1.2.121    Home Page?

amacdys core        (/bin/my_init) This simple program is written by me.
		    I mounts filesystems starts programs and creates
		    playlists, slows down cd-roms, emulates "sh -c", etc.
		    mount and the "nosh" shell substitute.


kiss                (debug shell in 1.72 and 2.88 versions) Home page
		    somewhere ?

syslinux 1.50	Linux boot from msdos floppy. This does also work with
		El torrito image, unlike kernel own loader.


ash		    (/bin/sh) This is used since some programs call 
		    system(char* ) that requires shell. Kiss does not do.
			
		    Ash is taken away in version 0.20 and the functionality
		    required to use to sh -c is added in amacdys core.
		    It won't be back.


Amacdys is not based on tomsrtbd 
or any other  linux distribution. Tom however has given some small, 
but very valuable technical hints I have used for this project.

History:
1999/10/1	v0.10 First relase.

1999/10/21	v0.11 Changed binaries to dynamic libc5 to save space.
		Also first version with 1.44 floppy. 
		Also first version with full scsi-support 172 and 2.88M)
		versions
		linux version upgraded from 2.2.10 to 2.2.12.

1999/10/28	v0.12 Added simple ps command in debug shell.
		Dropped installation of midi modules, 
		(They are not needed, since this program uses only the
		wave parts of the cards.) 
		The modules themselves still
		exists, since I had some compiling problems.
		Fixed a bug that prevented manually configuring non-pnp
		sound cards.(works now ok?)
		Upgraded ld.so to 1.99 and libc5 to 5.4.46
		(both are minimum requirements of Linux 2.2)

1999/10/11
		Some Modification to this page.

1999/11/25	v0.13
 
		Amacdys is upgraded to Linux 2.2.13.

		Amacdys 0.13 does no longer contain the midi modules, that
		are not used. The gcc used to compile kernel has been
		downgraded to egcs 2.91.66 (aka 1.1.2-12).

		I know I might get things working just trying some
		parameters, but I rather wait the kernel and 2.95.x
		version to stabilize together. Getting things compiled has
		been the most time consuming task so far, so I want to be
		sure I don't have broken gcc.

		I also added support to hard disks (ide and scsi) and
		ext2fs and vfat fs support to 2.88M disk
		and possible 1.72, since it has free space and it 
		has been asked.

		I also added all linux supported scsi adapters to
		2.88M and 1.72M. Previously some drivers did not
		compile ok with the gcc 2.95, so they were not included.
		
		1.44 version got  a little more space so I could
		add some scsi adapters. (But I did not (yet!)) 

		Bad news:

		Sndconfig is not upgraded, so the sound card support
		is no better that the previous.  Manual configuration 
		still bugs. (works ok when started from redhat console!).

		So nothing really fancy has been added.

		0.13 was broken in many ways,so I took it away.
		Sorry for that.(Yes still alpha quality software.)
		
1999/12/03	v0.14
		
		Sndconfig is upgraded to 0.39 (!!) So now this has a lot
		better support for sound cards.

		I have done some ugly things to get the pci library
		compiled libc5.

		SO all PCI-sound card owners please report if this work
		or not. !!!!!

		Manul configuration STILL does not work.

		SndConfig 0.39 and udf filesystem modules take more
		space so, the hard disk drivers (ide-hd, scsi hd,
		ntfs readonly,vfat,ext2) were removed from 1.72
		version.
		
		Udf support has been added. I do not know if the driver
		is present in all the current images.

		In the next version it will be present in all disks.

1999/12/4	v0.15

		Added support for ide-hd spindown,
		cd slowdown to 1x(ide only ??).
		Also sets the ide-cd spindown to 2 minutes to avoid
		Cdrom spinning up and down between tracks.
		This should decrease the amount of noise generated 
		by the computer.

		(note: these features require that your hardware supports
		em. I do not have compatiblity lists.)

		Toshiba 1212 DVD does not support spindowns longer that
		15 seconds. I do know about others. Please report.

		When I get the manual sound card configuration working 
		I may start calling this beta.(!!!)

1999/12/5	Recompiled 0.15 to 0.151

		1.44 no longer supports debug console.
		Neither does it support UDF.
		SCSI-adapters:
		2940,buslogic,53c8xx,tekram DC390
		Does not support HD spindown.

		1.72 supports most scsi adapter,but not raid controllers.
		It also supports debug console.
		
		Supports UDF.
		Supports IDE HD spindown.		

		2.88 Support almost all scsi adapters and
		raid controllers. Supports UDF.Support HD spindown.		
		
		(scsi probes mixes ide controller??)		

		Has kernel support for ext2,vfat and ntfs(read only) for
		both scsi and ide disks.(not used normally, but
		can be used from debug console).

		All disks support all sound cards supported by linux.
		Except:
		PAS,Gallant audio and turtlesound.

		The space for more sound drivers have been taken by
		decreasing the amount of scsi-adapters supported.
		
		NOTE: A BUG prevented it working  with (all?) PCI sound cards.		

1999/12/7	Reason for manual cofig bug was found.
		/dev/tty does not work. 
		Linking that to /dev/tty1
		seems to "solve" that problem.
		(Yes - It is ugly!)


1999/12/8	V0.16 
			
		All the old problems should be fixed now!!!

		The circle has closed. SndConfig 0.39 has now been compiled
		statically against glibc.
		
		I have also modified sndconfig so, that it neither tries
		to load the midi modules nor play the test midi sample.
		This is similar to what we used to have with 
		sndconfig v0.33. But much less customisation
		since redhat added the --quiet flag so I did not
		have to do that.

		The /dev/tty bug that prevented manual sound card config
		from working has been "solved" by linking /dev/tty to 
		/dev/tty1 (kids do not try that at home !).

		I have made massive effort to get things to fit into
		a disk and finally succeeded. I've had to replace the 
		test samples with shorted ones in that smaller disks.
		
		The disks contain same modules that they did in 0.151.
		(except now thing should work.)

		If this works as well as I think . I'll
		change version to 0.9 and start calling this
		software beta quality.

1999/12/14
		Some small fixes on this page. Mostly the mkisofs command line.

1999/12/15	
		Someone broke into my computer and used that
		to crack other computers.

		So the administration disconnected my network
		connection. I was moving this away anyway, but
		now I do not have a network connection. NICE.
		
1999/12/29
		New location. 

	The foreign priority of this site sucs. These pages will
	be extreamly slow anywhere outside Finland (or was it Scandinavia?).

	I'll move these to better location that allows
	me to update them freely. Any ideas??
	(geocities is not one.)

	I have a mirror.,
	but it only has the latest binaries.

2000/02/20	New version v0.17
	Now Sndconfig 0.42 (0.39) and mp3blaster b17 (b11).
	Also Added the SB!live (emu 10k1)-support in the:
	following images:

	Note: Emu10K1-support has not been tested, since I haven't got
	one. Please Fill in those forms. 

2000/02/XX	New version v.18
	Upgraded linux kernel to version 2.2.14
	never released externally...

2000/12/21 	New version v.20

	Upgraded linux kernel to version 2.2.18

	Now with USB keyboard support as well as new
	sound devices. Usb sound is still not supported.

	Sndconfig is now converted to my own wery special
	version. It finally works with libc5.
	Since the sndconfig 0.58 cannot configure autoconfigure 
	soundcard with the --quiet option, i had to make
	my own version.

	It unfortunately no longer supports manual
	configuration. I may add that option in the future,
	but do not hold your breath...

	The new sndconfig also no longer needs neither locales 
	nor newt-library, so you have much better HW support
	in the 1.44 and 1.72M version

	Udf support is dropped for now, but it'll appear
	later in the 2.88 version.

2001/01/02	new version v0.21
	Cd changes supported.
	Test sounds are finally fixed.

	Much less tested that v0.20 so bugs are more likely to
	exists.

2001/01/03	new version v0.211
	first time the player was started it did not create playlist ok,
	this is corrected.
	Udf support back, but yet not tested.

2001/01/09
	Now everything is in sourceforge. Added also some old version
	in the files.

20001/01/20	Amacdys v0.22
	
	o added manual sound configuration in the 2.88 M version
	for non PNP hardware. (untested) 

	it is done with sndconfig-0.58 that is normal in all ways except
	it will neither load midi modules nor try midi test samples.
	This is at the moment Static LIBC6 so it takes 500k uncompressed
	space making it too big for the smaller images.

	o added USB audio support for all versions.
		(not tested, please test it).

	o added C-media sound module that was missing before.
	(untested)
 
	o UDF is now supported by all disk sizes.

	o I added homegrown mount and rwmount commands into the debug shell, 
	becouse	the mount provided by kiss did not work. I am not sure why,
	nor did i really try to find out.
	
	o "noshell" very stupid 12 line shell is included into amacdys_core.
	It is used if no debug shell is included. You can use 
	at least lsmod mem mount commands 
	(NOTE:ls and cd are not supported(!!))
	Ironically the changes below would have allowed usage of the
	kiss even on the 1.44. On the other hand I can always fill
	the disk by adding more scsi drivers in the kernel.

	o deleted ld.so since I found out it was a.out linker. saved over
	100k uncompressed(55k compressed) space. Took libm.so out and 
	linked mp3blaster statically toward it saving 15k uncompressed 
	space for doing without	lib. Mp3blaster only grew about 1.5k
	becouse of the static linking.

	o added mem ls and cat  commands for debug shell. They are meant for the
	noshell,since cat is included in kiss.

 	o fixed a shell bug in the make script that caused some part
	taken away for 1.72 version to be taken away from the 2.88 version
	too.

	The bug and why I hate shell syntax:
	if test a$a=a144   || test a$1=a172 ; then  # wrong, allways true
	if test a$1 = a144 || test a$1 = a172 ; then # ok

	o Small mostly invisible developement in amacdys core.

	o decreased the ram disk size from 5.5M to 3.5M making this
	work better with low memory machines.

	o Upgraded syslinux to version 1.50 to make the booting more
	compatible with all machines.

Author:

Joonas Kekoni jkekoni@cc.hut.fi

How can you help ?

Fill in the reports, they are my primary information source. Please also fill in the forms if this DOES work. Please draw neater looking boot page for me. I am looking for someone to donate me: Pnp isa sound card, SCSI cdrom(1x is ok), USB loudspeakers. (Still hoping ;-) ) I am not looking for programming help at the moment, primarily becouse this preject is too hard to compile, I barely succeed myself... (well ... sometimes...)

Report

Report wether your configuration works or not. (No form yet, please copy, click on my mail address and paste. Then edit and send. )
name(non needed): email(not needed): -------------------- amacdys version:__ amacdys disk size: ( )1.44 ( )1.72 ( )2.88 -------------------- My sound card:__ ( )ISA non PNP ( )ISA PNP ( ) PCI ( ) Do not know. ( ) USB audio adapter/loudspeakers ( )Integrated to motherboard. ( )My sound card works with linux using sndconfig ( )My sound card does not work with linux using andconfig. ( )My sound card works with linux but not with sndconfig. ( )My sound card does not work with linux at all. ( )I do not know. (note: linux means linux with standard driver not the commercial one..) nor does it mean alsa. Autoconfiguration: ( ) My sound card is configured automatically. ( ) My sound card is configured automatically but does not work. ( ) My sound card works if configured manually. ( ) My sound card does not work if configured manually. ( ) I cannot configure my sound card manually. (note: manual config is prent only in version 0.22 and) ---------------- My Hard disk1:__ ( )ide ( )scsi ( )My hd will spin down. ( )My hd will not spin down. ( )I am not sure or do not have 1st hard disk My Hard disk2:__ ( )ide ( )scsi ( )My hd will spin down. ( )My hd will not spin down. ( )I am not sure or do not have 2nd hard disk My Hard disk3: ( )ide ( )scsi ( )My hd will spin down. ( )My hd will not spin down. ( )I am not sure or do not have 3rd hard disk ------------------ controller cdrom is connected:__ If integrated ide use mother board name, and port number. My 1st CD-drive:__ ( )ide ( )scsi ( )IS detected ( )IS not detected ( )My cd makes less noise than usual. ( )My cd will not make less noise than usual. ( )I am not sure or my cd will not normally make noise. or i do not have 1st cdrom. ( ) is Opened automatically if I press 8 ( ) is not ( ) can be opened manually when you have text "replace cd and press enter to continue" ( ) can not My 2nd CD-drive:__ ( )ide ( )scsi ( )IS detected ( )IS not detected ( )My cd makes less noise than usual. ( )My cd will not make less noise than usual. ( )I am not sure or my cd will not normally make noise. or i do not have 2nd cdrom. ( ) is Opened automatically if I press 8 ( ) is not -------------------- amacdys version:__ amacdys disk size: ( )1.44 ( )1.72 ( )2.88 -------------------- BIOS: ( ) My bios has PNP OS crossed ( ) My bios has PNP OS uncrossed(should). ( ) I do not know. -------------------- UDF support (1.72 and 2.88) ( ) Works ( ) does not ( ) not tested / do not know what means. I have the following additional problems: (Plase do not report anything mentioned in the bugs. I know them allready.)
Powered by:
sourceforge Click here