Subversion Repositories Kolibri OS

Rev

Rev 8131 | Rev 8150 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8131 Rev 8148
Line 823... Line 823...
823
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
823
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
824
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
824
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
825
  end
825
  end
826
end
826
end
Line 827... Line 827...
827
 
827
 
828
-- generate command and dependencies for kolibri.raw
828
-- kolibri.raw
829
input_deps = {"kolibri.img",
829
raw_mbr = "../programs/hd_load/usb_boot/mbr"
-
 
830
raw_bootsector = "../kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.bin"
-
 
831
raw_files = {
830
              "../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32",
832
 {"KOLIBRI.IMG", "kolibri.img"},
831
              "../kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.bin",
833
 {"KORDLDR.F32", "../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32"},
-
 
834
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt.ext_loader"},
832
              "../kernel/trunk/kernel.mnt.ext_loader",
835
 {"CONFIG.INI", "../kernel/trunk/bootloader/extended_primary_loader/config.ini"},
-
 
836
 {"EFI/BOOT/BOOTX64.EFI", "../kernel/trunk/bootloader/uefi4kos/kolibri.efi"},
833
              "../kernel/trunk/bootloader/uefi4kos/kolibri.efi",
837
 {"EFI/BOOT/KOLIBRI.IMG", "kolibri.img"},
834
              "../kernel/trunk/bootloader/uefi4kos/kolibri.ini",
838
 {"EFI/BOOT/KOLIBRI.INI", "../kernel/trunk/bootloader/uefi4kos/kolibri.ini"},
-
 
839
 {"EFI/BOOT/KOLIBRI.KRN", "../kernel/trunk/kolibri.krn"}
-
 
840
}
-
 
841
 
835
              "../kernel/trunk/kolibri.krn",
842
for i,v in ipairs(img_files) do
-
 
843
  raw_file = "KOLIBRIOS/" .. string.upper(v[1])
-
 
844
  local_file = v[2]
-
 
845
  tup.append_table(raw_files, {{raw_file, local_file}})
-
 
846
end
-
 
847
 
-
 
848
tup.append_table(raw_files, extra_files)
836
              "../programs/hd_load/usb_boot/mbr"}
849
 
837
make_raw_command = '^ MKIMG kolibri.raw^ ' -- for tup: don't write full command to logs
850
make_raw_command = '^ MKIMG kolibri.raw^ ' -- for tup: don't write full command to logs
838
make_raw_command = make_raw_command .. "dd if=/dev/zero of=kolibri.raw bs=1MiB count=64 2>&1"
851
make_raw_command = make_raw_command .. "dd if=/dev/zero of=kolibri.raw bs=1MiB count=128 2>&1"
839
make_raw_command = make_raw_command .. " && parted --script kolibri.raw mktable gpt"
852
make_raw_command = make_raw_command .. " && parted --script kolibri.raw mktable gpt"
840
make_raw_command = make_raw_command .. " && parted --script kolibri.raw unit MiB mkpart primary fat32 1 63"
853
make_raw_command = make_raw_command .. " && parted --script kolibri.raw unit MiB mkpart primary fat32 1 127"
841
make_raw_command = make_raw_command .. " && parted --script kolibri.raw set 1 esp on"
854
make_raw_command = make_raw_command .. " && parted --script kolibri.raw set 1 esp on"
842
make_raw_command = make_raw_command .. " && sgdisk kolibri.raw --hybrid 1:EE"
855
make_raw_command = make_raw_command .. " && sgdisk kolibri.raw --hybrid 1:EE"
843
make_raw_command = make_raw_command .. " && dd if=../programs/hd_load/usb_boot/mbr of=kolibri.raw bs=1 count=\\$((0x1b8)) conv=notrunc"
856
make_raw_command = make_raw_command .. " && dd if=" .. raw_mbr .. " of=kolibri.raw bs=1 count=\\$((0x1b8)) conv=notrunc"
844
make_raw_command = make_raw_command .. " && dd if=../programs/hd_load/usb_boot/mbr of=kolibri.raw bs=1 count=1 skip=\\$((0x5a)) seek=\\$((0x1be)) conv=notrunc"
-
 
845
bootsector = "../kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.bin"
857
make_raw_command = make_raw_command .. " && dd if=" .. raw_mbr .. " of=kolibri.raw bs=1 count=1 skip=\\$((0x5a)) seek=\\$((0x1be)) conv=notrunc"
846
make_raw_command = make_raw_command .. " && mformat -i kolibri.raw@@1M -v KOLIBRIOS -T 126976 -h 16 -s 32 -H 2048 -c 1 -F -B " .. bootsector .. " ::"
858
make_raw_command = make_raw_command .. " && mformat -i kolibri.raw@@1M -v KOLIBRIOS -T \\$(((128-1-1)*1024*1024/512)) -h 16 -s 32 -H 2048 -c 1 -F -B " .. raw_bootsector .. " ::"
847
-- BIOS boot
-
 
848
make_raw_command = make_raw_command .. " && mcopy -moi kolibri.raw@@1M ../kernel/trunk/kernel.mnt.ext_loader ::KERNEL.MNT"
859
 
849
make_raw_command = make_raw_command .. " && mcopy -moi kolibri.raw@@1M kolibri.img ::KOLIBRI.IMG"
-
 
850
make_raw_command = make_raw_command .. " && mcopy -moi kolibri.raw@@1M ../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32 ::KORDLDR.F32"
-
 
851
make_raw_command = make_raw_command .. " && mcopy -moi kolibri.raw@@1M ../kernel/trunk/bootloader/extended_primary_loader/config.ini ::CONFIG.INI"
860
-- generate list of directories to be created inside kolibri.raw
852
-- UEFI boot
861
raw_dirs = {}
853
make_raw_command = make_raw_command .. ' && mmd -i kolibri.raw@@1M ::EFI'
862
input_deps = {raw_mbr, raw_bootsector}
854
make_raw_command = make_raw_command .. ' && mmd -i kolibri.raw@@1M ::EFI/BOOT'
-
 
855
make_raw_command = make_raw_command .. " && mcopy -moi kolibri.raw@@1M ../kernel/trunk/bootloader/uefi4kos/kolibri.efi ::EFI/BOOT/BOOTX64.EFI"
-
 
856
make_raw_command = make_raw_command .. " && mcopy -moi kolibri.raw@@1M ../kernel/trunk/bootloader/uefi4kos/kolibri.ini ::EFI/BOOT/KOLIBRI.INI"
863
for i,v in ipairs(raw_files) do
857
make_raw_command = make_raw_command .. " && mcopy -moi kolibri.raw@@1M ../kernel/trunk/kolibri.krn ::EFI/BOOT/KOLIBRI.KRN"
864
  raw_file = v[1]
Line -... Line 865...
-
 
865
  local_file = v[2]
-
 
866
 
-
 
867
  if raw_file ~= "/" then
-
 
868
    slash_pos = 0
-
 
869
    while true do
-
 
870
      slash_pos = string.find(raw_file, '/', slash_pos + 1)
-
 
871
      if not slash_pos then break end
-
 
872
      table.insert(raw_dirs, string.sub(raw_file, 1, slash_pos - 1))
-
 
873
    end
-
 
874
  end
-
 
875
 
-
 
876
  -- tup does not want to see hidden files as dependencies
-
 
877
  if not string.match(local_file, "/%.") then
-
 
878
    table.insert(input_deps, v.group or local_file)
-
 
879
  end
858
make_raw_command = make_raw_command .. " && mcopy -moi kolibri.raw@@1M kolibri.img ::EFI/BOOT/KOLIBRI.IMG"
880
end
-
 
881
 
-
 
882
-- img_files and extra_files have some common dirs with different case
-
 
883
for i,d in ipairs(raw_dirs) do
Line 859... Line 884...
859
 
884
  raw_dirs[i] = string.upper(raw_dirs[i])
860
make_raw_command = make_raw_command .. ' && mmd -i kolibri.raw@@1M ::KOLIBRIOS'
885
end
861
 
886
 
862
-- make folders
887
-- make folders
863
table.sort(img_dirs)
888
table.sort(raw_dirs)
864
for i,v in ipairs(img_dirs) do
889
for i,v in ipairs(raw_dirs) do
865
  if v ~= img_dirs[i-1] then
890
  if v ~= raw_dirs[i-1] then
Line -... Line 891...
-
 
891
    make_raw_command = make_raw_command .. ' && mmd -i kolibri.raw@@1M "::' .. v .. '"'
866
    make_raw_command = make_raw_command .. ' && mmd -i kolibri.raw@@1M "::KOLIBRIOS/' .. v .. '"'
892
  end
867
  end
893
end
868
end
894
 
869
 
895
-- copy files
Line 870... Line 896...
870
for i,v in ipairs(img_files) do
896
for i,v in ipairs(raw_files) do
871
  local_file = v[2]
897
  local_file = v[2]