<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://workspace.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Bootblock_desc</id>
	<title>Bootblock desc - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://workspace.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Bootblock_desc"/>
	<link rel="alternate" type="text/html" href="https://workspace.onionmixer.net/wiki/index.php?title=Bootblock_desc&amp;action=history"/>
	<updated>2026-05-07T17:27:58Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://workspace.onionmixer.net/wiki/index.php?title=Bootblock_desc&amp;diff=353&amp;oldid=prev</id>
		<title>Onionmixer: 내용갱신</title>
		<link rel="alternate" type="text/html" href="https://workspace.onionmixer.net/wiki/index.php?title=Bootblock_desc&amp;diff=353&amp;oldid=prev"/>
		<updated>2013-04-02T05:10:31Z</updated>

		<summary type="html">&lt;p&gt;내용갱신&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;boot label 세팅에 관한 bootblock.h 파일의 참고정보&lt;br /&gt;
&lt;br /&gt;
아래 내용은 bootblock.h 파일의 일부분을 발췌한 내용이다.&lt;br /&gt;
&lt;br /&gt;
한글로 달려있는 주석부분을 잘 참고하도록 한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define NEXT68K_LABEL_MAXPARTITIONS     8       /* number of partitions in next68k_disklabel */&lt;br /&gt;
#define NEXT68K_LABEL_CPULBLLEN         24&lt;br /&gt;
#define NEXT68K_LABEL_MAXDNMLEN         24&lt;br /&gt;
#define NEXT68K_LABEL_MAXTYPLEN         24&lt;br /&gt;
#define NEXT68K_LABEL_MAXBFLEN          24&lt;br /&gt;
#define NEXT68K_LABEL_MAXHNLEN          32&lt;br /&gt;
#define NEXT68K_LABEL_MAXMPTLEN         16&lt;br /&gt;
#define NEXT68K_LABEL_MAXFSTLEN         8&lt;br /&gt;
#define NEXT68K_LABEL_NBAD              1670    /* sized to make label ~= 8KB */&lt;br /&gt;
&lt;br /&gt;
struct next68k_partition {&lt;br /&gt;
        int32_t cp_offset;              /* starting sector */&lt;br /&gt;
        int32_t cp_size;                /* number of sectors in partition */&lt;br /&gt;
        int16_t cp_bsize;               /* block size in bytes */&lt;br /&gt;
        int16_t cp_fsize;               /* filesystem basic fragment size */&lt;br /&gt;
        char    cp_opt;                 /* optimization type: &amp;#039;s&amp;#039;pace/&amp;#039;t&amp;#039;ime */&lt;br /&gt;
        char    cp_pad1;&lt;br /&gt;
        int16_t cp_cpg;                 /* filesystem cylinders per group */&lt;br /&gt;
        int16_t cp_density;             /* bytes per inode density */&lt;br /&gt;
        int8_t  cp_minfree;             /* minfree (%) */&lt;br /&gt;
        int8_t  cp_newfs;               /* run newfs during init */&lt;br /&gt;
        char    cp_mountpt[NEXT68K_LABEL_MAXMPTLEN];&lt;br /&gt;
                                        /* default/standard mount point */&lt;br /&gt;
        int8_t  cp_automnt;             /* auto-mount when inserted */&lt;br /&gt;
        char    cp_type[NEXT68K_LABEL_MAXFSTLEN]; /* file system type name */&lt;br /&gt;
        char    cp_pad2;&lt;br /&gt;
} __packed;&lt;br /&gt;
&lt;br /&gt;
/* The disklabel the way it is on the disk */&lt;br /&gt;
struct next68k_disklabel {&lt;br /&gt;
        int32_t cd_version;             /* label version */&lt;br /&gt;
        int32_t cd_label_blkno;         /* block # of this label */ &amp;lt;- 첫번째 변경할 바이트 offset 0x5 ~ 0x08 ( 실제로는 4 바이트의 끝자리니까 0x8 을 변경해야함)&lt;br /&gt;
        int32_t cd_size;                /* size of media area (sectors) */&lt;br /&gt;
        char    cd_label[NEXT68K_LABEL_CPULBLLEN]; /* disk name (label) */&lt;br /&gt;
        uint32_t cd_flags;              /* flags */&lt;br /&gt;
        uint32_t cd_tag;                /* volume tag */&lt;br /&gt;
        char    cd_name[NEXT68K_LABEL_MAXDNMLEN]; /* drive (hardware) name */&lt;br /&gt;
        char    cd_type[NEXT68K_LABEL_MAXTYPLEN]; /* drive type */&lt;br /&gt;
        int32_t cd_secsize;             /* # of bytes per sector */&lt;br /&gt;
        int32_t cd_ntracks;             /* # of tracks per cylinder */&lt;br /&gt;
        int32_t cd_nsectors;            /* # of data sectors per track */&lt;br /&gt;
        int32_t cd_ncylinders;          /* # of data cylinders per unit */&lt;br /&gt;
        int32_t cd_rpm;                 /* rotational speed */&lt;br /&gt;
        int16_t cd_front;               /* # of sectors in &amp;quot;front porch&amp;quot; */ &amp;lt;- offset 0x70&lt;br /&gt;
        int16_t cd_back;                /* # of sectors in &amp;quot;back porch&amp;quot; */ &amp;lt;- offset 0x72&lt;br /&gt;
        int16_t cd_ngroups;             /* # of alt groups */&lt;br /&gt;
        int16_t cd_ag_size;             /* alt group size (sectors) */&lt;br /&gt;
        int16_t cd_ag_alts;             /* alternate sectors / alt group */&lt;br /&gt;
        int16_t cd_ag_off;              /* sector offset to first alternate */&lt;br /&gt;
        int32_t cd_boot_blkno[2];       /* boot program locations */ &amp;lt;- 두번째변경할바이트 offset 0x7c&lt;br /&gt;
        char    cd_kernel[NEXT68K_LABEL_MAXBFLEN]; /* default kernel name */ &amp;lt;- 세번째변경할바이트 offset 0x84&lt;br /&gt;
        char    cd_hostname[NEXT68K_LABEL_MAXHNLEN];&lt;br /&gt;
                                /* host name (usu. where disk was labeled) */&lt;br /&gt;
        char    cd_rootpartition;       /* root partition letter e.g. &amp;#039;a&amp;#039; */&lt;br /&gt;
        char    cd_rwpartition;         /* r/w partition letter e.g. &amp;#039;b&amp;#039; */&lt;br /&gt;
        struct next68k_partition cd_partitions[NEXT68K_LABEL_MAXPARTITIONS];&lt;br /&gt;
&lt;br /&gt;
        union {&lt;br /&gt;
                uint16_t CD_v3_checksum; /* label version 3 checksum */ &amp;lt;- 네번째 변경바이트 offset 0x22e(위의 cd_version 에 따라 dlV3 인경우)&lt;br /&gt;
                int32_t CD_bad[NEXT68K_LABEL_NBAD];&lt;br /&gt;
                                        /* block number that is bad */&lt;br /&gt;
        } cd_un;&lt;br /&gt;
        uint16_t cd_checksum;           /* label version 1 or 2 checksum */ &amp;lt;- 네번째 변경바이트 offset 0x1c46 (위의 cd_version 에 따라 NeXT 또는 dlV2 인경우)&lt;br /&gt;
} __packed;&lt;br /&gt;
&lt;br /&gt;
#define NEXT68K_LABEL_cd_checksum       cd_checksum&lt;br /&gt;
#define NEXT68K_LABEL_cd_v3_checksum    cd_un.CD_v3_checksum&lt;br /&gt;
#define NEXT68K_LABEL_cd_bad            cd_un.CD_bad&lt;br /&gt;
&lt;br /&gt;
#define NEXT68K_LABEL_SECTOR            0       /* sector containing label */&lt;br /&gt;
#define NEXT68K_LABEL_OFFSET            0       /* offset of label in sector */&lt;br /&gt;
#define NEXT68K_LABEL_SIZE              8192    /* size of label */&lt;br /&gt;
#define NEXT68K_LABEL_CD_V1             0x4e655854 /* version #1: &amp;quot;NeXT&amp;quot; */&lt;br /&gt;
#define NEXT68K_LABEL_CD_V2             0x646c5632 /* version #2: &amp;quot;dlV2&amp;quot; */&lt;br /&gt;
#define NEXT68K_LABEL_CD_V3             0x646c5633 /* version #3: &amp;quot;dlV3&amp;quot; */&lt;br /&gt;
#define NEXT68K_LABEL_DEFAULTFRONTPORCH (160 * 2)&lt;br /&gt;
#define NEXT68K_LABEL_DEFAULTBOOT0_1    (32 * 2)&lt;br /&gt;
#define NEXT68K_LABEL_DEFAULTBOOT0_2    (96 * 2)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>