Files
TempleOS-Rijn/Misc/DoDistro.CPP
T
2018-09-08 21:47:25 +02:00

51 lines
1.7 KiB
C++

//Make Your own Distro by #include-ing this file.
#define STD_DISTRO_DVD_CFG "Tb\nScale2Mem(2048,0x40000)\nt \n\n\n\n"
U0 MakeMyISO(U8 *out_iso_filename)
{//Does everything with current drive.
//If you have not recompiled $FG,2$Kernel$FG$ and defined your CD/DVD drive, use $LK,"Mount",A="MN:Mount"$.
if (!DrvIsWritable) {
"Drive must be writable. Install on Hard drive, first.\n";
return;
}
DelTree("/Distro");
Del(out_iso_filename);
MkDir("/Distro");
Auto(STD_DISTRO_DVD_CFG);
MakeOSDrvBootInstall(,'T');
Copy("/*","/Distro");
Del("/Distro/" KERNEL_BIN_C);
CopyTree(BOOT_DIR, "/Distro" BOOT_DIR);
CopyTree("/Home", "/Distro/Home");
CopyTree("/Adam", "/Distro/Adam");
CopyTree("/Apps", "/Distro/Apps");
CopyTree("/Compiler", "/Distro/Compiler");
CopyTree("/Demo", "/Distro/Demo");
CopyTree("/Doc", "/Distro/Doc");
CopyTree("/Kernel", "/Distro/Kernel");
CopyTree("/Misc", "/Distro/Misc");
//To save space, optionally delete dictionary.
//Del("/Distro/Adam/AutoComplete/ACDefs.DAT");
CopyTree("/Linux","/Distro/Linux"); //You can leave this out.
MkDir("/Distro/Temp");
MkDir("/Distro/Temp/ScreenShots");
ISO9660ISO(out_iso_filename,"/Distro/*",,"/Distro" BOOT_DIR_KERNEL_BIN_C);
//If you want $LK,"RedSea",A="FI:::/Doc/RedSea.TXT"$ filesystem, use this instead but make it ISO.C.
//RedSeaISO(out_iso_filename,"/Distro","/Distro" BOOT_DIR_KERNEL_BIN_C);
//If CD-ROM use MT_CD instead of MT_DVD.
//DVDImageWrite('T',out_iso_filename,MT_DVD); //Uncomment to burn.
//DelTree("/Distro");
}
MakeMyISO("/MyDistro.ISO");
// Study my account examples $LK,"Cfg Strs",A="FL:::/Demo/AcctExample/TOSCfg.CPP,1"$, $LK,"Update Funs",A="FL:::/Demo/AcctExample/TOSDistro.CPP,1"$.