/* Imported from Wayback Machine
Original URL : https://www.retrobrewcomputers.org/doku.php?id=builderpages:mikemac:cb030
Snapshot date: 2025-03-15
Generator : wayback-archiver
*/
Here are the files needed to run Linux on [[builderpages:plasmo:cb030:cb030_rev1|Plasmo's CB3030 board.]]
----
===== March 30,2020 Release =====
This is the initial release of a boot loader for the CB030 based upon Tobster's [[builderpages:tobster:t030|T030 boot loader]] and Linux 4.9.156 using an initrd for the file system. It does support the CF interface but does not contain any networking support.
==== Boot Loader ====
Before you can run use the boot loader, you'll need Updated CPLD from Plasmo's CB030 page. Currently there is a separate binary for each size of SIMM installed in the board:
[[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:mikemac:cb030:r20200330:cb030bios-16m.bin.zip|:builderpages:mikemac:cb030:r20200330:cb030bios-16m.bin.zip]]
[[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:mikemac:cb030:r20200330:cb030bios-32m.bin.zip|:builderpages:mikemac:cb030:r20200330:cb030bios-32m.bin.zip]]
[[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:mikemac:cb030:r20200330:cb030bios-64m.bin.zip|:builderpages:mikemac:cb030:r20200330:cb030bios-64m.bin.zip]]
[[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:mikemac:cb030:r20200330:cb030bios-128m.bin.zip|:builderpages:mikemac:cb030:r20200330:cb030bios-128m.bin.zip]]
The boot loader (via 0.cmd) will load the initrd and linux kernel and launch Linux. There should be a msdos or fat partition (**NOT** a vfat or any extended FAT partition type as the boot loader doesn't currently have support for extended/long fiel names) on the CF with this contents:
Mercury=>ls /mnt/tmp
total 4166
-rwxr-xr-x 1 root root 191 Mar 27 12:28 0.cmd
-rwxr-xr-x 1 root root 1132600 Mar 29 12:00 initrd.gz
-rwxr-xr-x 1 root root 3124952 Mar 30 11:43 linux.bin
Mercury=>
And this is how I have my 4GB CF card (Transcend TS4GCF133)partitioned:
Device Boot Start End Blocks Id System
/dev/sdd1 1 2 16033+ c W95 FAT32 (LBA)
/dev/sdd2 3 11 72292+ 82 Linux swap / Solaris
/dev/sdd3 12 487 3823470 83 Linux
And I formatted the partitions under Linux using these commands:
305 12:45 sudo mkfs.msdos -n "boot" /dev/sdd1
309 12:45 sudo mkswap -L swap /dev/sdd2
312 12:46 sudo mkfs.ext4 -L root /dev/sdd3
During initialization, the boot loader will run the “0.cmd” if it can find it on the first partition of the CF. You can opt out of that by hitting **Enter** during the first 5 seconds or so.
Once you get the Linux login prompt, **root** is the account name and there is no password. You should then be greeted by the shell prompt and a //normal// Linux experience.
==== Linux Images ====
[[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:mikemac:cb030:r20200330:0.cmd.zip|:builderpages:mikemac:cb030:r20200330:0.cmd.zip]]
[[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:mikemac:cb030:r20200330:initrd.gz|:builderpages:mikemac:cb030:r20200330:initrd.gz]]
[[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:mikemac:cb030:r20200330:linux.bin.zip|:builderpages:mikemac:cb030:r20200330:linux.bin.zip]]
==== Sources ====
[[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:mikemac:cb030:r20200330:t030bios.tgz|:builderpages:mikemac:cb030:r20200330:t030bios.tgz]]
[[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:mikemac:cb030:r20200330:linux-4.9.156.tgz|:builderpages:mikemac:cb030:r20200330:linux-4.9.156.tgz]]
To build the boot loader, you'll need a m68k cross compiler along with newlib built for the m68k. I then use this command to build the image:
=>make BOARD=cb030 clean && make BOARD=cb030
To build the Linux kernel, I use these commands:
=>make ARCH=m68k CROSS_COMPILE=m68k-elf- cb030_defconfig
=>make ARCH=m68k CROSS_COMPILE=m68k-elf- -j6 vmlinux && m68k-elf-objcopy -Obinary vmlinux linux.bin
You only have to make cb030_defconfig once. To change the build options, use:
=>make ARCH=m68k CROSS_COMPILE=m68k-elf- menuconfig
=>make ARCH=m68k CROSS_COMPILE=m68k-elf- -j6 vmlinux && m68k-elf-objcopy -Obinary vmlinux linux.bin
----