By Joonas Kekoni
Amacdys is a single disk operating system designed to play mp3 CDs.
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
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
In version 0.20 the project wholly libc5. Sndconfig is no longer
compiled statistically towards glic 2.1 as before.
Mp3 blaster 2.0B17
(compiled with dynamic libc5 and
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
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?
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
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.
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
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
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.
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.
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)
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.
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).
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...)
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
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.
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)
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)
Some Modification to this page.
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!))
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.)
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
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
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.
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.
Does not support HD spindown.
1.72 supports most scsi adapter,but not raid controllers.
It also supports debug console.
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.
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!)
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.
Some small fixes on this page. Mostly the mkisofs command line.
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.
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:
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
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.
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.
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
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.
Joonas Kekoni firstname.lastname@example.org
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 wether your configuration works or not.
(No form yet, please copy, click on my mail address and paste. Then
edit and send. )